Nginx实用教程(一):启动、停止、重载配置
Nginx是一个功能强大的web服务器和负载均衡软件,由俄罗斯人开发。Nginx包括一个master进程和数个worker进程,master进程用于读取、解析配置文件和管理worker进程,worker进程实际处理请求。nginx实现了基于事件的模型和操作系统机制驱动的请求分发。
Nginx的各种功能以模块(module)的形式提供,只有在编译安装时可以选择安装或不安装哪些模块,在源码编译后,或通过linux软件管理包工具安装nginx,不能再加载或去除模块。
可以用 nginx -V 命令来查看配置目录和prefix目录,配置文件可以在编译时单独指定,也可以在启动时指定,如果没有指定配置文件,那么默认配置文件为prefix目录下的conf/nginx.conf。例如,prefix目录为“/usr/local/nginx”,没有指定配置文件,那么默认情况,nginx的配置文件是“/usr/local/conf/nginx.conf”。
yum或者apt-get软件包管理工具安装的,配置文件通常是/etc/nginx/nginx.conf。
启动
直接运行nginx可执行文件即可启动,nginx会自动读取配置文件目录下的“nginx.conf”配置文件,也可以在后面接“-c”参数来指定配置文件:
nginx -c /path/to/configfile
由于nginx的配置文件比较复杂容易出错,修改配置后可以用“-t”参数来校验配置文件是否正确:
nginx -t # 校验默认的配置文件
nginx -t -c /path/to/configfile # 校验指定配置文件
-T参数除了校验配置文件外,还同时将完整的配置文件打印到标准输出(1.9.2以后版本支持)。
-g directives:设置全局指令,优先级高于配置文件。
-p prefix:制定prefix目录,默认是/usr/local/nginx。
停止和重载
当nginx启动后,可以使用“-s”参数向nginx管理进程发送信号来控制nginx:
nginx -s signal
其中,signal可以是以下值:
- stop:快速关闭
- quit:安全关闭
- reload:重载配置文件
- reopen:重新打开一个log文件,用于日志切割
quit信号通知nginx等待worker进程处理完当前的请求后退出,此命令只能由启动nginx的linux账户来执行。
reload信号通知nginx重新载入配置文件,除了实用reload外,nginx只会在启动时载入一次配置文件,之后对配置文件的修改不会对已经运行的nginx进程生效。当运行这个命令时,master进程会尝试读取配置文件,如果配置文件没有问题,master进程会启动新的worker进程来运行新的配置文件并处理请求,并且通知老的worker进程不再处理新的请求并在处理完当前任务后退出。如果配置文件存在问题不能执行,master进程会回退老配置文件继续工作,不会导致nginx进程整个异常退出。
linux的kill命令也可以达到相同的作用,我们假设nginx的master进程号(pid)是1234,那么 kill -s QUIT 和 kill -s HUP 这两条命令和前面quit、reload的作用相同。
master进程的pid保存在pid文件中,如果编译时没有指定,那么默认的pid文件位于prefix目录下logs文件夹中,即“prefix/logs/nginx.pid”,prefix目录的问题请看文章前部。
以上内容大部分翻译自nginx官方文档http://nginx.org/en/docs/
果觉得本文对您有帮助,请扫描后面的二维码给予捐赠,您的支持是作者继续写出更好文章的动力!

Nginx实用教程(一):启动、停止、重载配置的更多相关文章
- nginx 命令行参数 启动 重启 重载 停止
今天和大家分享关于 nginx 的一些参数使用 首先,你应该安装了nginx CentOS 安装 nginx 这是很早之前的一篇博客,可以参考. 之前,我们如何去操作 nginx ##简单粗暴法 pk ...
- Nginx实用教程(二):配置文件入门
Nginx配置文件结构 nginx配置文件由指令(directive)组成,指令分为两种形式,简单指令和区块指令. 一条简单指令由指令名.参数和结尾的分号(;)组成,例如: listen backlo ...
- Windows下Nginx的下载安装、启动停止和配置浏览
前言: 记录一下今天在Windows下载安装Nginx服务器的过程.因为网上关于Nginx的资料都太复杂了,大多数是在Linux下使用的方法. 1.下载 Nginx官网下载地址:http://ngin ...
- 【nginx】常用命令 启动|停止|重启|重新读取配置-centOS7
查看服务的当前状态 (flaskApi) [root@67 goTest]# systemctl status nginx.service ● nginx.service - The nginx H ...
- Squid 启动/停止/重载配置文件 命令
当你的 squid.conf 配置文档按照你的想法修改完以后,启动 squid 之旅就开始了. Squid安装设试命令: 1,初始化你在 squid.conf 里配置的 cache 目录 #/usr/ ...
- 【运维技术】Nginx安装教程(yum安装,源码编译)
安装方式 yum直接更新源安装 源码直接编译之后安装 使用yum进行直接安装 Installing a Prebuilt CentOS/RHEL Package from an OS Reposito ...
- nginx的启动、停止、重载配置、验证配置
[1]启动 启动nginx系统方式: (1)命令 nginx -c /usr/local/nginx/conf/nginx.conf 说明:-c 参数指定运行nginx系统的自定义配置文件. 若加:使 ...
- nginx 的安装、启动、停止与重启
一.nginx 基本介绍 1.Nginx 是单进程单线程模型,也就是启动的工作进程只有一个线程响应客户端请求,而 apache 可以在一个进程内启动多个线程响应客户端请求.所以 nginx 的内存占用 ...
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本 uwsgi- ...
随机推荐
- Java数据结构和算法
首先,本人自学java,但是只学习了java的基础知识,所以想接下来学习一下数据结构和算法,但是找了很多教材,大部分写的好的都是用c语言实现的,虽然知道数据结构和算法,跟什么语言实现的没有关系,但是我 ...
- 手机应用PC端演示工具介绍
写给公司内部用的,所以没什么含量,请免炮轰. 为什么需要在PC端演示? 在Android及IOS系统上开发的手机应用,往往由于设备的限制,无法在演示汇报的场合向在场的众人展示界面,如果有工具可以将手机 ...
- 篇2 安卓app自动化测试-初识python调用appium
篇2 安卓app自动化测试-初识python调用appium --lamecho辣么丑 1.1概要 大家好!我是lamecho(辣么丑),上一篇也是<安卓app自动化测 ...
- PHP 手册
http://www.php.net/manual/zh/index.php 感谢中文翻译工作者. PHP 手册¶ by:Mehdi Achour Friedhelm Betz Antony Dovg ...
- mysql行列转换方法总结
这是一道行转列并且构造交叉表的问题: http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html 数据样 ...
- for循环之初学者N多算法小练习
for循环之初学者N多算法小练习 显示1到100的数,每行显示5个. for (int i=1;i<=100;i++){ if (i%5==0){ System.out. ...
- 分布式开放消息系统(RocketMQ)的原理与实践(转)
转自:http://www.jianshu.com/p/453c6e7ff81c 分布式消息系统作为实现分布式系统可扩展.可伸缩性的关键组件,需要具有高吞吐量.高可用等特点.而谈到消息系统的设计,就回 ...
- dubbox的provider端嵌套调用问题
今天遇到了一个问题,查了半天...,情况是这样的,我用的是dubbox,想做一个精简的全链路跟踪,一个消费者通过dubbox调用一个Service, service 里另外调用了两个service: ...
- js,jQuery和DOM操作的总结(二)
jQuery的基本操作 (1)遍历键值对和数组 , , , , , ]; $.map(arr, function (ele, index) { alert(ele + '===' + index); ...
- 跟随上次的socket sever,追加Tcplistener、Httplistener的server
一.Tcplistener搭建web server 1.同socket类似,Tcplistener其实是对socket的封装,方便编程,先初始化tcplistener并且开始监听 //初始化端点信息 ...