目录

 

Nginx的优缺点

Nginx的组成部分

Nginx的配置语法

Nginx的命令

热部署


Nginx的优缺点

Nginx主要有5个优点

  • 高并发,高性能:从数据上看32核64G的服务器可以轻松达到数千万的并发链接
  • 可扩展性好:模块化设计稳定,导致第三方模块生态圈非常的丰富
  • 高可靠性:可以持续不间断的在Web服务器上运行数年,
  • 热部署:在不停止服务的情况下,升级Nginx
  • Nginx 开源且免费,在特定情况下可以去修改Nginx的源代码

缺点就是开发Nginx模块所需要的技术要求比较高

Nginx的组成部分

它有4个主要的组成部分

  • Nginx二进制可执行文件:这是由各模块源码编译出来的一个文件
  • Nginx.conf的配置文件:它可以控制Nginx的行为
  • access.log访问日志:记录每一条http请求
  • error.log错误日志:定位问题

用汽车来类比,它的二进制可执行文件就相当于一个汽车本体,配置文件就相当于驾驶员控制汽车的行为,它的access.log访问日志就相当于一个GPS轨迹记录,用来记录汽车行驶过的轨迹,最后error.log就相当于汽车的黑匣子,当发生事故的时候,可以通过黑匣子来判断这是汽车本身故障还是驾驶员的失误。

Nginx的配置语法

  • 配置文件由指令和指令块构成
  • 每条指令以 ; 结尾,指令与参数之间用空格隔开
  • 指令块以{}将多条指令组织在一起
  • include语句允许组合多个配置文件以提升可维护性
  • 使用 # 添加注释
  • 使用$使用变量
  • 部分指令参数支持正则
  • 配置参数:
  • 时间单位有ms,s,m,h,d,w,M,y。它们分别代表着毫秒、秒、分钟、小时、天、周、月、年。
  • 空间单位:不加表示字节、加了k/K表示千字节、加了m/M表示兆字节、加了g/G表示G字节。

http配置的指令块:http、server、location、upstream。

  • http这个模块表示所有的指令都由Http去解析,
  • upstream这个模块表示 当我们与其他服务进行交互的时候可以定义一个upstream
  • server对应一个域名
  • location 表示URL表达式

Nginx的命令

  • -? -h 帮助
  • -c 使用指定的配置文件
  • -g 指定配置指令
  • -p 制定运行目录
  • -s 发送信号
    • 立刻停止服务 stop
    • 优雅的停止服务 quit
    • 重载配置文件 reload
    • 重新开始记录日志文件 reopen
  • -t -T 测试配置文件是否有语法错误
  • -v -V 打印Nginx的版本信息、编译信息

热部署

当Nginx在运行的时候,如果要升级Nginx的话。需要先把旧的备份

cp nginx nginx.old

然后把已经编译好的最新版本的Nginx的二进制文件 copy到目录中,替换掉正在运行的Nginx文件

向Nginx进程发送USR2信号

kill -USR2 28109

接下来再查看,发现新老的master与worker都在运行

再向旧的Nginx进程发送

kill -WINCH 28109

表示优雅的关闭你的所有worker进程

这时候老的master不会自动被删除的,会留在这里,让你可以做版本回退。

日志切割

../sbin/nginx/ -s reopen