1.命令行
1.格式:nginx -s reload
2.帮助: -h或者-?
3.使用指定的配置文件:-c(为Nginx指定一个配置文件,来代替缺省的)
4.指定配置指令:-g(在配置文件中设置全局指令)
5.指定运行目录:-p(设置nginx路径前缀,比如一个存放着服务器文件的目录(默认是/usr/local/nginx))
6.发送信号:-s(向主进程发送信号)
(1)stop -- 快速关闭(强制关闭,比较粗暴
(2)quit -- 正常关闭
(3)reload -- 重新加载配置,使用新配置后启动新的工作进程(Worker),正常退出旧的工作进程。
(4)reopen -- 重新打开日志文件
7.测试配置文件是否有语法错误,不运行:-t(帮助Nginx检查配置的语法是否正确,然后尝试打开配置中引用的文件)
8.测试配置文件是否有语法错误:-T(-T与相同-t,但另外将配置文件转储到标准输出(版本1.9.2+),所谓标准输出,即是输出到屏幕上)
8.显示Nginx的版本信息:-v
9.显示Nginx的版本,编译器版本和配置参数:-V
2.命令行演示-重载配置文件
重载配置文件,修改nginx中的一些值,比如讲tcp_nopush这个开关打开,当修改完配置文件之后,在nginx不停止对客户的服务的情况下,
可以直接执行nginx -s reload,这样nginx就可以直接使用tcp_nopush on的这个配置项.
nginx -s reload没有任何错误,表示成功了.
3.命令行演示-热部署
1.用新文件替换老文件(热部署时原来的nginx正在工作,用-f强制替换);
2.向原来nginx的主进程发送USR2的信号,通知它我们要开始热部署了;
3.向原来nginx的主进程发送WINCH的信号,通知它关闭自己的子进程;
此步骤中原来的主进程自己不会关闭,为了防止需要回退.
此步骤中如果我们确认升级无误了,可以关掉原来的主进程.
4.日志切割
1.备份文件,并重载;
2.查看是否完成切割.
注意:生产情况一般写脚本定时来做日志切割的动作.
kill -$USR1 $(cat /usr/local/nginx/logs/nginx.pid)与reopen效果一样,USR1被定义成重新打开日志文件的信号
我的这里要查一下nobody这个权限的问题.