编译安装Nginx
创建用户
1 2
| groupadd --system nginx useradd --system -g nginx -d /usr/lib/nginx -s /sbin/nologin -c "Nginx web server" nginx
|
下载Nginx
1
| wget http://nginx.org/download/nginx-1.15.9.tar.gz
|
解决依赖
1
| yum -y install pcre-devel openssl-devel gcc make
|
解压
1 2
| tar zxf nginx-1.15.9.tar.gz cd nginx-1.15.9
|
生成配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_gzip_static_module \ --with-http_flv_module \ --with-http_stub_status_module \ --with-http_v2_module \ --with-http_ssl_module \ --with-file-aio \ --with-http_realip_module \ --with-stream
|
编译安装
自启动
创建nginx.service
文件并插入以下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| cat <<EOF> /usr/lib/systemd/system/nginx.service [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network.target remote-fs.target nss-lookup.target [Service] Type=forking WorkingDirectory=/usr/local/nginx ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target EOF
|
更新Nginx
包括升级Nginx版本或者重新编译添加模块
下载Nginx
1
| wget http://nginx.org/download/nginx-1.16.0.tar.gz
|
解决依赖
1
| yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ automake autoconf libtool make
|
解压
1
| tar zxf nginx-1.14.0.tar.gz && cd nginx-1.16.0
|
重新配置
比如重新编译添加支持fastdfs的模块
1 2 3 4 5 6 7 8 9 10 11 12
| ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_gzip_static_module \ --with-http_flv_module \ --with-http_stub_status_module \ --with-http_v2_module \ --with-http_ssl_module \ --with-file-aio \ --with-http_realip_module \ --add-module=/root/fastdfs-nginx-module/src
|
重新编译
注意:不进行make install操作
替换新的Nginx
make完之后在objs目录下就多了个nginx,这个就是新版本的程序了
备份旧的Nginx程序
1
| cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
|
把新的Nginx程序覆盖旧的
1
| cp objs/nginx /usr/local/nginx/sbin/nginx
|
如果提示cp: cannot create regular file ‘/usr/local/nginx/sbin/nginx’: Text file busy
建议使用如下语句 cp
1
| cp -rfp objs/nginx /usr/local/nginx/sbin/nginx
|
测试新的Nginx程序是否正确
1
| /usr/local/nginx/sbin/nginx -t
|

平滑重启Nginx
1
| /usr/local/nginx/sbin/nginx -s reload
|
查看Nginx版本极其编译参数
1
| /usr/local/nginx/sbin/nginx -V
|