-
Nginx配置语法
每个模块都有自己的配置规则,所有模块遵循类似的配置语法。
nginx配置文件,是一个ask文本文件。
-
配置文件由指令与指令块构成
-
每条指令以;
分号
结尾,指令与参数间以空格
符号分隔此处的空格可以是一个或多个。
参数也可以有多个。
-
指令块以{}
大括号
将多条指令组织在一起指令块可以嵌套。
-
include语句允许组合多个配置文件以提升可维护性
-
使用#符号添加注释,提高可读性
-
使用$符号使用变量
这里的变量是Nginx框架提供的,而非模块提供的。
-
部分指令的参数支持正则表达式
-
配置参数的时间
时间、空间可以有多种单位,并不要求全部统一。
-
基本概念
-
配置项名
-
配置项值
-
块配置项
- 块配置项名
- 大括号
-
常用命令行
命令行使用格式与Linux类似,
命令+选项+参数
- -? -h帮助
- -c 使用指定的配置文件
- -g 指定配置指令
- -p 指定运行目录
- -s 发送信号
- stop
- quit
- reload
- reopen
- -t -T测试配置文件是否有语法错误
- -v -V打印nginx的版本信息、编译信息
-
命令行使用之重载配置文件
修改配置文件中的一些值,之后执行:
./nginx -s reload
就可以在不停止对客户的服务基础上应用新的配置。
-
命令行使用之热部署
-
备份原来的nginx二进制文件
-
将最新的nginx二进制文件复制过来
-
向
master
发送USR2
信号,告知要进行热部署版本升级kill -USR2 [master进程号]
之后就会用最新的
nginx
启动一个新的master
进程;新的
master
进程会启动新的worker
进程;新的请求会进入到新的
worker
;旧的
worker
会停止监听,以此实现平滑过渡。 -
向旧的
master
发送WINCH
信号,使其优雅的关闭worker
进程kill -WINCH [master进程号]
旧的master
进程还在,所有的请求都会进入新的master
及新的worker
,但是有可能有需求再用旧的master
处理,就可以用reload
命令重启旧的worker
,以实现版本回退。
-
-
命令行使用之切割日志文件
在
crontab
中执行一个脚本:-
cp file.log newname
复制
log
,给一个新名字 -
./nginx -s reopen
重写
log
-
-
Reference
Nginx必备知识3:配置文件通用语法及常用命令行
最新推荐文章于 2023-12-04 09:48:21 发布