nginx作为Linux系统服务启动

2009年11月19日 | 标签:

如果是用源程序自己编译安装的Nginx,Nginx并没有安装为Linux的系统服务。需要自己来配置。

下面是一个nginx的服务脚本的例子,放在/etc/init.d目录下即可。在centos/rhel中,用命令chkconfig –add nginx注册为系统服务,chkconfig nginx on 来设置为自动启动。平时即可以 service nginx stop/start/restart来启停服务。

#!/bin/bash
# chkconfig: 2345 58 74
# description: nginx web server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/log/nginx.pid

# Source function library.
. /etc/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

if [ -f /etc/sysconfig/nginx ];then
        . /etc/sysconfig/nginx
fi

RETVAL=0
prog=”nginx”

start() {
  # Check that networking is up.
  [ "$NETWORKING" = "no" ] && exit 1

        echo -n $”Starting $prog: ”
        daemon /usr/local/nginx/sbin/nginx $OPTIONS
  RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nginx
  return $RETVAL
}

stop() {
        echo -n $”Shutting down $prog: ”
  killproc /usr/local/nginx/sbin/nginx
  RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/nginx
  return $RETVAL
}

# See how we were called.
case “$1″ in
  start)
  start
        ;;
  stop)
  stop
        ;;
  status)
  status nginx
  RETVAL=$?

  ;;
  restart|reload)
  stop
  start
  RETVAL=$?
  ;;
  condrestart)
  if [ -f /var/lock/subsys/nginx ]; then
      stop
      start
      RETVAL=$?
  fi
  ;;
  *)
        echo $”Usage: $0 {start|stop|restart|condrestart|status}”
        RETVAL=3
esac

exit $RETVAL

相关文章:

  1. 一些典型场景的Postfix配置说明
  2. kloxo/lxadmin下的qmail配置
  3. CentOS 5.4 Xen 3.4.2安装/升级
  4. 家用OpenWRT无线路由器的客人网络(多ESSID)设置
  5. L2TP/IPSec : iPhone/iPad断开VPN连接后不能再连接成功
目前还没有任何评论.