Nginx服务启动脚本

简介

  • nginx启动脚本就是为了方便对nginx服务的启动,关闭,状态查询,热修改的一个脚本文件。
  • 系统的服务都是默认在/usr/lib/systemd/system目录下的,是系统默认的存放路径,但是启动脚本的服务可以自己添加,因此为了便于控制及其查看,我们将该服务的脚本放在系统额外添加服务的目录/etc/systemd/system下面。

思路

  • 可以安装一个httpd服务,对其服务的脚本加以修改,制作nginx的启动脚本。

实现如下

  • 1.安装httpd服务,复制制作nginx的启动脚本模板
[root@server1 logs]# yum install httpd -y
[root@server1 logs]# cp /usr/lib/systemd/system/httpd.service /etc/systemd/system
  • 2.修改启动脚本,文件编辑内容如下:
[root@server1 logs]# vim /etc/systemd/system/httpd.service

[Unit]
Description=The Nginx HTTP Server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid    #pid文件
ExecStart=/usr/local/nginx/sbin/nginx      #启动脚本的路径
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • 3.修改文件名[root@server1 logs]# mv /etc/systemd/system/httpd.service /etc/systemd/system/nginx.service

  • 4.由于此时服务是开启的状态,所以我们必须先用脚本的方式关闭服务,在用systemd的方式开启服务。
    在这里插入图片描述

  • 5.开启服务

[root@server1 logs]# systemctl start nginx.service 
[root@server1 logs]# systemctl status nginx.service 

在这里插入图片描述

特殊情况

  • 如果服务开启失败,提示我们查看服务的状态systemctl status nginx.service或查看日志,我们可以通过查看记录nginx进程的文件得到nginx服务master进程的pid,cat /usr/local/nginx/logs/nginx.pid,并且kill -9 master的pid。此时启动仍然会报错,是因为我们kill掉了master进程的pid,还有worker进程没被kill,因此使用ps -ef | grep nginx查看worker进程并将其worker进程的pid也kill掉,就可以开启服务了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值