/// 可通过Nginx官网查找最新版本源码:http://nginx.org/en/download.html
下载nginx源码
代码语言:javascript复制wget http://nginx.org/download/nginx-1.21.4.tar.gz
解压
代码语言:javascript复制tar zxvf nginx-1.21.4.tar.gz
进入目录
代码语言:javascript复制cd nginx-1.21.4
安装编译所需组件
代码语言:javascript复制yum -y install gcc gcc-c pcre-devel openssl openssl-devel
执行编译选项
代码语言:javascript复制./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre
?隐藏 header server 信息,如无需可忽略此步?
代码语言:javascript复制vim /src/http/ngx_http_header_filter_module.c
进入编辑器后找到
vim命令参考:i 进入编辑模式 esc 退出编辑模式 :wq 写入并退出
删除双引号中内容保存退出
? 至此隐藏 Header Server 结束 ?
编译安装设置相应参数
代码语言:javascript复制make & make install
useradd -s /sbin/nologin -M nginx
id nginx
mkdir -pv /var/tmp/nginx/client
设置开机启动
代码语言:javascript复制vim /usr/lib/systemd/system/nginx.service
把下面内容写入文件(vim命令参考:i 进入编辑模式 esc 退出编辑模式 :wq 写入并退出)
代码语言:javascript复制[Unit]
Description=nginx
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
相关设置,一定要执行,否则可能出现重启后无法自启动
代码语言:javascript复制mkdir /var/run/nginx/
mkdir /usr/local/nginx/logs
vim /usr/local/nginx/conf/nginx.conf
找到 #pid logs/nginx.pid 下面增加一条 (如果这行没有被注释,在开头加下#)
代码语言:javascript复制pid /usr/local/nginx/logs/nginx.pid;
启动服务并添加开机启动
代码语言:javascript复制sudo systemctl start nginx.service
sudo systemctl enable nginx.service
浏览器访问
代码语言:javascript复制http://服务器IP/
至此已完成。
/// 记得设置服务器端口号(云服务器安全组 TCP 80和443 端口,轻量防火墙 TCP 80和443 端口)