安装
sudo yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel sudo vim /etc/sysctl.conf fs.file-max = 999999 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_keepalive_time = 600 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.ip_local_port_range = 1024 61000 net.ipv4.tcp_rmem = 4096 32768 262142 net.ipv4.tcp_wmem = 4096 32768 262142 net.core.netdev_max_backlog = 8096 net.core.rmem_default = 262144 net.core.wmem_default = 262144 net.core.rmem_max = 2097152 net.core.wmem_max = 2097152 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 1024 sudo sysctl -p tax xvf nginx-1.0.15.tar.gz cd nginx-1.0.15 sudo ./configure sudo make sudo make install
常用命令
./configure --help 显示配置选项
/usr/local/nginx/sbin/nginx 默认启动方式直接执行 Nginx 二进制程序。
/usr/local/nginx/sbin/nginx -s stop 快速地停止服务 也可以 kill -s SIGQUIT <nginx master pid>
/usr/local/nginx/sbin/nginx -s quit nginx会处理完请求然后停止服务
kill -s SIGWINCH <nginx worker pid> 让某个worker进程处理完请求退出
/usr/local/nginx/sbin/nginx -s reload 让运行中的nginx重读配置文件 也可以 kill -s SIGHUP <nginx master pid>
/usr/local/nginx/sbin/nginx -s reopen 日志文件回滚,先mv access.log newname.log 然后 /usr/local/nginx/sbin/nginx -s reopen 或者 kill -s SIGUSR1 <nginx master pid>
平滑升级 Nginx
当 Nginx 服务升级到新的版本时, 必须要将旧的二进制文件 Nginx 替换掉, 通常情况下
这是需要重启服务的,但 Nginx 支持不重启服务来完成新版本的平滑升级。
升级时包括以下步骤:
1) 通知正在运行的旧版本 Nginx 准备升级。 通过向 master 进程发送 USR2 信号可达到
目的。例如:
kill -s SIGUSR2 <nginx master pid>
这时, 运行中的 Nginx 会将 pid 文件重命名, 如将 /usr/local/nginx/logs/nginx.pid 重命名
为 /usr/local/nginx/logs/nginx.pid.oldbin,这样新的 Nginx 才有可能启动成功。
2) 启动新版本的 Nginx, 可以使用以上介绍过的任意一种启动方法。 这时通过 ps 命令
可以发现新旧版本的 Nginx 在同时运行。
3) 通过 kill 命令向旧版本的 master 进程发送 SIGQUIT 信号, 以“ 优雅 ” 的方式关闭旧
版本的 Nginx。随后将只有新版本的 Nginx 服务运行,此时平滑升级完毕。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/2480.html