Nginx必备知识3:配置文件通用语法及常用命令行

  • Nginx配置语法

    每个模块都有自己的配置规则,所有模块遵循类似的配置语法。

    nginx配置文件,是一个ask文本文件。

  • 配置文件由指令与指令块构成
  • 每条指令以;分号结尾,指令与参数间以空格符号分隔

    此处的空格可以是一个或多个。

    参数也可以有多个。

  • 指令块以{}大括号将多条指令组织在一起

    指令块可以嵌套。

  • include语句允许组合多个配置文件以提升可维护性
  • 使用#符号添加注释,提高可读性
  • 使用$符号使用变量

    这里的变量是Nginx框架提供的,而非模块提供的。

  • 部分指令的参数支持正则表达式
  • 配置参数的时间

    时间、空间可以有多种单位,并不要求全部统一。

  • 基本概念

  • 配置项名

  • 配置项值

  • 块配置项

    • 块配置项名
    • 大括号
  • 常用命令行

    命令行使用格式与Linux类似, 命令+选项+参数

    • -? -h帮助
    • -c 使用指定的配置文件
    • -g 指定配置指令
    • -p 指定运行目录
    • -s 发送信号
      • stop
      • quit
      • reload
      • reopen
    • -t -T测试配置文件是否有语法错误
    • -v -V打印nginx的版本信息、编译信息
  • 命令行使用之重载配置文件

    修改配置文件中的一些值,之后执行:

    ./nginx -s reload

    就可以在不停止对客户的服务基础上应用新的配置。

  • 命令行使用之热部署
    1. 备份原来的nginx二进制文件

    2. 将最新的nginx二进制文件复制过来

    3. master发送USR2信号,告知要进行热部署版本升级

      kill -USR2 [master进程号]

      之后就会用最新的nginx启动一个新的master进程;

      新的master进程会启动新的worker进程;

      新的请求会进入到新的worker

      旧的worker会停止监听,以此实现平滑过渡。

    4. 向旧的master发送WINCH信号,使其优雅的关闭worker进程

      kill -WINCH [master进程号]

      旧的master进程还在,所有的请求都会进入新的master新的worker,但是有可能有需求再用旧的master处理,就可以用reload命令重启旧的worker,以实现版本回退。

  • 命令行使用之切割日志文件

    crontab中执行一个脚本:

    1. cp file.log newname

      复制log,给一个新名字

    2. ./nginx -s reopen

      重写log

  • Reference

  1. Nginx核心知识100讲:9-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值