您的位置:首页 > 运维架构 > Nginx

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

2015-09-30 16:24 731 查看
参考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等形式类似。

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

(未完待续)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: