Nginx启动脚本的编写

回复 收藏
# vi /etc/init.d/nginx 写入
#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions

# Nginx Settings
NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/var/nginx.pid"

RETVAL=0
prog="Nginx"

start() {
        echo -n $"Starting $prog: "
        mkdir -p /dev/shm/nginx_temp
        daemon $NGINX_SBIN -c $NGINX_CONF
        RETVAL=$?
        echo
        return $RETVAL
}

stop() {
        echo -n $"Stopping $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -TERM
        rm -rf /dev/shm/nginx_temp
        RETVAL=$?
        echo
        return $RETVAL
}

reload(){
        echo -n $"Reloading $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -HUP
        RETVAL=$?
        echo
        return $RETVAL
}

restart(){
        stop
        start
}

configtest(){
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac

exit $RETVAL

# chmod 755 /etc/init.d/nginx
2009-09-26 08:48 举报
已邀请:
0

阿铭老师 管理员

赞同来自:

今天发现在REHEL4下面,这个脚本是不行的。当运行 service nginx stop 的时候出现
pidof: invalid options on command line!
并且杀不掉nginx进程。后来才知道,该脚本是在RHEL5下面运行才可以的。
解决办法:
把 killproc -p $NGINX_PID $NGINX_SBIN -TERM 改成
killproc nginx -TERM
把 killproc -p $NGINX_PID $NGINX_SBIN -HUP 改成
killproc nginx  -HUP
0

雷老师 管理员

赞同来自:

我在centos5.4下也碰到过
0

summer123

赞同来自:

killproc 是哪个包安装的,没找到

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: