首页 > 系统相关 >linux重新加载nginx配置的三种办法

linux重新加载nginx配置的三种办法

时间:2024-08-09 22:16:42浏览次数:15  
标签:SIGRTMAX 0.0 master10 nginx linux SIGRTMIN root 加载

1.确保当前nginx进程运行中

[root@master10 ~]# systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2024-08-09 17:26:42 CST; 4h 14min ago
  Process: 1437 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 1434 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 1432 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 1439 (nginx)
   CGroup: /system.slice/nginx.service
           ├─1439 nginx: master process /usr/sbin/nginx
           ├─1440 nginx: worker process
           └─1441 nginx: worker process

Aug 09 17:26:42 master10 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Aug 09 17:26:42 master10 nginx[1434]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Aug 09 17:26:42 master10 nginx[1434]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Aug 09 17:26:42 master10 systemd[1]: Started The nginx HTTP and reverse proxy server.

2.查看nginx当前监听端口

[root@master10 ~]# netstat -tunlp | grep nginx
tcp        0      0 0.0.0.0:80           0.0.0.0:*               LISTEN      1439/nginx: master  
tcp6       0      0 :::80                   :::*                    LISTEN      1439/nginx: master 

3.修改nginx监听端口为12111

[root@master10 ~]# vim /etc/nginx/nginx.conf

第39行改为12111;
保存后还未生效,需重启服务生效;

[root@master10 ~]# netstat -tunlp | grep nginx
tcp        0      0 0.0.0.0:80           0.0.0.0:*               LISTEN      1439/nginx: master  
tcp6       0      0 :::80                   :::*                    LISTEN      1439/nginx: master 

4.第一种方法,利用systemctl命令重启服务加载

[root@master10 ~]# systemctl restart nginx
[root@master10 ~]# netstat -tunlp | grep nginx
tcp        0      0 0.0.0.0:12111           0.0.0.0:*               LISTEN      2994/nginx: master  
tcp6       0      0 :::80                   :::*                    LISTEN      2994/nginx: master 

重启后查看nginx当前监听端口已变为12111

5.再次修改nginx监听端口为12112
重复第3步 将端口改为12112

6.第二种方法、利用nginx命令重载

[root@master10 ~]# nginx -s reload
[root@master10 ~]# netstat -tunlp | grep nginx
tcp        0      0 0.0.0.0:12112           0.0.0.0:*               LISTEN      2994/nginx: master  
tcp6       0      0 :::80                   :::*                    LISTEN      2994/nginx: master

通过 nginx -s reload重启,然后查看nginx当前监听端口已变为12112
-s 参数解释如下,意思为向主进程发送一个信号,参数信号可以是:停止、退出、重新打开、重新加载

-s signal      Send a signal to the master process.  The argument signal can be one of: stop, quit,
                    reopen, reload.  The following table shows the corresponding system signals:

                    stop    SIGTERM
                    quit    SIGQUIT
                    reopen  SIGUSR1
                    reload  SIGHUP

7.再再次修改nginx监听端口为12113
再再次重复第3步,将端口改为12113

8.第三种方法、利用kill命令重载

[root@master10 ~]# vim /etc/nginx/nginx.conf
[root@master10 ~]# ps -ef | grep nginx
root       2994      1  0 21:48 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx      3032   2994  0 21:53 ?        00:00:00 nginx: worker process
nginx      3033   2994  0 21:53 ?        00:00:00 nginx: worker process
root       3114   1384  0 22:01 pts/0    00:00:00 grep --color=auto nginx
[root@master10 ~]# kill -1 2994
[root@master10 ~]# netstat -tunlp | grep nginx
tcp        0      0 0.0.0.0:12113           0.0.0.0:*               LISTEN      2994/nginx: master  
tcp6       0      0 :::80                   :::*                    LISTEN      2994/nginx: master  
[root@master10 ~]# 

利用kill命令重载需要提前用ps -ef | grep nginx 获取nginx主进程的进程号,然后通过kill 信号参数 pid对进程进行控制,通过 netstat -tunlp | grep nginx可见监听端口已变为12113.
常见的kill信号参数可以通过kill -l查看

[root@master10 ~]# kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX	

常用的有

kill -1 pid         # 进程重读配置文件
kill -15 pid         # 进程优雅退出
kill -9 pid         # 暴力干掉进程

标签:SIGRTMAX,0.0,master10,nginx,linux,SIGRTMIN,root,加载
From: https://www.cnblogs.com/funlyp/p/18351589

相关文章

  • 黑马程序员|Linux2022第5章在Linux上部署各类软件(上)
    一MySQL数据库管理系统安装部署本节有四个部分:MySQL5.7版本在centos系统安装MySQL8.0版本在centos系统安装MySQL5.7版本在Ubuntu系统安装MySQL8.0版本在Ubuntu系统安装只选取8.0版本centos进行实操。 遇到的问题:1.刚开始是yum命令执行错误。2.密钥2022改为2023。......
  • Linux启动过程中的启动类故障排除和修复(含遗忘root用户的密码解决办法)
    文章目录排除启动类故障1.修复MBR扇区故障故障原因故障现象解决思路修复过程2.修复GRUB引导故障故障原因故障现象解决思路修复过程3.遗忘root用户的密码故障原因故障现象解决思路修复过程本篇讲解:启动类故障,如修复MBR扇区故障、修复GRUB引导故障、遗忘root用户......
  • Windows出大事,超高危漏洞 + 降级攻击风险;“0.0.0.0日”漏洞卷土重来,盯上MacOs和Linux;
    新闻1:警告!18年前的浏览器漏洞卷土重来,MacOS和Linux设备面临威胁!网络安全研究人员发现了一个新的“0.0.0.0日”漏洞,该漏洞影响所有主流网络浏览器,恶意网站可能会利用该漏洞侵入本地网络。OligoSecurity的研究员AviLumelsky表示,这一严重漏洞“暴露了浏览器处理网络请求时......
  • Linux项目自动构建工具 make/makefile
    目录0.前言1.make/makefile是什么2.makefile的语法2.1基本语法2.2依赖关系2.3.示例:一个简单的C程序3.使用指令自动构建与清除3.1自动构建3.2自动清除3.3自动化工作流3.4扩展:更多伪目标4.make的工作原理5.使用make/makefile的优势6.小结(图像由AI生成)0.前......
  • linux command --- less more(分页输出文件内容)
    lessless命令用于显示文件或命令输出的内容,它一次只显示一个页面(分页显示工具)。它类似于more命令,但less具有更高级的功能,它允许您在文件中向前和向后导航。less命令主要用于打开大文件,less不会读取整个文件,相比于vim或nano等文本编辑器,加载时间会更快。less命令的语法格式......
  • 如何在Docker容器中的Linux系统(Ubuntu + Centos Linux)里面使用systemctl
    前言正常情况下Docker容器里面运行的Linux是没有systemd进程的,所以不能正常开启systemctl我们还是希望使用systemd来管理我们的服务,如何开启systemd呢?通常,Docker容器是为了运行单个应用程序而设计的,而不是一个完整的操作系统。因此,通常容器中不需要像systemd这样复杂的初始......
  • nginx 之 proxy_pass详解 切割url
    原文链接: https://www.jianshu.com/p/b010c9302cd0在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。假设下面四种情况分别用http://192.168.1.1/proxy/test.html进行访问。第一种:locatio......
  • Linux字符设备驱动开发
    旧模板在2.3小节。新模版在5.3小节。应用程序和驱动的交互原理驱动就是获取外设或者传感器数据,控制外设。数据会提交给应用程序。Linux驱动编写既要编写一个驱动,还要编写一个简单的测试应用程序,APP。单片机下驱动和应用都是放在一个文件里面,杂糅到一起。Linux下驱动和应用......
  • edge浏览器加载java插件的方法
    在MicrosoftEdge浏览器中直接加载Java插件并不是一个直接支持的功能,因为Edge是基于Chromium内核的浏览器,主要支持Web技术如HTML、CSS和JavaScript。Java插件(通常指的是Java小程序,使用Java编程语言编写的应用程序)主要用于在早期的InternetExplorer浏览器中运行,但在现代浏览器中已......
  • 从Java类加载器源码浅析到线上热部署实现
    1Java代码的执行过程写了这么多代码,有没有想过我们的代码是怎么执行的?或者说定义了那么多类,我们的class是怎么加载到内存的?Java语言属于一种高级语言,而cpu能执行的只有机器码,所以Java代码的运行离不开jvm虚拟机的编译,下面用一张图说明在HotSpot虚拟机中Java代码加载到cpu执行的......