天天看點

[rhel6.5]Nginx + tomcat + memcached 的配置

  • 瀹夎鐜
    鎿嶄綔绯葷粺:

    rhel6.5

    涓繪満:

    server6.com server3.com server4.com

    杞歡:

    jdk-7u79-linux-x64.tar.gz apache-tomcat-7.0.37.tar.gz

    鍐呮牳鐗堟湰:

    2.6.32-431.el6.x86_64

  • 闇€瑕佹敞鎰忕殑鍑犵偣
  • 1.鏈嶅姟鑷沖皯闇€瑕佷笁鍙頒富鏈?
  • 2.浣滀負

    Nginx

    璋冨害鍣ㄧ殑鏄?code>server6.com

    IP

    鍦闆潃鏄?code>172.25.23.6;
  • 3.

    server3.com

    浣滀負

    tomcat+memcached

    鏈嶅姟鍣?

    server4.com

    鐨勪綔鐢ㄦ槸涓€鏍風殑;
  • 4.

    server3.com

    鐨?code>IP鏄?code>172.25.23.3,

    server4.com

    鐨?code>IP鏄?code>172.25.23.4;
  • Tomcat

    鏄嬌鐢?code>Java寮€鍙戠殑,鎵€浠ラ渶瑕侀厤缃?code>Java鐨勭幆澧冨彉閲?

*棣栧厛鍦?code>server3涓婇潰瀹屾垚閰嶇疆,浣?code>test.jsp椤甸潰鍦?code>Nginx+Tomcat鍙互姝e父璁塊棶

* 鍏抽棴

server3

涓婇潰涓嶉渶瑕佺殑鏈嶅姟;

[root@server4 ~]# ssh 172.25.23.3 '/etc/init.d/iptables stop'
[root@server4 ~]# ssh 172.25.23.3 '/etc/init.d/httpd stop'
Stopping httpd: [FAILED]
[root@server4 ~]# ssh 172.25.23.3 '/etc/init.d/mysqld stop'
Stopping mysqld:  [  OK  ]
[root@server4 ~]# ssh 172.25.23.3 'chkconfig mysqld off'
           
  • 灏?code>server6涓婇潰鐨勮蔣浠跺寘鍙戦€佺粰

    server3

[[email聽protected] ~]# scp jdk-7u79-linux-x64.tar.gz apache-tomcat-7.0.37.tar.gz 172.25.23.3:~/
jdk-u79-linux-x64.tar.gz                     %  MB  MB/s   :    
apache-tomcat-.tar.gz                   % KB   MB/s   :    
           
  • 鍦?code>server3涓婇潰瀹屾垚瑙e帇,

    Java

    鐜鍙橀噺鐨勯厤缃?閰嶇疆

    test.jsp

    椤甸潰
[root@server3 tomcat]# tar xvf jdk-7u79-linux-x64.tar.gz -C /usr/local/
[root@server3 tomcat]# tar xvf apache-tomcat-7.0.37.tar.gz -C /usr/local/
[root@server3 tomcat]# ln -sv /usr/local/jdk1.7.0_79/ /usr/local/java
[root@server3 tomcat]# ln -sv /usr/local/apache-tomcat-7.0.37/ /usr/local/tomcat
[root@server3 tomcat]# vim /etc/profile
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
[root@server3 ~]# source /etc/profile
[root@server3 tomcat]# vim webapps/ROOT/test.jsp 
[root@server3 tomcat]# cat webapps/ROOT/test.jsp 
server3 the time is <%=new java.util.Date() %>
           
  • 鍚姩鏈嶅姟,骞朵笖鏌ョ湅鏈嶅姟鐩戝惉鐨勭鍙?/li>
[[email聽protected] tomcat]# ./bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
           
[rhel6.5]Nginx + tomcat + memcached 的配置
  • 鍦╯erver6.com涓婇潰杩涜鎿嶄綔
  • 淇敼

    Nginx

    鐨勯厤缃枃浠?/li>
[[email聽protected] ~]# vim /usr/local/lnmp/nginx/conf/nginx.conf
 location / {
     root   html;
     index  index.html index.jsp index.php index.htm;
 }

  location ~ \.jsp$ {
        proxy_pass   http://172.25.23.3:8080;
  }
           
  • 妫€娴嬫湇鍔¢厤缃枃浠剁殑鍚堟硶鎬?骞朵笖鍚姩鏈嶅姟
[[email聽protected] ~]# nginx -t
nginx: the configuration file /usr/local/lnmp/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/lnmp/nginx/conf/nginx.conf test is successful
[[email聽protected] ~]# nginx 
           
  • 閫氳繃娴忚鍣ㄦ煡鐪?code>test.jsp鏄惁鍙互姝e父璁塊棶鍒?
    [rhel6.5]Nginx + tomcat + memcached 的配置
  • 鎺ヤ笅鏉ュ畬鎴愬湪server4.com涓婇潰鐨勯厤缃?瀹炵幇

    Nginx

    瀵逛簬鍙岃妭鐐?code>Tomcat鏈嶅姟鍣ㄧ殑璋冨害
  • 棣栧厛闇€瑕佸皢

    server6.com

    涓婇潰鐨勮蔣浠跺鍒跺埌

    server4.com

    涓繪満涓婇潰
[email聽protected] ~]# scp apache-tomcat-7.0.37.tar.gz jdk-7u79-linux-x64.tar.gz 172.25.23.4:~/
apache-tomcat-.tar.gz                   % KB   MB/s   :    
jdk-u79-linux-x64.tar.gz                     %  MB  MB/s   :   
           
  • 鍦?code>server4.com涓婇潰杩涜杞歡鐨勮В鍘?鍜屽垱寤鴻蔣杩炴帴
[[email聽protected] ~]# tar xf jdk-7u79-linux-x64.tar.gz -C /usr/local/
[[email聽protected] ~]# tar xf apache-tomcat-7.0.37.tar.gz -C /usr/local/
[[email聽protected] ~]# ln -sv /usr/local/apache-tomcat-7.0.37/ /usr/local/tomcat
`/usr/local/tomcat' -> `/usr/local/apache-tomcat-7.0.37/'
[[email聽protected] ~]# ln -sv /usr/local/jdk1.7.0_79/ /usr/local/java
`/usr/local/java' -> `/usr/local/jdk1.7.0_79/'
           
  • 閰嶇疆

    Java

    鐜鍙橀噺
[root@server4 ~]# vim /etc/profile

[root@server4 ~]# tail -4 /etc/profile

export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin

[root@server4 ~]# source /etc/profile
[root@server4 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/bin:/root/bin:/usr/local/mysql/bin:/usr/local/java/bin
           
  • 涓?code>server4.com鎻愪緵

    test.jsp

    鍙戝竷椤甸潰
[root@server4 ~]# vim /usr/local/tomcat/webapps/ROOT/test.jsp
[root@server4 ~]# tail /usr/local/tomcat/webapps/ROOT/test.jsp
server4 the time is <%=new java.util.Date() %>
           
  • 鍚姩鏈嶅姟,骞朵笖鏌ョ湅绔彛鐩戝惉
[[email聽protected] ~]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
           
  • [rhel6.5]Nginx + tomcat + memcached 的配置
  • 閫氳繃娴忚鍣ㄨ闂?鏉ラ獙璇?
    [rhel6.5]Nginx + tomcat + memcached 的配置
  • 淇敼

    server6.com

    涓婇潰鐨?code>nginx鐨勯厤缃枃浠?浣?code>nginx鍙互瀹炵幇瀵逛簬

    tomcat

    鐨勮皟搴︾鐞?
[[email聽protected] ~]# vim /usr/local/lnmp/nginx/conf/nginx.conf
http {
        upstream westos {
                server :;
                server :;
        #       server : backup;

        }

  location ~ \.jsp$ {
       proxy_pass   http://westos;
  }

#    server {
#       listen 80;
#       server_name server6.westos.org;
#       location / {
#       #       root /web1;
#       #       index index.html;
#       proxy_pass http://westos;
#       }
#    }
           
  • 楠岃瘉淇敼鍚庨厤缃枃浠剁殑鍚堟硶鎬т互鍙?code>reload閰嶇疆鏂囦歡
[[email聽protected] ~]# nginx -t
nginx: the configuration file /usr/local/lnmp/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/lnmp/nginx/conf/nginx.conf test is successful
[[email聽protected] ~]# nginx -s reload
           
  • 閫氳繃娴忚鍣ㄨ闂?code>Nginx涓繪満,鏉ラ獙璇佸浜?code>tomcat鏈嶅姟鐨勮皟搴?
    [rhel6.5]Nginx + tomcat + memcached 的配置
  • 鍐嶆鍒鋒柊椤甸潰涔嬪悗,楠岃瘉璁塊棶鎯呭喌
    [rhel6.5]Nginx + tomcat + memcached 的配置
  • 鎵嬪姩鍋滄鏌愪竴涓妭鐐逛笂闈㈢殑

    tomcat

    鏈嶅姟鏉ラ獙璇?code>Nginx瀵逛簬鍚庣鏈嶅姟鐨勬鏌?
[[email聽protected] tomcat]# ./bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
           
  • 閫氳繃娴忚鍣ㄨ闂?椤甸潰鍒鋒柊鍦?/li>
[rhel6.5]Nginx + tomcat + memcached 的配置
  • 閲嶆柊缂栬瘧

    Nginx

    ,骞朵笖涓?code>Nginx鎻愪緵

    sticky

    妯″潡
  • 棣栧厛瑙e帇杞歡鍖?code>nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d.tar.gz
  • 閲嶆柊缂栬瘧

    Nginx

    ,浣跨敤閫夐」濡備笅
[root@server6 nginx-]#  ./configure --prefix=/usr/local/lnmp/nginx 
> --with-http_ssl_module 
> --with-http_stub_status_module 
> --add-module=/root/nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d
           
  • 鍑虹幇杩欎釜鐣岄潰
    [rhel6.5]Nginx + tomcat + memcached 的配置
  • 鎵ц

    make

  • 鎵ц

    make install

  • 缂栬緫

    Nginx

    閰嶇疆鏂囦歡,搴旂敤杩欎釜妯″潡
[[email聽protected] nginx-]# vim /usr/local/lnmp/nginx/conf/nginx.conf
http {
        upstream westos {
                sticky;  //杩欎釜涓烘柊娣誨姞鐨?                server :;
                server :;
        #       server 172.25.23.6:8080 backup;

        }
           
  • 妫€鏌ラ厤缃枃浠?骞朵笖閲嶅惎鏈嶅姟
[[email聽protected] nginx-]# nginx -t 
nginx: the configuration file /usr/local/lnmp/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/lnmp/nginx/conf/nginx.conf test is successful
[[email聽protected] nginx-]# nginx -s reload
           
  • [rhel6.5]Nginx + tomcat + memcached 的配置
  • 鍥犱負娴忚鍣ㄦ敮鎸?code>cookies鏈哄埗,鎵€浠ラ櫎闈炴竻闄?code>cookies,鍚﹀垯鏈嶅姟浼氳涓€鐩村畾涔夊埌杩欏彴鏈嶅姟鍣ㄤ笂闈?
  • 鍦?code>server3.com鍜?code>server4.com涓婇潰瀹夎memcache鏈嶅姟
  • rhe6.5

    涓婇潰鑷甫

    memcache

[[email聽protected] nginx-]# ssh  'yum install memcached -y'
[[email聽protected] nginx-]# ssh  'yum install memcached -y'
閰嶇疆鏂囦歡鍦?/etc/sysconfig/memcached 
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
           
  • 鍚姩涓ゅ彴涓繪満涓婇潰鐨?code>memcache
[root@server3 ~]# /etc/init.d/memcached start
Starting memcached:                                        [  OK  ]
[root@server3 ~]# ssh 172.25.23.4 '/etc/init.d/memcached start'
root@172..'s password: 
Starting memcached: [  OK  ]
           
  • 鍙互浣跨敤

    telnet

    鏈嶅姟鏉ョ櫥褰?code>memcache
[[email聽protected] ~]# telnet server3.com 11211
Trying ...
Connected to server3.com.
Escape character is '^]'.
add name   
ERROR
add name   
westos
STORED
get name
VALUE name  
westos
END
           
  • 淇敼

    server3.com

    涓婇潰鐨?code>test.jsp椤甸潰
[[email聽protected] ~]# vim /usr/local/tomcat/webapps/ROOT/test.jsp 

%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
out.println("<br> ID " + session.getId()+"<br>");
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > ) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
out.print("<b>Session list</b>");
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"<br>");
System.out.println( name + " = " + value);
}
%>
<form action="test.jsp" method="POST">
name:<input type=text size=20 name="dataName">
<br>
key:<input type=text size=20 name="dataValue">
<br>
<input type=submit>
</form>
</body>
</html>
           
  • 浣跨敤娴忚鍣ㄨ闂?杈懼埌涓嬮潰鐨勬晥鏋?/li>
[rhel6.5]Nginx + tomcat + memcached 的配置
  • 灏嗚繖涓〉闈㈡嫹璐濅竴浠界粰

    server4.com

  • 閰嶇疆

    Tomcat

    灏?code>session浼氳瘽淇℃伅瀛樺偍鍦ㄥ涓?code>Memcache涓婇潰,棣栧厛鏄悜鍏朵腑涓€涓?code>memcache涓婇潰杩涜瀛樺偍,杩欎釜

    memcache

    鎹熷潖涔嬪悗,灏嗘暟鎹瓨鍌ㄥ湪鍙︿竴涓妭鐐逛笂,鐢ㄤ簬閬垮厤鍗曡妭鐐規晠闅?/li>
  • 棣栧厛鍏抽棴涓や釜鑺傜偣

    server3.com

    鍜?code>server4.com涓婇潰鐨?code>tomcat鏈嶅姟
[[email聽protected] lib]# ../bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

[[email聽protected] lib]# ../bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
           
  • 闇€瑕佷笅鍒楃殑

    *.jar

    鏂囦歡

    asm-3.2.jar

    kryo-1.04.jar

    kryo-serializers-0.10.jar

    memcached-session-manager-1.6.3.jar

    memcached-session-manager-tc6-1.6.3.jar

    memcached-session-manager-tc7-1.6.3.jar

    minlog-1.2.jar

    msm-kryo-serializer-1.6.3.jar

    reflectasm-1.01.jar

    spymemcached-2.7.3.jar

  • 鍦?code>server3.com涓婇潰灏嗚繖浜涙枃浠舵斁鍦?code>/usr/local/tomcat/lib
[root@server3 ~]# mv *.jar /usr/local/tomcat/lib/
[root@server3 ~]# rm -f memcached-session-manager-tc6-1.6.3.jar
           
  • 鍦?code>server4.com涓婇潰杩涜鍚屾牱鐨勬搷浣?/li>
[root@server4 ~]# rm -f memcached-session-manager-tc6-1.6.3.jar 
[root@server4 ~]# mv *.jar /usr/local/tomcat/lib/
           
  • 淇敼鑺傜偣

    server3.com

    涓婇潰鐨勯厤缃枃浠?骞朵笖澶嶅埗涓€浠界粰

    server4.com

[root@server3 ~]# vim /usr/local/tomcat/conf/context.xml 

    <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
    memcachedNodes="n1:172.25.23.3:11211,n2:172.25.23.4:11211"
    failoverNodes="n1"
    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
    transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
    />

[root@server3 ~]# scp /usr/local/tomcat/conf/context.xml 172.25.23.4:/usr/local/tomcat/conf/context.xml
root@172..'s password: 
context.xml 
           
  • 灏?code>server4.com涓婇潰鐨勯厤缃枃浠?code>failoverNode杩涜淇敼
[root@server3 lib]# vim ../conf/context.xml 
 <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:172.25.23.3:11211,n2:172.25.23.4:11211"
failoverNodes="n2"
 requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"   transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
 /> 
           
  • 鍚姩

    server3.com

    鍜?code>server4.com涓婇潰鐨勫搴旀湇鍔?/li>
[[email聽protected] lib]# ../bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

[[email聽protected] lib]# ../bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
           
  • 鏌ョ湅鏃ュ織淇℃伅,涓や釜鑺傜偣鏄惁浜掍負澶囩敤鑺傜偣
[rhel6.5]Nginx + tomcat + memcached 的配置
[rhel6.5]Nginx + tomcat + memcached 的配置
  • 閫氳繃娴忚鍣ㄦ煡鐪?鏌ョ湅鏄惁绗﹀悎瑕佹眰
    [rhel6.5]Nginx + tomcat + memcached 的配置
[rhel6.5]Nginx + tomcat + memcached 的配置
  • 瀵逛簬涓婇潰涓ゅ紶鍥劇殑鍒嗘瀽
  • 1.绗竴寮犲浘

    server info

    鏄?code>172.25.23.4,鎸夌収瑕佹眰

    1=2

    鍐嶈緭鍏ヤ箣鍚庡簲璇ュ湪

    server3

    涓繪満涓?鍥犱負

    memcache

    姝e父鏃?浼樺厛瀛樺偍鍦?code>server3.com涓婇潰,涔嬪悗鐨勫浘,楠岃瘉浜嗚繖涓繃绋?
  • 鎺ヤ笅鏉ュ仠姝erver3.com涓婇潰鐨?code>memcache,閭d箞涓や釜鑺傜偣

    tomcat

    涓婇潰鐨勬暟鎹兘鍙兘澶熷瓨鍌ㄥ湪涓€涓妭鐐逛笂闈?
[root@server3 ~]# /etc/init.d/memcached stop
Stopping memcached:                                        [  OK  ]
           
  • 鐪嬩袱寮犲浘鐨勫姣?
    [rhel6.5]Nginx + tomcat + memcached 的配置
[rhel6.5]Nginx + tomcat + memcached 的配置
  • 骞朵笖杈撳嚭浜嗛敊璇俊鎭?
    [rhel6.5]Nginx + tomcat + memcached 的配置

繼續閱讀