添加nginx服务到service的过程

用途说明

service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。相关的命令还包括chkconfig、ntsysv等,chkconfig用于查看、设置服务的运行级别,ntsysv用于直观方便的设置各个服务是否自动启动。service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。

看看下面的手册页可能更加清楚的了解service的内幕:service运行指定服务(称之为System V初始脚本)时,把大部分环境变量去掉了,只保留LANG和TERM两个环境变量,并且把当前路径置为/,也就是说是在一个可以预测的非常干净的环境中运行服务脚本。这种脚本保存在/etc/init.d目录中,它至少要支持start和stop命令。

一、问题描述

1、安装完nginx后,无法使用service或systemctl命令管理nginx服务

二、问题分析

1、/etc/init.d/目录下缺少nginx默认启动脚本

三、在/etc/init.d/路径下添加脚本文件,名称为nginx,并添加文件可执行权限,如下:

复制代码
 1 #!/bin/bash
 2 #Startup script for the nginx Web Server
 3 #chkconfig: 2345 85 15
 4 nginx=/usr/local/nginx/sbin/nginx
 5 conf=/usr/local/nginx/conf/nginx.conf
 6 case $1 in 
 7 start)
 8 echo -n "Starting Nginx"
 9 $nginx -c $conf
10 echo " done."
11 ;;
12 stop)
13 echo -n "Stopping Nginx"
14 killall -9 nginx
15 echo " done."
16 ;;
17 test)
18 $nginx -t -c $conf
19 echo "Success."
20 ;;
21 reload)
22 echo -n "Reloading Nginx"
23 ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
24 echo " done."
25 ;;
26 restart)
27 $nginx -s reload
28 echo "reload done."
29 ;;
30 *)
31 echo "Usage: $0 {start|restart|reload|stop|test|show}"
32 ;;
33 esac
复制代码

四、问题验证

1、service命令

原文地址:https://www.cnblogs.com/zhoading/p/10292718.html