运行和控制Nginx——命令行参数和信号

参考资料:

  Nginx中文文档:  

  Nginx的启动、停止、平滑重启、信号控制和平滑升级:

命令行参数

常用命令:

  -c filename:设置配置文件。

  -t :不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。

  -s :传递一个信号,stop快速关闭,quit从容关闭,reopen重新打开日志文件、用于切换日志文件,reload重载配置文件。

  -v :显示nginx的版本。

  -V:显示nginx的版本,编译器版本和配置参数

———————————————————————————————————————————————————————————

[root@localhost /]# alias nginx=’/usr/local/nginx/sbin/nginx’
[root@localhost /]# alias

运行和控制Nginx——命令行参数和信号


[root@localhost /]# nginx -h nginx version: nginx/1.11.13Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]Options:  -?,-h         : this help  -v            : show version and exit  -V            : show version and configure options then exit  -t            : test configuration and exit  -T            : test configuration, dump it and exit  -q            : suppress non-error messages during configuration testing  -s signal     : send signal to a master process: stop, quit, reopen, reload  -p prefix     : set prefix path (default: /usr/local/nginx/)  -c filename   : set configuration file (default: conf/nginx.conf)  -g directives : set global directives out of configuration file[root@localhost /]#

———————————————————————————————————————————————————————————

控制信号:

  可以使用信号系统来控制主进程。默认,nginx 将其主进程的 pid 写入到 /usr/local/nginx/logs/nginx.pid 文件中。通过传递参数给 ./configure 或使用 pid 指令,来改变该文件的位置。 

主进程可以处理以下的信号:

TERM,INT快速关闭QUIT从容关闭HUP

重新配置

用新的配置开始新的工作进程

从容关闭旧的工作进程

USR1重新打开日志文件,在切割日志时用途较大USR2平滑升级可执行程序WINCH从容关闭工作进程

 

  

 

 

 

 

 

 

 

启动:

  启动代码格式:nginx安装目录地址 -c nginx配置文件地址

[root@localhost ~]# alias nginx='/usr/local/nginx/sbin/nginx'[root@localhost ~]# nginx -c /usr/local/nginx/conf/nginx.conf[root@localhost ~]# ps -ef|grep nginxroot      2073     1  0 10:37 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confnobody    2074  2073  0 10:37 ?        00:00:00 nginx: worker process                                          root      2076  2022  0 10:37 pts/0    00:00:00 grep nginx[root@localhost ~]#   

 停止:

  从容停止:

# ` 字符是数字键盘 1 字符左边的那个字符
[root@localhost ~]# kill -QUIT `cat /usr/local/nginx/logs/nginx.pid`

  快速停止:

[root@localhost ~]# kill -TERM `cat /usr/local/nginx/logs/nginx.pid`

    或

[root@localhost ~]# kill -INT `cat /usr/local/nginx/logs/nginx.pid`

  强行停止:

[root@localhost ~]# kill -9 nginx

重启:

  1.普通重启:关闭进程,修改配置后,重启进程

  2.重新加载配置文件,不重启进程,不会停止处理请求

  3.平滑更新nginx二进制,不会停止处理请求

=========================================================================

注意:在重载前,测试一下配置文件:

# -t 参数将检查配置文件的语法是否正确,默认会检查 /usr/local/nginx/conf/nginx.conf 文件
[root@localhost ~]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
# 如果要对指定配置文件进行语法检查,可以继续添加 -c 参数
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.confnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@localhost ~]#

=========================================================================

nginx的平滑重启:

  如果改变了nginx的配置文件,想重启nginx,同样可以发送系统型号给nginx主进程的方式来进行,重启之前,要确认配置文件是否正确

[root@localhost ~]# kill -HUP 【nginx主进程号】

  当 nginx 接收到 HUP 信号时,它会尝试先解析配置文件,如果成功,就应用新的配置文件(例如,重新打开日志文件或监听的套接字)。之后,nginx 运行新的工作进程并从容关闭旧的工作进程。通知工作进程关闭监听套接字,但是继续为当前连接的客户提供服务。所有的客户端的服务完成后,旧的工作进程被关闭。如果新的配置文件应用失败,nginx 将继续使用旧的配置文件进行工作。

nginx的平滑升级:

  当需要将正在运行中的nginx升级、添加/删除服务器模块时,可以在不中断服务的情况下,使用新的nginx可执行程序替换旧的:

  1.使用新的可执行程序替换旧的可执行程序,对于编译安装的nginx,可以将新版本编译安装到nginx安装路径中,替换之前,备份一下旧的可执行文件

  2.发送以下指令:

[root@localhost ~]# kill -USR2 【旧版本的nginx主进程号】

  3.旧版本的nginx的主进程将重命名它的pid文件为.oldbin(例如:/usr/local/nginx/logs/nginx.pid.oldbin),然后执行新版本的nginx可执行程序,依次启动新的主进程和新的工作进程。

  4.此时,新、旧版本的nginx实例会同时运行,共同处理输入的请求,要逐步停止旧版本的nginx,必须发送WINCH信号给旧的主进程,然后,它的工作进程就开始从容关闭:

[root@localhost ~]# kill -WINCH 【旧版本的nginx主进程号】

  5.一段时间后,旧的工作进程(worker process)处理了所有已连接的请求后退出,仅由新的工作进程来处理输入的请求了。

  6.这时候,可以决定是使用新版本,还是恢复到旧版了:

    kill -HUP  【旧的主进程号】:nginx将在不重载配置文件的情况下启动它的工作进程

    kill -QUIT 【新的主进程号】:从容关闭其工作进程(worker process)

    kill -TERM 【新的主进程号】:强制退出

    kill 【新的主进程号或旧的主进程号】:如果因为某些原因新的工作进程不能退出,则向其发送kill信号

  新的主进程退出后,旧的主进程会移除.oldbin前缀,恢复为它的.pid文件,这样,一切就都恢复到升级之前了。

   如果尝试升级成功,而你也希望保留新的服务器时,可发送QUIT信号给旧的主进程,使其退出而只留下新的服务器运行。

以上就是运行和控制Nginx——命令行参数和信号的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/189171.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月1日 12:20:04
下一篇 2025年11月1日 12:25:14

相关推荐

  • 了解AJAX所需的参数是什么?

    深入了解AJAX的参数:您需要掌握哪些参数? 引言: 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)是一个被广泛使用的技术,它可以实现异步加载数据,从而提升用户体验。AJAX的核心是通过发送HTTP请求与服务器进行交互,并将响应的数据动态地展示在页面上…

    2025年12月24日
    000
  • 深入解析AJAX参数:它们的重要性何在?

    AJAX的参数详解:为什么它们如此重要? 随着Web应用的复杂性不断增加,用户对于实时响应和无刷新的交互体验的需求也越来越高。在这样的背景下,AJAX(Asynchronous JavaScript and XML)成为了前端开发中的必备技术。它可以实现异步数据交互,从服务器请求数据并将其无缝地展示…

    2025年12月24日
    000
  • 提升网页功能的关键:精通AJAX参数的运用

    学习AJAX参数的关键:掌握这些参数能让您的网页更强大,需要具体代码示例 随着互联网的发展,Ajax(Asynchronous JavaScript and XML)技术已经成为Web开发中不可或缺的一部分。它通过在不刷新整个页面的情况下与服务器进行异步通信,使网页更加流畅和响应快速。而要使用Aja…

    2025年12月24日
    000
  • nginx的css不起作用怎么办

    nginx的css不起作用是因为误删文件导致的,其解决办法就是打开相应的文件并添加代码“include /etc/nginx/mime.types;”,然后重启Nginx守护即可。 本文操作环境:windows7系统、css3版,DELL G3电脑。 nginx的css不起作用是什么原因? 最近部署…

    2025年12月24日 好文分享
    000
  • CSS如何实现任意角度的扇形(代码示例)

    本篇文章给大家带来的内容是关于CSS如何实现任意角度的扇形(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 扇形制作原理,底部一个纯色原形,里面2个相同颜色的半圆,可以是白色,内部半圆按一定角度变化,就可以产生出扇形效果 扇形绘制 .shanxing{ position:…

    2025年12月24日
    000
  • html如何设置新版本_为HTML页面设置版本更新提示【提示】

    可通过meta标签检测、Service Worker监听、Last-Modified头比对、manifest.json校验四种方式提示HTML页面新版本更新。 如果您希望用户在访问HTML页面时获知存在新版本并提示更新,可以通过客户端缓存控制与版本标识机制触发提示行为。以下是实现该功能的多种方法: …

    2025年12月23日
    000
  • php如何html_在PHP代码中输出HTML内容【输出】

    必须确保PHP正确解析并输出原始HTML字符串而非转义文本;可通过echo/print直接输出、heredoc语法处理多行含变量HTML,或用PHP结束标签切换至纯HTML模式。 如果您在PHP脚本中需要将HTML代码作为响应内容发送给浏览器,则必须确保PHP正确解析并输出原始HTML字符串,而非将…

    2025年12月23日
    000
  • 运行html报错404怎么改_改html运行404错误方法【技巧】

    404错误是因服务器找不到资源,解决方法包括:检查文件路径与URL一致,确认文件在服务器根目录;启动Web服务器并测试localhost首页;核对配置文件的DocumentRoot和DirectoryIndex设置;排查文件名大小写及扩展名错误;使用浏览器开发者工具查看Network中404请求的具…

    2025年12月23日
    000
  • html5乱码怎么设置_html5用meta charset=utf-8设编码防页面乱码【设置】

    HTML5中文乱码需四步解决:一、在首行添加 如果您在浏览 HTML5 页面时遇到中文显示为乱码的情况,则可能是由于网页未正确声明字符编码。以下是解决此问题的步骤: 一、在 head 中添加 meta charset 声明 HTML5 推荐使用 meta charset=”UTF-8&#…

    2025年12月23日
    000
  • 如何让别人下载html_设置HTML文件供他人下载链接【链接】

    可通过四种方法强制下载HTML文件:一、用download属性设超链接;二、服务端配置Content-Disposition响应头;三、打包为ZIP提供下载;四、用JavaScript生成Blob并触发下载。 如果您希望他人能够直接下载某个HTML文件,而非在浏览器中打开查看,需要通过特定方式设置链…

    2025年12月23日
    000
  • putty怎么运行html_putty连接环境运行html方法【教程】

    1、可通过本地浏览器查看:使用SFTP下载HTML文件后双击用默认浏览器打开预览;2、启动轻量级Web服务器:在PuTTY中用Python命令python3 -m http.server 8000运行并本地访问服务器IP:8000查看;3、配置Apache:安装Apache2服务,将HTML文件放入…

    2025年12月23日
    000
  • 如何写html模板_编写可复用的HTML模板文件【复用】

    可复用HTML模板有五种方法:一、服务端包含(SSI);二、JavaScript动态加载;三、Web Components自定义元素;四、构建工具(如EJS+Webpack)预编译;五、iframe嵌入。 如果您希望在多个网页中重复使用相同的HTML结构,避免每次手动编写重复代码,则需要创建可复用的…

    2025年12月23日
    000
  • html如何引入别的html_引入其他HTML文件内容技术【方法必学】

    可在HTML中嵌入另一HTML文件内容的方法有五种:一、iframe标签静态嵌入;二、fetch API动态加载;三、object标签嵌入;四、服务端包含(SSI);五、ES6模块导入HTML模板字符串。 如果您希望在当前HTML文件中嵌入另一个HTML文件的内容,而不是通过跳转链接的方式访问,就需…

    2025年12月23日
    000
  • html的代码怎么运行_运行html代码方法【教程】

    运行HTML代码只需文本编辑器和浏览器。1. 用记事本或VS Code等编辑器编写代码,保存为.html文件(如index.html)。2. 双击文件或右键选择浏览器打开,即可查看网页效果。3. 修改代码后保存,刷新页面即实时预览,推荐使用支持语法高亮的编辑器提升效率。4. 若需解决file://协…

    2025年12月23日
    000
  • html5视频怎么打开_HTML5 video标签加controls点击播放视频文件【打开】

    HTML5视频无法播放的解决方法包括:一、正确添加controls和src属性,并设置宽高与preload;二、用多个source标签提供MP4、WebM等兼容格式;三、确保服务器配置正确MIME类型;四、autoplay需配合muted使用;五、JavaScript动态加载时需捕获play() P…

    2025年12月23日
    000
  • html如何优化_优化HTML代码性能与加载速度【性能】

    网页加载缓慢等问题源于HTML冗余、资源阻塞或语义不当,需从精简标记、优化资源加载、启用现代特性、减少重排重绘、配置服务器传输五方面优化。 如果您发现网页加载缓慢、首屏渲染时间过长或Lighthouse评分偏低,则可能是HTML结构冗余、资源加载阻塞或语义不当所致。以下是优化HTML代码性能与加载速…

    2025年12月23日
    000
  • Html如何压缩图片_HTML页面中压缩图片大小方法【压缩】

    压缩HTML图片可从五方面入手:一、用TinyPNG等工具在线压缩;二、用srcset实现响应式图片;三、转为WebP/AVIF格式并用标签兼容;四、按实际尺寸裁剪并设width/height属性;五、通过CDN或Nginx动态压缩。 如果您在HTML页面中嵌入图片时发现页面加载缓慢,可能是由于图片…

    2025年12月23日
    000
  • html如何调用外部css_html调用外部css技巧【教程】

    HTML调用外部CSS的五种方式:一、link标签引入;二、@import在CSS中导入;三、JavaScript动态创建link;四、HTTP响应头声明Content-Type;五、data URL内联小型CSS。 如果您希望在HTML文件中应用样式,但不想将CSS代码直接写入HTML内部,则需要…

    2025年12月23日
    000
  • linux怎么运行html文件_linux运行html文件方法【教程】

    可通过图形界面直接右键打开HTML文件;2. 使用终端命令如firefox或google-chrome调用浏览器;3. 用Python启动http.server搭建本地服务器预览;4. 设置文件权限并部署至Apache等Web服务器运行。 如果您编写了一个HTML文件并希望在Linux系统中查看其效…

    2025年12月23日
    000
  • 如何转移HTML项目到新服务器_迁移部署步骤【指南】

    HTML项目迁移需五步:一、打包项目为ZIP并校验;二、用scp或SFTP上传至服务器;三、解压并核对文件结构;四、复制到Web根目录、设所有权及644/755权限;五、验证DNS解析与Nginx/Apache配置并重载服务。 如果您已完成本地开发或旧服务器上的HTML项目,需要将其完整迁移到新服务…

    2025年12月23日
    200

发表回复

登录后才能评论
关注微信