Home >Backend Development >PHP Tutorial >Nginx跟PHP-FPM的启动/重启脚本

Nginx跟PHP-FPM的启动/重启脚本

WBOY
WBOYOriginal
2016-06-13 11:55:04847browse

Nginx和PHP-FPM的启动/重启脚本

服务器上的Nginx和PHP都是源码编译安装的,不支持类似以前的nginx(start|restart|stop|reload)了。自己动手丰衣足食。以下脚本应该在RHEL, Fedora,CentOS下都适用。

一、Nginx启动脚本/etc/init.d/nginx

#!/bin/bash
#
# Startup script for Nginx - this script starts and stops the nginxdaemon
#
# chkconfig:   - 8515
# description:  Nginx is an HTTP(S) server,HTTP(S) reverse proxy and IMAP/POP3 proxy server
# processname: nginx
#config:     /usr/local/nginx/conf/nginx.conf
#pidfile:    /usr/local/nginx/logs/nginx.pid
 
# Source function library.
. /etc/rc.d/init.d/functions
 
# Source networking configuration.
. /etc/sysconfig/network
 
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit0
 
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
 
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
 
[ -f /etc/sysconfig/nginx ] && ./etc/sysconfig/nginx
 
lockfile=/var/lock/subsys/nginx
 
start() {
   [ -x $nginx ] || exit 5
   [ -f $NGINX_CONF_FILE ] || exit 6
   echo -n $"Starting $prog: "
   daemon $nginx -c $NGINX_CONF_FILE
   retval=$?
   echo
   [ $retval -eq 0 ] && touch$lockfile
   return $retval
}
 
stop() {
   echo -n $"Stopping $prog: "
   killproc $prog -QUIT
   retval=$?
   echo
   [ $retval -eq 0 ] && rm -f$lockfile
   return $retval
}
 
restart() {
   configtest || return $?
   stop
   sleep 1
   start
}
 
reload() {
   configtest || return $?
   echo -n $"Reloading $prog: "
   killproc $nginx -HUP
   RETVAL=$?
   echo
}
 
force_reload() {
   restart
}
 
configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}
 
rh_status() {
   status $prog
}
 
rh_status_q() {
   rh_status >/dev/null2>&1
}
 
case "$1" in
   start)
       rh_status_q && exit 0
       $1
    

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn