nginx 启动、停止、关闭

article/2025/9/20 12:05:44

1,nginx 指定配置文件

/usr/local/nginx/sbin/nginx  -c /usr/local/nginx/conf/nginx.conf 
  • -c 参数 指定了要加载的nginx配置文件路径
1,从容停止Nginx:
kill -QUIT 主进程号  
2,快速停止Nginx:
kill -TERM 主进程号  3,强制停止Nginx:
kill -9 主进程号 

2,使用信号管理nginx 的master、worker进程
立刻停止服务:
nginx -s stop 或者
kill -SIGTERM $(cat /data/services/nginx/logs/nginx.pid)

优雅停止服务:
nginx -s quit 或者
kill -QUIT $(cat /data/services/nginx/logs/nginx.pid)

重载配置文件(master不退出,重新加载worker进程):
nginx -s reload
kill -SIGHUP $(cat /data/services/nginx/logs/nginx.pid)

重新开始记录日志文件:
nginx -s reopen 或者
kill -USR1 $(cat /data/services/nginx/logs/nginx.pid)

热升级nginx服务(主要是二进制nginx文件):
kill -USR2 old_master_process #将新的请求过度到新的master进程中去
kill -WINCH old_master_process #优雅关闭所有work进程

nginx reload流程
(1)向 master 进程发送 HUP 信号(reload命令)
(2)master 进程校验配置文件语法是否正确
(3)master 进程打开新的监听端口
(4)master 进程用新配置启动新的 worker 子进程
(5)master 进程向老 worker 子进程发送 QUIT 信号
(6)老 worker 进程关闭监听句柄,处理完当前连接后结束进程

nginx热升级流程
(1)将旧 nginx 文件换成新 nginx 文件
(2)向 master 进程发送 USR2 信号
(3)master 进程修改 pid 文件名,加后缀 .oldbin
(4)master 进程用新 nginx 文件启动新 master 进程
(5)向老 master 进程发送 WINCH 信号,关闭老 worker
(6)回滚:向老 master 发送 HUP,向新 master 发送 QUIT
3,当用systemctl 启动服务时,报start-pre时,可以考虑下/var/tmp是否存在
nginx.service failed to run ‘start-pre’
在这里插入图片描述

启动脚本:

cat  >> nginx.service << EOF
[Unit]
Description=nginx web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
User=root
Group=root
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx  -t -c /usr/local/nginx/conf/nginx.conf
ExecStartPre=/usr/local/nginx/sbin/nginx  -t 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
KillSignal=SIGQUIT
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF

http://chatgpt.dhexx.cn/article/kBOQgQST.shtml

相关文章

nginx启动web项目

1、服务器任何路径新建存放项目文件夹 例如:/home/www/xtzl_platform_web 将web项目的压缩包存放到xtzl_platform_web目录下并解压 3、修改nginx配置文件nginx.conf cd /usr/local/nginx/conf ,修改nginx.conf文件 添加新路径 (1)alias方式 location后面的文件名…

nginx 启动报错

systemctl start nginx 启动报错 报错内容如下&#xff1a; Job for nginx.service failed because the control process exited with error code. See “systemctl status nginx.service” and “journalctl -xe” for details. nginx -t 检查没有问题 systemctl status n…

nginx启动失败

启动nginx失败&#xff0c;报错信息如下 查看日志&#xff0c;centos下&#xff0c;ngin新的日志文件夹是/var/log/nginx&#xff0c;里面有多个文件 原来是配置文件有问题。 以下是test.cn.conf文件内容 日志文件第一行&#xff0c;是指location ~ \.php$ { 这行中的$和{之间…

解决nginx启动闪退

1.首先我们先了解一下nginx&#xff0c;&#xff08;以下来自百度文献&#xff09; Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 [13] &#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点&#xff08;俄文…

nginx启动无反应

第一次使用nginx的时候&#xff0c;打开浏览器无反应 然后查看logs日志&#xff0c;原因是在nginx路径不能出现中文&#xff0c;修改后启动成功

nginx安装及其配置详细教程

1 nginx 介绍 1 什么是nginx Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器。 由俄罗斯的程序设计师Igor Sysoev所开发&#xff0c;官方测试nginx能够支支撑5万并发链接&#xff0c; 并且cpu、内存等资源消耗却非常…

最长公共子串 动态规划

最长公共子串 动态规划 题目 给定2个字符串&#xff0c;试求出这2个字符串的最长公共子串的长度。 输入格式 输入共2行&#xff0c;每行一个字符串。字符均为小写英文字母。 输出格式 仅一行&#xff0c;包含一个正整数&#xff0c;表示2个字符串的最长公共子串长度。 输…

Python最长公共子串

Python最长公共子串 方法一 最简单最容易想到的方法&#xff0c;去数组第一个元素为最长公共前缀&#xff0c;如果是&#xff0c;就return&#xff0c;如果不是就减去最后一个单词。只到找到位置。 class Solution:def longestCommonPrefix(self, strs):""":t…

最大公共子串c语言,最长公共子串(动态规划)

来源&#xff1a;https://www.cnblogs.com/fanguangdexiaoyuer/p/11281179.html 1 描述 有两个字符串(可能包含空格),请找出其中最长的公共连续子串,输出其长度。(长度在1000以内) 例如&#xff1a; 输入&#xff1a;abcde bcd 输出&#xff1a;3 2 解析 1、把两个字符串分别以…

求最长公共子串

内容: 采用顺序结构存储串&#xff0c;设计实现求串s和串t的一个最长公共子串的算法。 步骤&#xff1a; 算法分析 本题算法采用顺序存储结构求串s和串t的最大公共子串。串1用i指针&#xff0c;串2用t指针&#xff0c;对每个i&#xff0c;求从i开始的连续字符串与从j开始的连…

最长公共子串计算C++

公共字串计算&#xff08;最长公共子串/序列&#xff09;C 描述 题目标题&#xff1a; 计算两个字符串的最大公共字串的长度&#xff0c;字符不区分大小写 输入 输入两个字符串 输出 输出一个整数 样例输入 asdfas werasdfaswer 样例输出 6 思路 暴力求解 此题用cin即可 代…

python实现最长公共子串

介绍 子串和子序列的意思不一样&#xff0c;如下图所示&#xff0c;子序列不要求连续&#xff0c;只需要在给定序列中出现过&#xff0c;并且相对顺序一致。而子串需要连续。 图片来自动态规划 最长公共子序列 过程图解 最长公共子串&#xff1a; 同时出现在两个字符串中的最…

Leetcode——最长公共子序列 / 最长公共子串

1. 最长公共子序列 &#xff08;1&#xff09;DFS暴搜&#xff08;超时&#xff09; class Solution{public static int longestCommonSubsequence(String text1, String text2) {char[] t1Chars text1.toCharArray();char[] t2Chars text2.toCharArray();return process(t1…

C语言----最长公共子串(动态规划)

定义dp[i][j]表示字符串str1中第i个字符和str2种第j个字符为最后一个元素所构成的最长公共子串。如果要求dp[i][j]&#xff0c;也就是str1的第i个字符和str2的第j个字符为最后一个元素所构成的最长公共子串&#xff0c;我们首先需要判断这两个字符是否相等。 如果不相等&#x…

最长公共子串

最长公共子串 原题链接&#xff1a;https://www.lintcode.com/problem/79 题目 给出两个字符串&#xff0c;找到最长公共子串&#xff0c;并返回其长度。 子串的字符应该连续的出现在原字符串中&#xff0c;这与子序列有所不同。 样例 样例 1&#xff1a; 输入&#xff1a…

动态规划——最长公共子串,没有比这更通俗易懂的了

前言 动态规划是大厂的热门考点&#xff0c;其中最长公共子串与最长公共子序列这两道题出现得尤其频繁&#xff0c;这两道题其实有挺多变种&#xff0c;很适合考察侯选人对动态规划的掌握情况&#xff0c;今天我们就先来看看如何求解最长公共子串&#xff0c;图文并茂&#xff…

SQL中字符串拼接方法(MySQL,SQLServer)

1 SQLServer &#xff08;1&#xff09;用号实现字符串拼接 select 123456; &#xff08;2&#xff09;用concat()内置函数实现字符串拼接 注&#xff1a;SQLServer 2012及更高版本才支持conconcat()函数。 select concat(123,456);//两个字符串拼接 2 MySQL &#xff0…

mysql 使用group by分组后对某个字段值拼接成字符串方法,一般人都不知道!

只需要使用GROUP_CONCAT函数可以在使用groupby分组后&#xff0c;将某个字段的值进行拼接合并 使用示例&#xff1a; 数据表&#xff1a;testTb 使用 GROUP_CONCAT函数来实现&#xff0c;我们的sql可以这样写 Select albumId,GROUP_CONCAT(name) from testTb group by albumI…

MySql查询结果拼接成字符串

背景&#xff1a;做SQL查询时会经常需要&#xff0c;把查询的结果拼接成一个字符串。 解决方法&#xff1a; 通过 group_concat 函数 1.正常查询 如下: select id result from ctp_enum_item limit 100; 2.拼接结果 如下 select group_concat("",id,"") r…

MySQL 字符串拼接

在Mysql 数据库中存在两种字符串连接操作.具体操作如下 一. 语法: 1. CONCAT(string1,string2,…) 说明 : string1,string2代表字符串,concat函数在连接字符串的时候&#xff0c;只要其中一个是NULL,那么将返回NULL 例1: 例2: 2. CONCAT_WS(separator,str1,str2,...) 说明 : …