Nginx 高级扩展实例

一、首先安装Nginx:

# yum -y install pcre-devel   # groupadd -r nginx  # useradd -r -g nginx -s /sbin/nologin -M nginx   # tar xf nginx-1.2.3.tar.gz   # cd nginx-1.2.3  # ./configure \    --prefix=/usr \    --sbin-path=/usr/sbin/nginx \    --conf-path=/etc/nginx/nginx.conf \    --error-log-path=/var/log/nginx/error.log \    --http-log-path=/var/log/nginx/access.log \    --pid-path=/var/run/nginx/nginx.pid  \    --lock-path=/var/lock/nginx.lock \    --user=nginx \    --group=nginx \    --with-http_ssl_module \    --with-http_flv_module \    --with-http_stub_status_module \    --with-http_gzip_static_module \    --http-client-body-temp-path=/var/tmp/nginx/client/ \    --http-proxy-temp-path=/var/tmp/nginx/proxy/ \    --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \    --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \    --http-scgi-temp-path=/var/tmp/nginx/scgi \    --with-pcre   # make && make install 

新建文件/etc/rc.d/init.d/nginx,内容如下:

#!/bin/sh  #  # nginx - this script starts and stops the nginx daemon  #  # chkconfig:   - 85 15   # description:  Nginx is an HTTP(S) server, HTTP(S) reverse \  #               proxy and IMAP/POP3 proxy server  # processname: nginx  # config:      /etc/nginx/nginx.conf  # config:      /etc/sysconfig/nginx  # pidfile:     /var/run/nginx.pid     # Source function library.  . /etc/rc.d/init.d/functions     # Source networking configuration.  . /etc/sysconfig/network     # Check that networking is up.  [ "$NETWORKING" = "no" ] && exit 0     nginx="/usr/sbin/nginx" prog=$(basename $nginx)     NGINX_CONF_FILE="/etc/nginx/nginx.conf"    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx     lockfile=/var/lock/subsys/nginx     make_dirs() {     # make required directories     user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`     options=`$nginx -V 2>&1 | grep 'configure arguments:'`     for opt in $options; do         if [ `echo $opt | grep '.*-temp-path'` ]; then             value=`echo $opt | cut -d "=" -f 2`             if [ ! -d "$value" ]; then                 # echo "creating" $value                 mkdir -p $value && chown -R $user $value             fi         fi     done  }     start() {      [ -x $nginx ] || exit 5      [ -f $NGINX_CONF_FILE ] || exit 6      make_dirs      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/null 2>&1  }     case "$1" in      start)          rh_status_q && exit 0          $1          ;;      stop)          rh_status_q || exit 0          $1          ;;      restart|configtest)          $1          ;;      reload)          rh_status_q || exit 7          $1          ;;      force-reload)          force_reload          ;;      status)          rh_status          ;;      condrestart|try-restart)          rh_status_q || exit 0              ;;      *)          echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"          exit 2  esac 

而后为此脚本赋予执行权限:
# chmod +x /etc/rc.d/init.d/nginx

添加至服务管理列表,并让其开机自动启动:
# chkconfig --add nginx
# chkconfig nginx on

而后就可以启动服务并测试了:
# service nginx start

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/c114760043a40e3f050f6eb297f84645.html