码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx初学指南(初学者篇)

时间:2015-10-01 01:55:17      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:

参考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等形式类似。


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


(未完待续)


Nginx初学指南(初学者篇)

标签:

原文地址:http://my.oschina.net/xiehongfei/blog/512921

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!