设置
设置 vim 代码显示
cp -r ./contrib/vim/* /usr/share/vim/vimfiles/
or
cp -r ./contrib/vim/* ~/.vim/
编译时设置
./configure —help | more
可以查看编译设置
命令行
选项 | 含义 |
---|---|
-?,-h | this help 帮助 |
-v | show version and exit 显示 nginx 版本信息 |
-V | show version and configure options then exit 显示 nginx 版本和 configure 配置时的信息 |
-t | test configuration and exit 测试配置文件 |
-T | test configuration, dump it and exit 测试配置文件,并且显示内容 |
-q | suppress non-error messages during configuration testing |
-s signal | send signal to a master process: stop, quit, reopen, reload 发送信号 stop 立刻停止服务 quit 优雅的停止服务 reload 重新加载配置文件 reopen 重新开始记录日志文件 |
-p prefix | set prefix path (default: /usr/local/nginx/) 指定运行目录,默认是编译时 —prefix设置的目录 |
-c filename | set configuration file (default: conf/nginx.conf) 使用指定的配置文件,默认是编译时 —prefix设置的目录下的 conf 目录下的配置文件 |
-g directives | set global directives out of configuration file 指定配置指令 |
流程
不停机生效新的配置
reload
或者直接发送SIGHUP
信号量
- 向 master 进程发送 SIGHUP 信号
- master 进程检查配置语法
- master 进程根据配置文件,打开/关闭监听端口(如果有新增或者关闭端口)
- master 进程使用新的配置文件,启动新的 worker 子进程
- master 进行向老的 worker 子进程发送 SIGQUIT 信号
- 旧的 worker 子进程关闭监听句柄,处理完当前连接后关闭进程
nginx 版本热升级
- 将旧的 nginx 文件替换为新的 nginx 文件
- 要求编译时的设置,比如路径等相同
- 向 master 进程发送 SIGUSER2 信号
- master 进程修改 pid 文件,加后缀
.oldbin
- pid 文件为
logs/nginx.pid
- pid 文件为
- master 进程用新 nginx 文件启动新 master 进程
- 新老 master 共存,各自的 worker 同时处理用户请求
- 向旧的 master 进程发送 SIGWINCH 信号,旧的 worker 子进程会退出
- 如果新版本有问题,需要回滚
- 向旧的 master 发送 SIGHUP
- 向新的 master 发送 SIGQUIT