Redhat 6.5インストールNginx

12336 ワード

一、インストールパッケージ
nginx-1.13.8
  • ダウンロードアドレス:http://nginx.org/en/download.html

  • ngx_http_lower_upper_case-master
  • ダウンロードアドレス:https://github.com/replay/ngx_http_lower_upper_case/archive/master.zipこのモジュールは文字列を大文字と小文字に変換して変数に値を割り当てることができる.
  • nginx-sticky-module-ng
  • ダウンロードアドレス:https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz

  • ロード・バランシングを使用すると、セッションの保持に問題が発生します.一般的な方法は、次のとおりです.
  • ip hashは、クライアントのIPに基づいて、要求を異なるサーバに割り当てる.
  • cookie、サーバはクライアントにcookieを送信し、特定のcookieを持つ要求はそのパブリッシャに割り当てられる.注:クッキーにはブラウザのサポートが必要であり、データが漏洩することがある
  • Stickyはnginxのモジュールで、cookieに基づくnginxの負荷等化ソリューションであり、cookieを配布して識別することによって、同じクライアントの要求を同じサーバに落とし、デフォルトの識別名はrouteである.
  • クライアントは初めてアクセス要求を開始し、nginxが受信すると、要求ヘッダにクッキーがないことが判明すると、ポーリング方式で要求をバックエンドサーバに配布する.
  • バックエンドサーバは要求を処理し、応答データをnginxに返す.
  • このときnginxはroute付きクッキーを生成し、クライアントに返す.routeの値はバックエンドサーバに対応しており,明文であってもmd 5,sha 1などのHash値であってもよい.
  • クライアントは要求を受信し、route付きクッキーを保存する.
  • クライアントが次のリクエストを送信すると、routeが持参され、nginxは受信したクッキーのroute値に基づいて、対応するバックエンドサーバに転送される.

  • ngx_cache_purge
  • ダウンロードアドレス:http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz指定urlをクリアするためのキャッシュ
  • openssl
  • ダウンロードアドレス:https://www.openssl.org/source/openssl-1.0.2n.tar.gz

  • nginx_ajp_module-master
  • ダウンロードアドレス:https://github.com/yaoweibin/nginx_ajp_module/archive/master.zip nginx_ajp_moduleはnginxとtomcatがajpプロトコルを用いて通信するモジュール
  • である.
    pcre-8.38
  • ダウンロードアドレス:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz PCRE(Perl Compatible Regular Expressions)は、Perl互換性のある正規表現ライブラリを含むPerlライブラリです.

  • 三、インストールNginx
    1.nginxのコンパイル
    # pwd
    /data/installPackage/build_nginx
    # ll
    total 976
    drwxr-xr-x 2 root root   4096 Jan 20 12:39 module
    -rw-r--r-- 1 root root 992237 Jan 20 11:30 nginx-1.13.8.tar.gz
    # ll module/
    total 7536
    -rw-r--r-- 1 root root  140670 Jan 20 11:30 nginx_ajp_module-master.zip
    -rw-r--r-- 1 root root  120603 Jan 15 03:25 nginx-sticky-module-ng.tar.gz
    -rw-r--r-- 1 root root   12248 Dec 24  2014 ngx_cache_purge-2.3.tar.gz
    -rw-r--r-- 1 root root    2489 Jan 20 12:11 ngx_http_lower_upper_case.zip
    -rw-r--r-- 1 root root 5375802 Dec  7 21:47 openssl-1.0.2n.tar.gz
    -rw-r--r-- 1 root root 2053336 Jan 20 11:30 pcre-8.38.tar.gz
    # tar -zxvf nginx-1.13.8.tar.gz
    # mkdir -p /data/app/nginx                          //      
    # cd module/                    
    # unzip nginx_ajp_module-master.zip                 //  
    # tar -zxvf nginx-sticky-module-ng.tar.gz
    # tar -zxvf ngx_cache_purge-2.3.tar.gz
    # unzip ngx_http_lower_upper_case.zip
    # tar -zxvf openssl-1.0.2n.tar.gz
    # tar -zxvf pcre-8.38.tar.gz
    # cd ../nginx-1.13.8
    # pwd
    /data/installPackage/build_nginx/nginx-1.13.8
    # ./configure --prefix=/data/app/nginx --with-pcre=/data/installPackage/build_nginx/module/pcre-8.38 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --add-module=/data/installPackage/build_nginx/module/nginx_ajp_module-master --add-module=/data/installPackage/build_nginx/module/nginx-goodies-nginx-sticky-module-ng --add-module=/data/installPackage/build_nginx/module/ngx_cache_purge-2.3 --add-module=/data/installPackage/build_nginx/module/ngx_http_lower_upper_case-master --with-openssl=/data/installPackage/build_nginx/module/openssl-1.0.2n
    # make
    # make install

    configureは、必要に応じて必要なモジュールを選択できます.
    チェック中に依存パッケージが欠けているエラーが発生する可能性があります.这里写图片描述 pcre-develをインストールする必要があります.
    #yum install pcre-devel

    make中に次のエラーが発生した場合は、gcc-c++这里写图片描述に従います.
    # yum install gcc-c++
    makeの場合は下記エラーRedhat6.5 安装Nginx_第1张图片
    stickyモジュール内のファイルngx_http_sticky_misc.cは、以下のようにしてRedhat6.5 安装Nginx_第2张图片を変更することができる.
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 

    次のエラーが発生した場合、Redhat6.5 安装Nginx_第3张图片は、以前に解凍したpcre-8.38を削除し、pcre-8.38.tar.gzを再解凍することができる.
    チェック成功後Redhat6.5 安装Nginx_第4张图片
    2.登録システムサービスは/data/nginxディレクトリの下でnginxという名前のスクリプトを作成する
    #!/bin/bash
    # nginx Startup script for the Nginx HTTP Server
    # chkconfig: - 85 15
    # description: Nginx is a high-performance web and proxy server.
    #              It has a lot of features, but it's not for everyone.
    # processname: nginx
    nginxd=/data/app/nginx/sbin/nginx
    nginx_config=/data/app/nginx/conf/nginx.conf
    RETVAL=0
    prog="nginx"
    # Source function library.
    . /etc/rc.d/init.d/functions
    # Source networking configuration.
    . /etc/sysconfig/network
    # Check that networking is up.
    [ -x $nginxd ] || exit 0
    start() {
        echo -n $"Starting $prog: "
        daemon $nginxd -c ${nginx_config}
        RETVAL=$?
        echo
        if [ $RETVAL != 0 ];then
           echo "nginx already running...."
        fi  
    }
    stop() {
            echo $"Stopping $prog: "
            $nginxd -s stop
        RETVAL=$?
        echo
    }
    reload() {
        echo -n $"Reloading $prog: "
        $nginxd -s reload
        RETVAL=$?
        echo
    }
    # See how we were called.
    case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        reload)
                reload
                ;;
        restart)
                stop
                start
                ;;
        status)
                status $prog
                RETVAL=$?
                ;;
        *)
                echo $"Usage: $prog {start|stop|restart|reload|status}"
                exit 1
    esac
    exit $RETVAL

    作成したばかりのnginxスクリプトを/etc/init.d/ディレクトリにコピー
    # cp /data/nginx-1.12.2/nginx /etc/init.d/
    # chmod 

    3.システムサービスのテスト
    # service nginx start
    # service nginx reload
    # service nginx restart
    # service nginx stop