应用3A服务器搭建的centos零碎装置nginx
教程在我的往期博客中
1,nginx 指定配置文件

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
1
-c 参数 指定了要加载的nginx配置文件门路
1,从容进行Nginx:
kill -QUIT 主过程号
2,疾速进行Nginx:
kill -TERM 主过程号

3,强制进行Nginx:
kill -9 主过程号

2,应用信号治理nginx 的master、worker过程
立即进行服务:
nginx -s stop 或者
kill -SIGTERM $(cat /data/services/nginx/logs/nginx.pid)

优雅进行服务:
nginx -s quit 或者
kill -QUIT $(cat /data/services/nginx/logs/nginx.pid)

重载配置文件(master不退出,从新加载worker过程):
nginx -s reload
kill -SIGHUP $(cat /data/services/nginx/logs/nginx.pid)

从新开始记录日志文件:
nginx -s reopen 或者
kill -USR1 $(cat /data/services/nginx/logs/nginx.pid)

热降级nginx服务(次要是二进制nginx文件):
kill -USR2 old_master_process #将新的申请适度到新的master过程中去
kill -WINCH old_master_process #优雅敞开所有work过程

nginx reload流程
(1)向 master 过程发送 HUP 信号(reload命令)
(2)master 过程校验配置文件语法是否正确
(3)master 过程关上新的监听端口
(4)master 过程用新配置启动新的 worker 子过程
(5)master 过程向老 worker 子过程发送 QUIT 信号
(6)老 worker 过程敞开监听句柄,解决完以后连贯后完结过程

nginx热降级流程
(1)将旧 nginx 文件换成新 nginx 文件
(2)向 master 过程发送 USR2 信号
(3)master 过程批改 pid 文件名,加后缀 .oldbin
(4)master 过程用新 nginx 文件启动新 master 过程
(5)向老 master 过程发送 WINCH 信号,敞开老 worker
(6)回滚:向老 master 发送 HUP,向新 master 发送 QUIT
3,当用systemctl 启动服务时,报start-pre时,能够思考下/var/tmp是否存在
nginx.service failed to run ‘start-pre’

启动脚本:

cat >> nginx.service << EOF
[Unit]
Description=nginx web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking
User=root
Group=root
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
KillSignal=SIGQUIT
PrivateTmp=true