nginx配置文件语法配置规则、热部署、日志切割

中文帮助文档

nginx配置语法

  • 配置文件由指令与指令块构成
    在这里插入图片描述
  • 每条指令以“;”分号结尾,指令与参数间以空格符号分隔 在这里插入图片描述
  • 指令块以{}大括号将多条指令组织到一起
    • 指令块可以包含指令块
    • 指令块可以有名字,也可以无名字,有无名字是由提供指令的nginx模块来决定的
      在这里插入图片描述
  • include语句允许组合多个配置文件以提升可维护性
    在这里插入图片描述 在这里插入图片描述
  • 只用#符号添加注释,提高可读性
    在这里插入图片描述
  • 使用$符号使用变量
    • 变量一般是其他模块提供的
      在这里插入图片描述
  • 部分指令的参数支持正则表达式
    在这里插入图片描述

配置参数单位

  • ms:毫秒
  • s:秒
  • m:分钟
  • h:小时
  • d:天
  • w:周
  • m:月
  • y:年

空间单位

  • 不填写默认:bytes,字节
  • k/K:kilobytes,千字节
  • m/M:megabytes,兆字节
  • g/G:gigabytes,g字节

http配置的指令块

  • http:{}内所有的指令都是由http模块来解析,执行的
  • server:对应一个域名或一组域名
  • location:url表达式
  • upstream:表示上游服务,当nginx与tomcat等企业内网其他服务交互的时候可以定义一个upstream

nginx命令行

格式:nginx -s reload

  • 帮助:-? -h

  • 使用指定的配置文件:-c

  • 是定配置指令:-g

  • 指定运行目录:-p

  • 发送信号:-s

    • 立刻停止服务:stop
    • 优雅的停止服务:quit
    • 重载配置文件(重启):reload(quit形式)
      在这里插入图片描述
    • 重新开始记录日志文件:reopen
  • 测试配置文件是否有语法错误:-t或-T

  • 打印nginx的版本信息、编译信息等:-v 或 -V

热部署

  • 先备份当前版本nginx二进制文件
  • 给nginx master发送信号:kill -USR2 2635(进程)
    在这里插入图片描述
  • nginx会新启动一个master进程和worker进程,平滑的切换
  • 新的请求会进入新的进程中
  • 此时可以关闭老的worker进程 kill -WINCH 2635
  • 此时老的worker会退出,但是老的master还在,可以证明,nginx已经升级完成
  • 如果新版本的nginx有问题想要退回老版本的nginx上,可以给老版本的nginx进程发送reload信号,重新启动
  • 所以老版本的master进程是不会退出的,允许版本回退

日志切割

在这里插入图片描述

  • 修改原日志名称
    在这里插入图片描述
  • 执行reopen命令
    在这里插入图片描述
    • 实际这种方式并不可取
    • 正常情况定期会执行一次日志切割,可以写一个bash脚本定期执行切割
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值