企业部分------编写nginx的启动脚本

简介

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

思路

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

过程

    1.安装httpd服务,复制制作nginx的启动脚本模板

[root@server1 ~]# yum install httpd -y
[root@server1 l~]# cp /usr/lib/systemd/system/httpd.service /etc/systemd/system/nignx.service

 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.测试:如果此时服务是开启的状态,我们必须先用脚本的方式关闭服务,再用systemd的方式开启服务。

 4.开启服务

 

特殊情况

    如果服务开启失败,提示我们查看服务的状态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掉,就可以开启服务了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值