Redhat 6.5インストールNginx
一、インストールパッケージ
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のコンパイル
configureは、必要に応じて必要なモジュールを選択できます.
チェック中に依存パッケージが欠けているエラーが発生する可能性があります. pcre-develをインストールする必要があります.
make中に次のエラーが発生した場合は、gcc-c++に従います.
stickyモジュール内のファイル
次のエラーが発生した場合、は、以前に解凍したpcre-8.38を削除し、pcre-8.38.tar.gzを再解凍することができる.
チェック成功後
2.登録システムサービスは/data/nginxディレクトリの下でnginxという名前のスクリプトを作成する
作成したばかりのnginxスクリプトを
3.システムサービスのテスト
nginx-1.13.8
ngx_http_lower_upper_case-master
ロード・バランシングを使用すると、セッションの保持に問題が発生します.一般的な方法は、次のとおりです.
ngx_cache_purge
nginx_ajp_module-master
pcre-8.38
三、インストール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
の場合は下記エラーstickyモジュール内のファイル
ngx_http_sticky_misc.c
は、以下のようにしてを変更することができる.#include
#include
#include
#include
#include
#include
#include
#include
次のエラーが発生した場合、は、以前に解凍したpcre-8.38を削除し、pcre-8.38.tar.gzを再解凍することができる.
チェック成功後
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