【1】启动

启动nginx系统方式:

(1)命令

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

说明:-c 参数指定运行nginx系统的自定义配置文件。

若加:使用自定义配置文件。实例请参见下文【停止】nginx系统的方式贴图。

若不加:使用默认的nginx.conf(一般位于/usr/local/conf/nginx.conf,具体以实际情况为准)

如下实例效果:

即nginx系统选择默认的配置文件

(2)shell脚本

新建start.sh文件,输入内容:

nginx -p `pwd`/.. -c conf/nginx.conf

需要启动时,执行./start.sh 即可

【2】停止

关闭nginx系统方式:

(1)命令

当nginx启动后,可以使用“-s”参数向nginx管理进程(即master进程)发送信号来控制nginx:nginx -s signal

其中,signal可以是以下值:

[1] stop:快速关闭

[2] quit:安全关闭

[3] reload:重载配置文件

[4] reopen:重新打开一个log文件,主要用于日志切割

quit信号,通知nginx等待worker进程处理完当前的请求后退出,此命令只能由启动nginx的linux账户来执行。

reload信号,通知nginx重新载入配置文件nginx.conf。 除了使用reload外,nginx只会在启动时载入一次配置文件,之后对配置文件的修改不会实时对已经运行的nginx进程生效。

当运行这个命令时,master进程会尝试读取配置文件,如果配置文件没有问题(配置文件有问题怎么验证呢?请看下文):

master进程会启动新的worker进程来运行新的配置文件并处理请求,同时会通知老的worker进程不再处理新的请求并在处理完当前任务后退出。

如果配置文件存在问题不能执行,master进程会回退老配置文件继续工作,不会导致nginx进程整个异常退出。

linux的kill命令也可以达到相同的作用,假设nginx的master进程号(pid)是123456,那么 kill -s QUIT 123456 和 kill -s HUP 123456 这两条命令和前面quit、reload的作用相同。

关闭nginx命令1:

nginx -s quit

应用实例:

注意:必须使用启动nginx的用户执行此命令。

关闭nginx命令2:

kill -s quit PID

应用实例:

如上实例效果。

(2)shell脚本

新建stop.sh文件,输入内容:

nginx -p `pwd`/.. -c conf/nginx.conf -s quit

需要关闭系统时,执行./stop.sh即可

【3】重载配置

重新加载配置文件

(1)命令

nginx -s reload

应用实例如下:

注意:reload重新加载的配置,仍为启动nginx系统时运行的配置文件(应用场景:可能会因业务需求调整,对配置文件做修改,估需重新加载之,也称热部署)

(2)shell脚本

新建reload.sh文件,输入内容:

nginx -p `pwd`/.. -c conf/nginx.conf -s reload

需要重新加载配置文件时,执行./reload.sh即可。

【4】验证配置

为什么要验证配置呢?

试想一个场景,线上nginx系统正在正常运行。

现因某种原因,需重新加载一下配置文件,但是,在加载之前,你不确定刚编辑完成的配置文件是否正确(例如:语法等等规范性)

只有配置文件语法等等正确,加载后才会被系统重新读取并利用,否则,系统会回退原配置文件继续运行!!

因此,在加载配置文件之前,最好先验证一下配置文件的正确性。这样可以确保加载更有把握,更稳妥。

验证配置文件方式

(1)命令

验证默认配置文件

nginx -t

验证自定义配置文件

nginx -t -c /home/test/conf/nginx.conf

应用实例如下:

注意:两个红色框中的命令等价

(2)shell脚本

新建testconf.sh,输入内容:

nginx -p `pwd`/.. -c conf/nginx.conf -t

需要验证配置文件时,执行./testconf.sh即可。

备注:以上所有shell脚本,建议在conf同目录新建一个bin目录放置所有控制脚本即可。

Good Good Study, Day Day Up.

顺序 选择 循环 总结

nginx的启动、停止、重载配置、验证配置的更多相关文章

  1. nginx命令:启动,停止及命令参数详解

    nginx命令:启动nginx 在Windows上安装好nginx后,我们需要启动nginx服务,启动nginx服务的命令行操作主要有两种方式,即 1 C:/nginx-0.8.53>nginx ...

  2. ubuntu 14.04(desktop amd 64) nginx 安装启动停止

    sudo apt-get install nginx 关闭: sudo service nginx stop 启动: sudo nginx

  3. 【nginx】常用命令 启动|停止|重启|重新读取配置-centOS7

     查看服务的当前状态 (flaskApi) [root@67 goTest]# systemctl status nginx.service ● nginx.service - The nginx H ...

  4. Squid 启动/停止/重载配置文件 命令

    当你的 squid.conf 配置文档按照你的想法修改完以后,启动 squid 之旅就开始了. Squid安装设试命令: 1,初始化你在 squid.conf 里配置的 cache 目录 #/usr/ ...

  5. windows 下 nginx 的启动 停止 关闭

    停止 nginx -s stop 重新加载配置文件(改动了参数无需重启,只有执行重新加载即可)nginx -s reload 退出 停止  关闭nginx -s quit

  6. 3)nginx的启动与停止、重启,linux配置对外端口

    [启动] 启动代码格式:nginx安装目录地址 -c nginx配置文件地址例如: [root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /u ...

  7. nginx 命令行参数 启动 重启 重载 停止

    今天和大家分享关于 nginx 的一些参数使用 首先,你应该安装了nginx CentOS 安装 nginx 这是很早之前的一篇博客,可以参考. 之前,我们如何去操作 nginx ##简单粗暴法 pk ...

  8. CentOS下nginx+php的配置及nginx开机启动配置

    关闭防火墙 (不然外链接是访问不了 apache) service iptables stop 关闭安全系统 SELinux( 不然报403 访问页面错误 ) 1.Nginx安装主要在于配置文件的修改 ...

  9. 【Linux】宝塔上 GitLab数据迁移修改配置后nginx无法启动

    背景: 服务器A 向 服务器B 迁移数据,修改配置重启.发现gitlab的 nginx 无法启动. 查找原因 gitlab-ctl tail 错误信息: 网上查了查,似乎是宝塔的问题, 原因应该是为了 ...

随机推荐

  1. java如何对List集合中的元素进行排序(请收藏)

    在java开发中有时候我们需要对List集合中的元素按照一定的规则进行排序,比如说有个Person的集合,我们要根据Person的age属性进行排序输出,这就需要用到Java中提供的对集合进行操作的工 ...

  2. python中基本类型的连接组合和互相转换

    本篇总结了一下字符串,列表,字典,元组的连接组合使用和类型的互相转换小例子,尤其列表中的extend()方法和字典中的 update方法非常的常用. 1.连接两个字符串 a = "hello ...

  3. 查看java内存情况命令

    转自:http://boendev.iteye.com/blog/882479 jinfo:可以输出并修改运行时的java 进程的opts. jps:与unix上的ps类似,用来显示本地的java进程 ...

  4. [原]CentOS 7 chrony 笔记

    ~]# timedatectl status Local -- :: CST ==> 本地系统实际时间,设置时间timedatectl set-:: 设置日期timedatectl set- 设 ...

  5. 百度Aip人脸识别之python代码

    用python来做人脸识别代码量少 思路清晰, 在使用之前我们需要在我们的配置的编译器中通过pip install baidu-aip  即可 from aip import AipFace 就可以开 ...

  6. Github Upload Large File 上传超大文件

    Github中单个文件的大小限制是100MB,为了能突破这个限制,我们需要使用Git Large File Storage这个工具,参见这个官方帖子,但是按照其给的步骤,博主未能成功上传超大文件,那么 ...

  7. gym 101755

    别问我为什么现在才发... 我怎么睡醒午觉吃了个饭就晚上九点半了啊????? 真实自闭场,感觉码力严重不足需要补魔. A: #include <bits/stdc++.h> using n ...

  8. codeforces 1106 E

    显然是dp啊,dp[i][j]表示到时间i打扰了j次的最小收益 显然要排序,官方题解说set没看懂,优先队列就行啊. 按照时间排序,显然这样扫的话可以保证当前时间点的点在优先队列里吧, 然后有打断和不 ...

  9. 关于vue-cli创建项目(小白)

    vue-cli,都说是vue脚手架,一般cli是命令行的意思,一看就知道与node有关,其实脚手架是建筑工用的工具,给工人踩在上面干活的,这里借用它的意思,我觉得应该叫vue平台工具大家更容易懂,毕竟 ...

  10. 【node】node连接mongodb操作数据库

    1.下载第三方模块mongodb cnpm install mongodb --save 2.检测是否连接成功 1.引入第三方模块mongodb并创建一个客户端 const MongoClient = ...