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 1234 和 kill -s HUP 1234 这两条命令和前面quit、reload的作用相同。

master进程的pid保存在pid文件中,如果编译时没有指定,那么默认的pid文件位于prefix目录下logs文件夹中,即“prefix/logs/nginx.pid”,prefix目录的问题请看文章前部。

以上内容大部分翻译自nginx官方文档http://nginx.org/en/docs/

果觉得本文对您有帮助,请扫描后面的二维码给予捐赠,您的支持是作者继续写出更好文章的动力!

时间: 2024-08-05 10:48:14

Nginx实用教程(一):启动、停止、重载配置的相关文章

Nginx实用教程(二):配置文件入门

Nginx配置文件结构 nginx配置文件由指令(directive)组成,指令分为两种形式,简单指令和区块指令. 一条简单指令由指令名.参数和结尾的分号(;)组成,例如: listen 80 backlog 4096; ,其中“listen”是指令名,“80”.“backlog”.“4096”都是参数,“;”表示指令结尾. 区块指令由指令名.参数和花括号({})组成,例如: location /imag {} ,其中“location”是指令名,“/imag”是参数,“{}”用于包括其它指令和

Nginx常用命令(启动/重启/停止/测试配置文件/重新加载配置文件)

Nginx中文教程网:http://www.nginx.cn/ Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的. Nginx 的参数包括有如下几个: 使用: /usr/local/nginx/sbin/nginx -参数 -c:使用指定的配置文件而不是conf目录下的nginx.conf . -t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误. -s:rel

nginx启动停止

查看 nginx进程  ps -ef|grep nginx 如果开启了就会出现类似下面的 root 2700 1 0 09:35 ? 00:00:00 nginx: master process nginx -c /etc/nginx/nginx.confnginx 2701 2700 0 09:35 ? 00:00:00 nginx: worker process 如果没开启 /usr/local/nginx-1.8.0/sbin/nginx -c /usr/local/nginx-1.8.0

Nginx编译安装,启动,停止,升级。

1.简单介绍下Nginx Nginx是一款轻量级的web服务器和反向代理服务器,它使用了epoll的I/O模型,也就是事件触发I/O模型,减少了进程的生成切换所消耗的系统资源(CPU的压力减少,内存的占用也会减少),可以达到很高的并发请求.它是一款开源软件,企业成本降低,它的使用配置也比较简单,同时支持Rewrite,作为反向代理的时候可以检查后端的Web服务器的健康状况,能够支持热部署. 2.Nginx安装,重启,升级,停止. 环境是Centos系统,通过www.nginx.org下载需要的源

最全面 Nginx 入门教程 + 常用配置解析

转自 http://blog.csdn.net/shootyou/article/details/6093562 Nginx介绍和安装 一个简单的配置文件 模块介绍 常用场景配置 进阶内容 参考资料 == Nginx介绍和安装 == Nginx是一个自由.开源.高性能及轻量级的HTTP服务器及反转代理服务器, 其性能与IMAP/POP3代理服务器相当.Nginx以其高性能.稳定.功能丰富.配置简单及占用系统资源少而著称. Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx

转:【实用教程】阿里云服务器的配置和使用

[实用教程]阿里云服务器的配置和使用 随着网络应用的日常化,网络资源的使用已经不是专业人士或机构的专利.通过简单的学习,每个人都可以在无需硬件的情况下拥有一个甚至多个服务器,并配置属于自己的网页供人浏览.本教程基于阿里云服务器Windows服务器系统为例,通过简单的图文描述,可以让您在短时间内学会使用这个方法. 一. 创建Windows实例(租用阿里云服务器) 1.1 登陆阿里云服务器管理控制台,点击登录 如果没有帐号需要注册一个,具体过程不再赘述,注册完成后登陆控制台. 1.2 如下图所示,选

Nginx 系列实用教程 #2:性能

家好,分享即关爱,我们很乐意和你分享一些新的知识,我们准备了一个 Nginx 的教程,分为三个系列,如果你对 Nginx 有所耳闻,或者想增进 Nginx 方面的经验和理解,那么恭喜你来对地方了. 我们会告诉你 Nginx 如何工作及其背后的理念,还有如何优化以加快应用的性能,如何安装启动和保持运行. 这个教程有三个部分: 基本概念 -- 这部分需要去了解 Nginx 的一些指令和使用场景,继承模型,以及 Nginx 如何选择 server 块,location 的顺序. 性能 -- 介绍改善

linux下nginx启动停止重启控制脚本

这是控制nginx服务的脚本文件,包括控制nginx的启动.重启.停止.平滑重启.对配置文件的额检查. [[email protected] ~]# cat nginx.sh #!/bin/env bash # description:nginx server   ###必须加描述 # nginx - this script is used to control nginx service # processname nginx # chkconfig: - 85 15 # edit by su

Nginx和PHP-FPM的启动、重启、停止脚本分享

这篇文章主要介绍了Nginx和PHP-FPM的启动.重启.停止脚本分享,脚本中包含start.stop.reload.restart等常用的管理方法,并可以加入系统服务然后使用servicem命令管理,需要的朋友可以参考下 服务器上的Nginx和PHP都是源码编译安装的,不像ubuntu一样有自带service启动脚本,所以不支持类似以前的nginx (start|restart|stop|reload)了.自己动手丰衣足食.以下脚本应该在RHEL, Fedora, CentOS下都适用. 一.