最近在学习nginx,从基础学起,记录起来
默认情况下,Nginx安装在目录/usr/local/nginx/中,二进制文件路径为/usr/local/nginx/sbin/nginx,配置文件在/usr/local/nginx/conf/nginx.conf
- 默认启动
/usr/local/nginx/sbin/nginx
读取默认路径的配置文件
- 指定配置文件的启动方式
/usr/local/nginx/sbin/nginx -c /tmp/nginx.conf
- 另指定安装目录的启动方式
/usr/local/nginx/sbin/nginx -p /usr/local/nginx
- 另行指定全局配置项的启动方式
/usr/local/nginx/sbin/nginx -g "pid /var/nginx/test.pid"
把pid文件写到/var/nginx/test.pid中
要求不能与nginx.conf中的配置项冲突
执行其他命令的时候,也要把-g参数带上,否则可能出现配置项不匹配的情形
- 测试配置信息是否有错误
/usr/local/nginx/sbin/nginx -t
执行结果中显示配置是否正确
- 在测试配置阶段不输出信息
/usr/local/nginx/sbin/nginx -t -q
不把error级别以下的信息输出到屏幕
- 显示版本信息
/usr/local/nginx/sbin/nginx -v
- 显示编译阶段的参数
/usr/local/nginx/sbin/nginx -V
- 快速停止服务
/usr/local/nginx/sbin/nginx -s stop
强制停止服务,想master进程发送TERM信号
- “优雅”地停止服务
/usr/local/nginx/sbin/nginx -s quit
区别:stop时,worker进程与master进程收到信号后立刻跳出循环,退出进程;quit时,首先关闭监听端口,停止接收新的连接,然后把当前正在处理的连接全部处理完,最后退出进程。
- 使运行中的nginx重读配置项并生效
/usr/local/nginx/sbin/nginx -s reload
先检查新的配置项是否正确,然后以quit方式关闭,再重启
- 日志文件回滚
/usr/local/nginx/sbin/nginx -s reopen
重新打开日志文件
- 平滑升级Nginx
升级步骤:
(1)kill -s SIGUSER2 <nginx master pid>
运行中的nginx会将pid文件重命名,在nginx.pid重命名为nginx.pid.oldbin
(2)启动新版本的nginx
(3)通过kill命令向旧版本的master进程发送SIGQUIT信号
- 显示命令行帮助
/usr/local/nginx/sbin/nginx -h