Shell脚本完成nginx启动
编程说明:
之前的一键安装部署nginx脚本中,已经实现了可以使用systemctl命令对nginx服务进行控制,但是在实际环境中,还是有很多nginx不是用脚本装的,所以还是需要用源码安装的控制方式对nginx服务进行控制.
下面将采用case语句编写nginx服务的控制脚本:
源代码:
#!/bin/bash
#chkconfig: 2345 90 98
#功能描述:nginx服务的启动脚本,可作用于Centos6上,Centos7版本也能够向下兼容6版本的脚本
nginx="/usr/local/nginx/sbin/nginx"
pidfile="/usr/local/nginx/logs/nginx.pid"
case $1 in
start)
if [ -f $pidfile ];then
echo -e "\033[91mNginx服务已经正常启动了...\033[0m"
exit
else
$nginx && echo -e "\033[91mNginx服务已经正常启动了...\033[0m"
fi;;
stop)
if [ ! -f $pidfile ];then
echo -e "\033[91mNginx服务已经停止...\033[0m"
exit
else
$nginx -s stop && echo -e "\033[91mNginx服务已经停止...\033[0m"
fi;;
restart)
if [ ! -f $pidfile ];then
echo -e "\033[91mNginx服务已经停止了\033[0m"
echo -e "\033请先运行Nginx服务\033[0m"
exit
else
$nginx -s stop && echo -e "\033[91mNginx服务已经停止了\033[0m"
fi
$nginx && echo -e "\033[91mNginx服务已经正常启动了...\033[0m"
;;
status)
if [ -f $pidfile ];then
echo -e "\033[91mNginx服务已经正常启动了...\033[0m"
else
echo -e "\033[91mNginx服务已经停止了\033[0m"
fi;;
reload)
if [ ! -f $pidfile ];then
echo -e "\033[91mNginx服务已经停止了\033[0m"
exit
else
$nginx -s reload && echo -e "\033[91mNginx服务已经重新加载配置文件了...\033[0m"
fi;;
*)
echo "Usage:$0 {start|stop|restart|status|reload}";;
esac
脚本运行结果:
[root@localhost ~]# chmod +x /root/nginx_console.sh
[root@localhost ~]# /root/nginx_console.sh stop
Nginx服务已经停止...
[root@localhost ~]# /root/nginx_console.sh status
Nginx服务已经停止了
[root@localhost ~]# /root/nginx_console.sh restart
Nginx服务已经停止了
�请先运行Nginx服务
[root@localhost ~]# /root/nginx_console.sh start
Nginx服务已经正常启动了...
[root@localhost ~]# /root/nginx_console.sh restart
Nginx服务已经停止了
Nginx服务已经正常启动了...
[root@localhost ~]# /root/nginx_console.sh reload
Nginx服务已经重新加载配置文件了...