安装Nginx

准备工作

  • 服务端放行端口
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload

安装Nginx

1.安装依赖

# 安装gcc环境
yum install -y gcc-c++
# 安装PCRE库,用于解析正则表达式
yum install -y pcre pcre-devel
# 安装zlib压缩和解压缩依赖
yum install -y zlib zlib-devel
# 安装SSL安全的加密的套接字协议层,用于HTTP安全传输,也就是https
yum install -y openssl openssl-devel
yum install -y ncurses-devel

2.下载源码安装包

去官网 http://nginx.org/ 下载对应的nginx包,推荐使用稳定版本,以处以1.22.1为例

# 下载源码包
curl -o nginx-1.22.1.tar.gz http://nginx.org/download/nginx-1.22.1.tar.gz
# 编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错
mkdir -p /var/temp/nginx
# 解压
tar -zxvf nginx-1.22.1.tar.gz
# 编译
cd nginx-1.22.1
# 在nginx目录,输入如下命令进行配置,目的是为了创建makefile文件
./configure \
    --prefix=/usr/local/nginx \
    --pid-path=/var/run/nginx/nginx.pid \
    --lock-path=/var/lock/nginx.lock \
    --error-log-path=/var/log/nginx/error.log \
    --http-log-path=/var/log/nginx/access.log \
    --with-http_gzip_static_module \
    --http-client-body-temp-path=/var/temp/nginx/client \
    --http-proxy-temp-path=/var/temp/nginx/proxy \
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
    --http-scgi-temp-path=/var/temp/nginx/scgi \
    --with-http_ssl_module

注:\ 代表在命令行中换行,用于提高可读性配置命令:

命令 解释
–prefix 指定nginx安装目录
–pid-path 指向nginx的pid
–lock-path 锁定安装文件,防止被恶意算改或误操作
–error-log-path 错误日志
–http-log-path 访问日志
–with-http_gzip_static_module 启用gzip模块,在线实时压缩输出数据流
–http-client-body-temp-path 设定客户端请求的临时目录
–http-proxy-temp-path 设定http代理临时目录
–http-fastcgi-temp-path 设定fastcgil临时目录
–http-uwsgi-temp-path 设定uwsgi临时目录
–http-scgi-temp-path 设定scgi临时目录
–with-http_ssl_module 启用ssl证书提供https访问

make编译&安装

make & make install

3.启动服务

cat >> /usr/lib/systemd/system/nginx.service << END
[Unit]
Description=Nginx Service
After=network.target

[Service]
Type=forking
ExecStartPre=/usr/bin/rm -f /var/run/nginx/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
END

systemctl daemon-reload
systemctl enable --now nginx

###

文档更新时间: 2024-04-25 16:35   作者:姚连洲