续我的上上篇博文:https://mp.csdn.net/postedit/89478072。即nginx已经完成源码编译的安装。
rhel7系统中nginx启动脚本的编写
在编写脚本之前,先停掉之前开启的nginx服务
[root@server1 ~]# /usr/local/nginx/sbin/nginx -s stop
[root@server1 ~]# ps -ef | grep nginx
root 2865 2787 0 11:35 pts/0 00:00:00 grep --color=auto nginx
1、安装httpd服务,复制httpd服务的启动脚本为nginx服务的启动脚本
[root@server1 ~]# yum install httpd -y
[root@server1 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:httpd(8)
man:apachectl(8)
[root@server1 ~]# cp /usr/lib/systemd/system/httpd.service /etc/systemd/system/nginx.service
2、修改复制过来的nginx服务的启动脚本
[root@server1 ~]# vim /etc/systemd/system/nginx.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
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
[root@server1 ~]# systemctl daemon-reload #修改完服务的启动脚本之后,进行重载
3、测试:
(1)启动nginx服务,并查看nginx服务的状态
[root@server1 ~]# systemctl start nginx
[root@server1 ~]# systemctl status nginx
● nginx.service - The nginx HTTP Server
Loaded: loaded (/etc/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2019-04-24 11:36:08 CST; 3s ago
Process: 3126 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)
Main PID: 3127 (nginx)
CGroup: /system.slice/nginx.service
├─3127 nginx: master process /usr/local/nginx/sbin/nginx
├─3128 nginx: worker process
└─3129 nginx: worker process
Apr 24 11:36:08 server1 systemd[1]: Starting The nginx HTTP Server...
Apr 24 11:36:08 server1 systemd[1]: Started The nginx HTTP Server.
[root@server1 ~]# ps -ef | grep nginx
root 3127 1 0 11:36 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 3128 3127 0 11:36 ? 00:00:00 nginx: worker process
nobody 3129 3127 0 11:36 ? 00:00:00 nginx: worker process
root 3138 2787 0 11:36 pts/0 00:00:00 grep --color=auto nginx
(2)关闭nginx服务,并查看nginx服务的状态
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl status nginx
● nginx.service - The nginx HTTP Server
Loaded: loaded (/etc/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Apr 24 11:36:08 server1 systemd[1]: Starting The nginx HTTP Server...
Apr 24 11:36:08 server1 systemd[1]: Started The nginx HTTP Server.
Apr 24 11:37:35 server1 systemd[1]: Stopping The nginx HTTP Server...
Apr 24 11:37:35 server1 systemd[1]: Stopped The nginx HTTP Server.
[root@server1 ~]# ps -ef | grep nginx
root 3153 2787 0 11:37 pts/0 00:00:00 grep --color=auto nginx
(3)设置nginx服务开机自启,并查看nginx服务的状态
[root@server1 ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /etc/systemd/system/nginx.service.
[root@server1 ~]# systemctl status nginx
● nginx.service - The nginx HTTP Server
Loaded: loaded (/etc/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: inactive (dead)
Apr 24 11:36:08 server1 systemd[1]: Starting The nginx HTTP Server...
Apr 24 11:36:08 server1 systemd[1]: Started The nginx HTTP Server.
Apr 24 11:37:35 server1 systemd[1]: Stopping The nginx HTTP Server...
Apr 24 11:37:35 server1 systemd[1]: Stopped The nginx HTTP Server.
(4)设置nginx服务开机不自启,并查看nginx服务的状态
[root@server1 ~]# systemctl disable nginx
Removed symlink /etc/systemd/system/multi-user.target.wants/nginx.service.
[root@server1 ~]# systemctl status nginx
● nginx.service - The nginx HTTP Server
Loaded: loaded (/etc/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Apr 24 11:36:08 server1 systemd[1]: Starting The nginx HTTP Server...
Apr 24 11:36:08 server1 systemd[1]: Started The nginx HTTP Server.
Apr 24 11:37:35 server1 systemd[1]: Stopping The nginx HTTP Server...
Apr 24 11:37:35 server1 systemd[1]: Stopped The nginx HTTP Server.
5、启动nginx服务,并重载nginx服务(值的注意的是:重载nginx服务一定是在nginx服务开启的前提条件下
[root@server1 ~]# systemctl start nginx
[root@server1 ~]# systemctl status nginx
● nginx.service - The nginx HTTP Server
Loaded: loaded (/etc/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2019-04-24 11:40:01 CST; 1s ago
Process: 3214 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)
Main PID: 3215 (nginx)
CGroup: /system.slice/nginx.service
├─3215 nginx: master process /usr/local/nginx/sbin/nginx
├─3216 nginx: worker process
└─3217 nginx: worker process
Apr 24 11:40:01 server1 systemd[1]: Starting The nginx HTTP Server...
Apr 24 11:40:01 server1 systemd[1]: Started The nginx HTTP Server.
[root@server1 ~]# systemctl reload nginx