通过命令行启动的nginx,无法使用systemctl 来停止和查看它的状态
#!/bin/bash
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
input=$1
#开始
start(){
/usr/sbin/nginx
}
#停止
stop(){
/usr/sbin/nginx -s stop
}
#重启
restart(){
stop
sleep 1
start
}
#重新加载
reload(){
/usr/sbin/nginx -s reload
}
#状态
status(){
port=`netstat -ntulp|grep [n]ginx|awk -F '[ ]+' 'NR==1{print $4}'`
pid=`ps axu|grep nginx|grep master|awk '{print $2}'`
if [ -n "${port}" -a -n "${pid}" ];then
echo "当前nginx监听端口是: ${port} 长度为:${#port}"
echo "当前nginx pid 是: ${pid} 长度为:${#pid}"
else
echo "nginx未启动"
fi
}
case ${input} in
start)
start
[ $? -eq 0 ]&& action "Nginx Start is" /bin/true || action "Nginx Start is" /bin/false
;;
stop)
stop
[ $? -eq 0 ]&& action "Nginx Stop is" /bin/true || action "Nginx stop is" /bin/false
;;
status)
status;;
restart)
restart
[ $? -eq 0 ]&& action "Nginx restart is" /bin/true || action "Nginx restart is" /bin/false
;;
*)
echo "请输入参数哦|start|stop|status|reload|restart"
esac