天天看点

【Nginx探究系列一】Nginx初学指南(初学者篇)

参考Nginx官方文档

本文将通过介绍一些基础且常用Nginx命令及结合官网实例进行简单讲解,适用于初学者阅读。并且假定读者已经在服务器上安装部署了Nginx服务(安装部署请参考:Nginx安装部署介绍),更高进阶使用者请出门右转。

本指南将从如何启动,停止Nginx服务及如何重新加载Nginx配置为切入点,讲解Nginx配置文件结构。并介绍如何设置Nginx静态内容服务、动态代理服务及连接公共网关接口(FastCGI)。

常用基础命令

熟练掌握基本操作命令,可以减少很多时间的浪费(虽然针对这些基础命令说这句话显得很牵强)

启动命令

windows操作系统环境下(在dos命令板,进入到nginx所在目录执行),

> start nginx 或 nginx.exe
           

linux操作系统环境下(一下仅为示例,具体路径以实际为准),

$ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
           

调用控制命令

对于启动或运行可执行文件,一旦Nginx启动,即可通过调用 -s + 参数的形式进行控制,具体Nginx命令格式,如下:

$ nginx  -s  signal 

signal实例,如下所示

  • stop — 快速停止Nginx服务
  • quit — 优雅的停止Nginx服务(等待当前服务进程运行结束后,停止服务)
  • reload — 重新加载Nginx策略配置文件,并重启
  • reopen — reopening the log files 

  例如,想要在Nginx服务响应完成当前请求后,停止Nginx服务,则应使用以下命令:

$ nginx -s quit
           

  注:执行这些命令,需要在启动当前nginx服务的用户下完成操作;

下面着重讲解一下,当 nginx -s reload 命令执行时,nginx服务内部工作机制是怎样的呢?

     首先,当nginx服务主进程收到重新加载并重启的命令后,nginx会首先检查更改后的配置语法是否正确,并尝试按照新的配   置参数执行;

    如果一切ok , 那么nginx服务主进程会重新启动一个服务工作进程,并发送消息通知旧的服务工作进程关闭旧进程。

    另外,主进程会回滚并继续使用旧的配置进行工作,旧工作进程收到停止工作消息后,开始拒绝所有的新的连接请求,并继续处理已接收的请求,直到对所有已有请求服务完成。

   最后,旧的服务工作进程会退出整个服务并销毁。

其他然并卵的命令

    杀掉Nginx服务的指定进程:

kiss -s QUIT 1628
           

    注: 1628为Nginx的某一进程id

  获取Nginx服务所有活动的进程:

ps -ax | grep nginx
           

     点击查看更多Nginx服务命令

  Nginx配置文件结构

 Nginx 由配置文件中多个指定指令组包装结合的模块组成。指令组可以被分拆成多个简单指令或者指令块。一个简单指令是由参数名,参数值中间空格,末尾分号的形式构成。一个指令块结构与一个简单指令结构类似,不过是由 大括号(‘{ }’) 的形式包围起来。如果一个指令块里面包含一个其他的指令组可像Nginx默认配置的 events , http , server等形式类似。

井号(‘ # ’)为注释行所用标识。

(未完待续)

版权声明:本文为CSDN博主「weixin_34008933」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_34008933/article/details/92532645