環境:nginx-1.4.0、tomcat-7.0.39
需要擴展包:nginx_ajp_module-master.zip
通過ajp協議連接tomcat可以提高連接速度,減少資源消耗,提高併發響應。
重新編譯nginx
cd nginx-1.3.16patch -p1 < /path/to/nginx_ajp_module-master/ajp.patch ./configure --prefix=/usr/local/nginx --with-pcre=pcre-8.32 --with-zlib=zlib-1.2.7 --with-http_ssl_module --with-openssl=openssl-1.0.1e --add-module=/path/to/nginx_ajp_module-master --add-module=/path/to/ngx_cache_purge-2.1 --user=www --group=wwwmake && make install |
修改/usr/local/nginx/conf/nginx.conf
upstream tomcat { server 192.168.11.132:8009 srun_id=jvm00; server 192.168.11.132:8109 srun_id=jvm01; server 192.168.11.132:8209 srun_id=jvm02; keepalive 10; } server { listen 80; server_name 192.168.11.132 localhost 127.0.0.1; location / { root html; index index.html index.htm; ajp_keep_conn on; ajp_pass tomcat; } } |
修改tomcat配置文件sever.xml,對應不同主機jvmRoute值設置不同,AJP協議訪問端口可以相同(實驗機器3個服務器都在一臺上面,設置端口不同)。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /><Engine name="Catalina00" defaultHost="localhost" jvmRoute="jvm00"> |
=============================
通過nginx的nginx_http連接tomcat,修改/usr/local/nginx/conf/nginx.conf
upstream tomcat { server 192.168.11.132:8080; server 192.168.11.132:8180; server 192.168.11.132:8280; } server { listen 80; server_name 192.168.11.132 localhost 127.0.0.1; location / { root html; index index.html index.htm; proxy_pass tomcat; } } |
nginx_http模塊採用的是server.xml當中HTTP/1.1協議定義的端口
結合memcached-session-manager,實現Tomcat high-availability clusters with memcached。