方法一:
1.写nginx.sh脚本
#!/bin/bash
#kconfig: 2345 90 10
#定义变量
nginx_config=/usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_pid=/usr/local/nginx/logs/nginx.pid
RETAVL=0
#检查shell公共函数库是否存在,存在就加载
functions_path=/etc/init.d/functions
[ -f $functions_path ]&& source $functions_path
#检查nginx文件是否存在并可执行
[ -x $nginxd ]|| exit 0
#定义函数
#检查是否执行成功
check(){
RETAVL=$?
if
[ $RETAVL -eq 0 ];then
action "nginx is $1" /bin/true
else
action "nginx is $1" /bin/false
fi
}
#启动服务
start(){
if
[ -f $nginx_pid ];then
echo "nginx already running"
else
$nginxd
check Started
fi
return $RETAVL
}
#停止服务
stop(){
if
[ ! -f $nginx_pid ];then
echo "nginx is not running."
else
$nginxd -s stop
check Stopped
fi
}
#加载配置文件
reload(){
if
[ ! -f $nginx_pid ];then
echo "Can't open $nginx_pid, no such file or directory"
else
$nginxd -s reload
check reload
fi
}
#重启服务
restart(){
stop
sleep 2
start
}
#判断
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
*)
echo $"Usage:$0{start|stop|restart|reload|help}"
esac
exit $RETAVL
2.添加脚本可执行权限
# chmod +x nginx.sh
3.将脚本移动到/etc/rc.d/init.d目录下
# mv nginx.sh /etc/rc.d/init.d
4.将脚本添加进开机启动
# cd /etc/rc.d/init.d
# chkconfig –add nginx.sh
# chkconfig nginx.sh on
5.查看开机启动列表
# chkconfig --list
方法二:
1.创建脚本文件(以.service结尾)
# vi nginx.service
#启动顺序与依赖关系
[Unit]
Description=Nginx Server Service
#启动顺序在网络可用之后
After=network-online.target
#依赖关系为弱依赖关系
Wants=network-online.target
#启动行为
[Service]
User=root
Group=root
#启动类型为后台运行
Type=forking
#定义启动进程时执行的命令
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#停止服务执行的命令
ExecStop=/usr/local/nginx/sbin/nginx -s stop
#重新加载配置文件
ExecReload=/usr/local/nginx/sbin/nginx -s reload
[Install]
#表示该服务所在的Target
WantedBy=multi-user.target
2.增加脚本可执行权限
# chmod +x nginx.service
3.将脚本移动到/usr/lib/system/system目录下
# mv nginx.service /usr/lib/system/system
4.重新加载systemctl daemon-reload
# systemctl daemon-reload
5.设置开机启动
# systemctl enable nginx.service
6.查看开机启动列表
# systemctl list-unit-files|grep enabled