nginx启动、停止、重启命令

本文详细介绍了Nginx服务器的启动、停止、重启、配置验证及平滑升级等操作流程,帮助读者掌握Nginx的基本管理和维护技巧。
  • 启动

cd usr/local/nginx/sbin
注意:usr/local/nginx 是安装目录
./nginx

  • 停止

查询nginx主进程号
ps -ef | grep nginx
从容停止 kill -QUIT 主进程号
快速停止 kill -TERM 主进程号
强制停止 kill -9 nginx 或者 killall -9 nginx
./nginx -s stop
若nginx.conf配置了pid文件路径,如果没有,则在logs目录下
kill -信号类型 ‘/usr/local/nginx/logs/nginx.pid’

  • 重启

kill -HUP 主进程号或进程号文件路径
或者使用
cd /usr/local/nginx/sbin
./nginx -s reload
关闭
./nginx -s stop

  • 判断配置文件是否正确

nginx -t -c /usr/local/nginx/conf/nginx.conf
或者
cd /usr/local/nginx/sbin
./nginx -t

  • 升级

1、先用新程序替换旧程序文件
2、kill -USR2 旧版程序的主进程号或者进程文件名
此时旧的nginx主进程会把自己的进程文件改名为.oldbin,然后执行新版nginx,此时新旧版本同时运行
3、kill -WINCH 旧版本主进程号
4、不重载配置启动新/旧工作进程
kill -HUP 旧/新版本主进程号
从容关闭旧/新进程
kill -QUIT 旧/新进程号
快速关闭旧/新进程
kill -TERM 旧/新进程号

<think> 我们正在回答用户的问题:“我想查找Linux系统下Nginx启动停止命令” 根据用户提供的引用,特别是引用[2]和引用[4],我们可以整理出Linux下Nginx启动停止重启命令。 注意:用户要求的是Linux系统下的命令,所以我们将重点关注引用中关于Linux的部分。 从引用中我们可以提取以下信息: 1. 启动Nginx- 进入Nginx的sbin目录(例如:`cd /usr/local/nginx/sbin`),然后执行 `./nginx`。 - 或者,如果已经将nginx的路径添加到环境变量,可以直接使用 `nginx` 命令。 2. 停止Nginx- 快速停止:`./nginx -s stop` - 从容停止:`./nginx -s quit` (等待工作进程处理完当前请求后停止- 也可以通过杀死进程的方式停止(需要先获取主进程号): - 使用 `ps -ef | grep nginx` 找到master进程的PID - 然后使用 `kill -QUIT PID`(从容停止)或 `kill -TERM PID`(快速停止)或 `kill -9 PID`(强制停止) 3. 重启Nginx- 重启命令:`./nginx -s reload` (重新加载配置文件,不停止服务) - 也可以先停止启动,但使用reload更优雅,不会中断服务。 4. 检查Nginx是否运行: - `ps -ef | grep nginx` 查看进程,如果有master进程则说明正在运行。 另外,引用[1]提到Linux下Nginx启动停止命令与Windows下的类似,但具体命令不同。 根据以上信息,我们可以整理出常用命令,并按照操作分类。 注意:在实际使用中,如果nginx安装路径没有加入环境变量,则需要进入sbin目录或者使用绝对路径执行命令。 我们还可以补充一点:如果系统使用systemd管理服务(如CentOS 7+、Ubuntu 16.04+等),则可以使用systemctl命令(但前提是nginx是通过包管理器安装的,并且有对应的service文件)。但是用户提供的引用中没有提到systemctl,所以我们主要给出直接操作nginx二进制文件的方法。 然而,为了完整性,我们也可以简要提及systemctl方式,因为这是现代Linux系统的常用方法。 但根据用户提供的引用,我们主要参考引用[2]和[4]中的命令。 因此,我们将回答分为两部分: 1. 直接使用nginx二进制文件(适用于任何安装方式,尤其是源码安装) 2. 使用systemctl(适用于通过包管理器安装的情况) 由于用户没有说明安装方式,我们两种都提供。 另外,引用[3]和[5]没有提供具体命令,引用[5]是一篇博客的链接,但我们不直接使用。 现在,我们组织回答。 </think>在 Linux 系统下管理 Nginx 服务的常用命令如下,分为**直接操作 Nginx 二进制文件**和**使用 systemctl 服务管理**两种方式: --- ### 一、直接操作 Nginx 二进制文件(推荐源码安装场景) 1. **启动 Nginx** ```bash /usr/local/nginx/sbin/nginx # 默认安装路径 # 或 /path/to/your/nginx/sbin/nginx # 自定义安装路径 ``` 2. **停止 Nginx** - 快速停止(强制终止): ```bash /usr/local/nginx/sbin/nginx -s stop ``` - 优雅停止(处理完当前请求): ```bash /usr/local/nginx/sbin/nginx -s quit ``` - 通过进程号停止: ```bash ps -ef | grep nginx # 查找 master 进程号 kill -QUIT <主进程号> # 优雅停止(推荐) kill -TERM <主进程号> # 快速停止 kill -9 <主进程号> # 强制停止(慎用) ``` 3. **重载配置(不中断服务)** ```bash /usr/local/nginx/sbin/nginx -s reload ``` 4. **查看状态** ```bash ps -ef | grep nginx # 存在 master 进程表示运行中 ``` --- ### 二、使用 systemctl(推荐包管理安装场景) > 需确保 Nginx 服务文件已注册(通常包管理器自动处理)[^1][^3] 1. **启动服务** ```bash sudo systemctl start nginx ``` 2. **停止服务** ```bash sudo systemctl stop nginx # 正常停止 sudo systemctl kill nginx.service # 强制停止 ``` 3. **重启服务** ```bash sudo systemctl restart nginx # 完全重启 sudo systemctl reload nginx # 仅重载配置(不中断) ``` 4. **设置开机自启** ```bash sudo systemctl enable nginx ``` 5. **查看状态** ```bash sudo systemctl status nginx ``` --- ### 三、常见问题排查 1. **端口冲突**(如 80 端口被占用): ```bash sudo netstat -tulpn | grep &#39;:80&#39; # 检查占用进程 ``` 2. **配置文件错误**: ```bash sudo nginx -t # 测试配置语法 ``` 3. **权限问题**: ```bash sudo chown -R www-data:www-data /var/www # 修正网站目录权限 ``` --- ### 操作流程示例 ```bash # 启动服务 sudo systemctl start nginx # 修改配置后重载 sudo nginx -t # 验证配置 sudo systemctl reload nginx # 停止服务 sudo systemctl stop nginx # 查看运行状态 ps -ef | grep nginx ``` > 📌 **提示**: > - 源码安装优先使用 Nginx 二进制命令(`/path/to/nginx/sbin/nginx -s <signal>`) > - 包管理器安装优先使用 `systemctl` 命令 > - 强制终止(`kill -9`)可能导致数据丢失,仅在服务无响应时使用[^4][^5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值