nginx配置

三、安裝配置nginx  官網www.nginx.org

  (1)解決依賴安裝  yum -y install gcc gcc+  gcc-c++ gd zlib zlib-devel openssl openssl-devel autoconf automake 

      創建nginx運行所需要的用戶

      [root@nginx ~]# groupadd -r -g 108 nginx

      [root@nginx ~]# useradd  -r -u 108 -g 108 nginx -s /sbin/nologin

 (2)安裝pcre

     [root@nginx ~]#tar -jxf pcre-8.36.tar.bz2

     [root@nginx ~]#cd pcre-8.36

     [root@nginx ~]# ./configure

     [root@nginx ~]#make && make install

  (3)安裝nginx

    [root@nginx ~]# tar -zxvf nginx-1.9.0.tar.gz

    [root@nginx ~]# cd nginx-1.9.0

    [root@nginx ~]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --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  --with-http_ssl_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/fcsi --with-pcre  --with-http_flv_module --with-http_gzip_static_module

    [root@nginx ~]# make && make install

  

  (4)啓動nginx:

     #/usr/sbin/nginx

      nginx: [emerg] getpwnam("nginx") failed

      提示需要創建nginx用戶和組:

      再次運行就好了,如果出現下面錯誤,手工創建相應目錄就好:

      nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)

      [root@nginx-backup /]# mkdir -p /var/tmp/nginx/client

      [root@nginx-backup init.d]#  ln -s /lib/libpcre.so.0.0.1 /lib/libpcre.so.1


   (5)自己開發,添加nginx啓動腳本   

#!/bin/sh

#

# nginx - this script starts and stops the nginx daemin

#

# chkconfig:   - 85 15 

# 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" ] && exit 0


nginx="/usr/local/nginx/sbin/nginx"

prog=$(basename $nginx)


NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"


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

    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

   (6)/usr/local/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  啓動nginx  -c指定配置文件路徑

   

   (7)[root@nginx-master ~]# ps -ef | grep nginx  通過ps查找nginx主進程號master process /usr/sbin/nginx -c /etc/nginx/nginx.conf

   

   (8)查看啓動狀態,端口監聽一般就成功

    [root@nginx ~]# netstat -tulnp | grep 80

     tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN          3373/nginx          

     tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN          3373/nginx          

     tcp        0      0 0.0.0.0:8081                0.0.0.0:*                   LISTEN      3373/nginx          

    [root@nginx ~]# ps -ef | grep nginx

    root      3373     1  0 10:03 ?        00:00:00 nginx: master process /usr/sbin/nginx

    nginx     3374  3373  0 10:03 ?        00:00:00 nginx: worker process

    nginx     3375  3373  0 10:03 ?        00:00:00 nginx: worker process

    nginx     3376  3373  0 10:03 ?        00:00:00 nginx: worker process

    nginx     3377  3373  0 10:03 ?        00:00:00 nginx: worker process

    nginx     3378  3373  0 10:03 ?        00:00:00 nginx: worker process

    nginx     3379  3373  0 10:03 ?        00:00:00 nginx: worker process

    root      3446  2515  0 10:03 pts/0    00:00:00 grep nginx

    [root@nginx ~]# 

   (9)打開瀏覽器訪問:http://你的ip+端口/  默認是80

      出現下面消息,配置成功。

   Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.


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