下載軟件:javascript
wget http://www.minunix.com/docs/web/openssl-1.0.1c.tar.gz Wget http://www.minunix.com/docs/web/pcre-8.31.tar.gz wget http://www.minunix.com/docs/web/zlib-1.2.7.tar.gz wget http://www.minunix.com/docs/web/nginx-1.2.8.tar.gz wget http://nginx-upstream-jvm-route.googlecode.com/files/nginx-upstream-jvm-route-0.1.tar.gz
環境安裝:php
tar xf openssl-1.0.1c.tar.gz && tar xf pcre-8.31.tar.gz && tar xf zlib-1.2.7.tar.gz tar xf nginx-upstream-jvm-route-0.1.tar.gz
JDK安裝就略過了 只須要下載安裝而後在/etc/profile添加路徑就好了css
export JAVA_HOME=/usr/java/jdk1.7.0_09 export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
安裝nginx
html
tar xf nginx-upstream-jvm-route-0.1.tar.gz tar zxvf nginx-1.2.8.tar.gz cd nginx patch -p0 < ../nginx-upstream-jvm-route/jvm_route.patch ##這一步很重要 不執行的話後面的nginx。conf配置會報錯jvm錯誤 ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_gzip_static_module --with-http_stub_status_module --with-select_module --with-poll_module --with-http_sub_module --with-http_ssl_module --with-md5=/usr/lib64 --with-sha1=/usr/lib64 --pid-path=/usr/local/nginx/var/run/nginx.pid --with-pcre=/usr/local/soft/pcre-8.21 --with-zlib=/usr/local/soft/zlib-1.2.7 --with-openssl=/usr/local/soft/openssl-1.0.1d --add-module=/usr/local/soft/nginx_upstream_jvm_route/ make && make install
##到此支持jvm-route模塊的nginx安裝完畢 下面是配置文件nginx.confjava
user nginx nginx; worker_processes 1; pid logs/nginx.pid; events { use epoll; worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; keepalive_timeout 35; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k; gzip on; gzip_types text/javascript text/plain text/css application/xml application/x-javascript; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffer_size 16k; proxy_buffers 4 32k; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Connection Close; server_names_hash_max_size 1024; server_names_hash_bucket_size 1024; upstream minunix.com { server 192.168.43.139:8080 ; server 192.168.43.139:9080 ; ip_hash; jvm_route $cookie_JSESSIONID|sessionid reverse; } server { listen 80; server_name localhost; root /var/www; index index.jsp index.html index.htm; charset utf-8; #access_log logs/host.access.log main; location / { proxy_pass http://minunix.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; client_max_body_size 0; location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } } #error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { # root html; } } }
安裝tomcat 下載apache-tomcat 在/usr/local中有tomcat1 tomcat2nginx
tomcat1修改web
<Engine name="Catalina" defaultHost="localhost" >增長jvmRoute="tomcat1"
tomcat2修改apache
<Engine name="Catalina" defaultHost="localhost" >增長jvmRoute="tomcat2" 而且須要把原來默認的8080 8005 8009改爲其餘的端口我就改爲9080 9005 9009
開始測試vim
tomcat1測試文件tomcat
vim /usr/local/tomcat1/webapps/aa/index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% %> <html> <head> </head> <body> 888888 <br /> <%out.print(request.getSession()) ;%> <!--輸出session--> <br /> <%out.println(request.getHeader("Cookie")); %> <!--輸出Cookie--> </body> </html>
tomcat2測試文件
vim /usr/local/tomcat2/webapps/aa/index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% %> <html> <head> </head> <body> 9999999 <br /> <%out.print(request.getSession()) ;%> <!--輸出session--> <br /> <%out.println(request.getHeader("Cookie")); %> <!--輸出Cookie--> </body> </html>
啓動nginx和tomcat以後訪問http://192.168.43.139/aa/會發現tomcat1和tomcat2不斷在切換 這一步說明負載成功。那麼如今實現session。
修改nginx.conf將上面upstream一段修改成以下
upstream minunix.com { server 192.168.0.4:8080 srun_id=tomcat1; ##不增長srun_id就會不斷兩個頁面訪問增長以後就實現了session server 192.168.0.52:8080 srun_id=tomcat2; ## ip_hash; jvm_route $cookie_JSESSIONID|sessionid reverse; }
重啓nginx
如今訪問頁面會不斷出現8888 或者99999 在一個頁面不會變 中止某個tomcat就會顯示另一個
轉載http://www.minunix.com/2013/05/tomcatmemcachedsession/