在CentOS6上搭建LNMP環境(中)

編譯安裝nginx軟件

1)新增nginx用戶

[root@db software]#groupadd -r nginx

[root@db software]# useradd -r -g nginxnginx -s /sbin/nologin

2)創建目錄

[root@db ~]# mkdir -pv/var/tmp/nginx/client

mkdir: created directory `/var/tmp/nginx'

mkdir: created directory`/var/tmp/nginx/client'

3、編譯安裝nginx

[root@db software]# tar xfnginx-1.8.1.tar.gz 

[root@db software]# cd nginx-1.8.1

[root@db nginx-1.8.1]# ./configure--prefix=/usr/local/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

[root@db nginx-1.8.1]# make &&make install

4、編寫nginx啓動腳本

vim /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/local/nginx/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

5、設置nginx開機啓動並啓動服務

[root@db ~]# chmod +x/etc/init.d/nginx 

[root@db ~]# chkconfig --add nginx

[root@db ~]# chkconfig nginx on

[root@db ~]# service nginx start


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章