一、準備安裝包html
nginx擴展包,使得nginx能根據客戶端的cookie實現粘性轉發,保證同一客戶端的請求轉發到相同的tomcat,解決session問題。因爲安裝此模板對nginx版本有必定要求,因此請務必按照文檔所寫的版本進行安裝。基於各個服務器的差別,下面的安裝步驟可能會有所差別,可是原理是同樣的,請安裝人員在安裝過程當中,按照實際提示進行安裝。nginx
#tar zxvf nginx-1.4.7.tar.gz
二、編譯安裝nginx 若是以前有用yum在服務器上安裝了nginx,請先卸載apache
# yum remove nginx
進入nginx安裝包解壓以後的目錄瀏覽器
# cd /dhsq/nginx-1.4.7
安裝nginx_upstream_jvm_route模塊補丁tomcat
# patch -p0 < /dhsq/nginx_upstream_jvm_route/jvm_route.patch
顯示以下信息表示補丁安裝成功。 服務器
而後咱們對源碼進行編譯cookie
./configure --with-http_stub_status_module --with-http_ssl_module --add-module=/dhsq/nginx_upstream_jvm_route/
提示咱們尚未安裝PCRE庫,使用yum安裝session
# yum install pcre
# pcre-devel
安裝以後再次編譯 編譯仍是不經過,提示缺乏OpenSSL庫 app
使用yum安裝負載均衡
# yum install openssl
# yum install openssl-devel
安裝以後再次編譯,編譯成功
注意紅色地方的路徑爲nginx安裝的相關路徑,固然你也能夠在編譯的時候指定安裝的路徑,這裏咱們使用默認的安裝路徑。 而後進行安裝
# make
# make install
咱們來到nginx的目錄
# cd /usr/local/nginx/
能夠看到各文件已經有了。
啓動nginx。因爲源碼安裝沒有把nginx安裝成服務,咱們不能使用service nginx start這些命令。
# /usr/local/nginx/sbin/nginx
啓動以後咱們能夠在瀏覽器輸入服務器的ip地址 看到以下界面,說明nginx安裝成功。
三、基於nginx_upstream_jvm_route模塊粘性session負載均衡配置
worker_processes 4; worker_rlimit_nofile 4096; worker_connections 4096; upstream www.mytest.com{ #ip_hash; server 127.0.0.1:8080 srun_id=tomcat1; server 127.0.0.1:9090 srun_id=tomcat2; jvm_route $cookie_JSESSIONID|sessionid reverse; } location / { proxy_pass http://www.mytest.com; root html; index index.html index.htm; }
還須要修改tomcat的server.xml配置文件
# vi /dhsq/apache-tomcat-app-t2/conf/server.xml <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
在後面增長jvmRoute標籤,內容即爲在nginx中的名字。注意在集羣的tomcat中名字惟一。
最後重啓tomcat和nginx
# /www/apache-tomcat-app-t1/bin/shutdown.sh
# /www/apache-tomcat-app-t1/bin/startup.sh
Nginx的重啓方法
# ps -ef|grep nginx
查詢nginx的進程,而後使用kill殺掉進程,而後再從新啓動便可。
# /usr/local/nginx/sbin/nginx
這時候再在瀏覽器中輸入ip地址能夠看到請求被轉發到tomcat中了