前言
启动nginx的命令为 /usr/local/nginx/sbin/nginx
停止nginx的命令为 /usr/local/nginx/sbin/nginx -s stop
重启nginx的命令为 /usr/local/nginx/sbin/nginx -s reload
可以看得出来,很麻烦,每次都要把nginx的启动问文件的路径写出来。所以我们可以配置一个systemctl 命令来方便操作nginx的启动、停止和重启命令。
一、 创建一个nginx.service
在 /usr/lib/systemd/system/目录下面新建一个nginx.service文件。并赋予可执行的权限。
vim /usr/lib/systemd/system/nginx.service
chmod +x /usr/lib/systemd/system/nginx.service
二、 ## 编辑service内容
# 对服务的说明
[Unit]
# 描述服务
Description=nginx
# 描述服务类别
After=network.target
# 服务的一些具体运行参数的设置
[Service]
# 后台运行的形式
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
# Stop quit 是一个优雅的关闭方式,Nginx在退出前完成已经接受的连接请求。
# ExecQuit=/usr/local/nginx/sbin/nginx -s quit #
# Nginx在退出前完成已经接受的连接请求
PrivateTmp=true
[Install]
# 给服务用户的模式
WantedBy=multi-user.target
三、启动服务
在启动服务之前,需要先重载systemctl命令
systemctl daemon-reload
systemctl start nginx.service
Jul 13 16:18:18 web01 nginx[2407]:nginx:[emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
若发现启动还是出现了问题(如上)。可以用systemctl status nginx.service或如下命令来查看问题所在。
ps -ef|grep nginx #查看nginx端口使用情况
3.1 杀死进程
- 从容停止
kill -QUIT 2072
2.快速停止
kill -TERM 2132 或者 kil -INT 2132
3.强制停止
pkill -9 nginx
3.2 修改nginx的端口号
如上可、以看出是端口 80 被占用了。 解决方案就是进入nginx.conf配置文件修改nginx的端口。
vim /usr/local/nginx/conf/nginx.conf
把listen 后面的数字修改成8080或者81。再重新启动服务,就提示成功了。
systemctl常用的命令
启动nginx的命令为 systemctl start nginx
重启nginx的命令为 systemctl reload nginx
停止nginx的命令为 systemctl stop nginx
查看nginx状态的命令为 systemctl status nginx
重启nginx的命令为 systemctl restart nginx