首页 > 代码库 > Tomcat

Tomcat

                       Tomc

  tomcat简介:Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的


实验环境:

                 server1:172.25.45.1

                 server2:172.25.45.2

    iptables off and selinux disabled

安装tomcat


所需要的软件包: apache-tomcat-7.0.37.tar.gz


1
tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/lnmp/
1
2
3
4
cd /usr/local/lnmp/
ln -s apache-tomcat-7.0.37/ tomcat
cd tomcat/
bin/startup.sh


技术分享

1
vim /usr/local/lnmp/nginx/conf/nginx.conf

location ~ \.php$之后,添上以下内容(82行之后)

location ~ \.jsp$ {

proxy_pass http://172.25.45.1:8080;

}


技术分享

1
nginx -s reload


技术分享

1
2
cd /usr/local/lnmp/tomcat/webapps/ROOT
vim test.jsp

The time is:<%=new java.util.Date()%>

技术分享

2.tomcat 集群

再启动一个虚拟机server2,把配置好的java-jdktomcat复制到启动的server2

 

server1

1
2
3
scp -r /usr/local/java/ root@172.25.45.2:/usr/local/
scp -r /usr/local/lnmp/tomcat/ root@172.25.45.2:/usr/local/
scp /etc/profile root@172.25.45.2:/etc/


server2

1
2
3
4
source /etc/profile
echo $PATH
cd /usr/local/tomcat
bin/startup.sh

 

访问server2tomcat

技术分享



3.rr论寻

server1

1
vim /usr/local/lnmp/nginx/conf/nginx.conf

 16 http {

 17         upstream westos{

 18                 server 172.25.45.1:8080;

 19                 server 172.25.45.2:8080;

 20         }


技术分享

修改server后的端口值为8080

 

 81         location ~ \.jsp$ {

 82         proxy_pass http://westos;

 83         }

技术分享

proxy_pass改为http://westos

 

1
2
nginx -t
nginx -s reload
1
2
cd /usr/local/lnmp/tomcat/webapps/ROOT
vim test.jsp

在内容最前面加上server1-

 

server2

1
cd /usr/local/tomcat/webapps/ROOT

server2test.jsp也进行修改,在内容最前面加上server2-

 

访问172.25.45.1/test.jsp 

页面显示会在server1-The timeThe time之间切换

关闭server1tomcat,只显示server2/usr/local/lnmp/tomcat/webapps/ROOT/test.jsp 内容

技术分享技术分享

4.ip_hash

 

1
vim /usr/local/lnmp/nginx/conf/nginx.conf

17upstream westos段下添上ip_hash;

技术分享

同一个ip访问的是同一台服务器

1
./shutdown.sh

关闭一台后访问另外一台

 

5.sticky模式

 

从新编译1.8版本的nginx

 

1
2
tar zxf nginx-1.8.0.tar.gz 
tar zxf nginx-sticky-module-1.0.tar.gz
1
2
3
4
./configure \
 --prefix=/usr/local/lnmp/nginx \
--with-http_ssl_module --with-http_stub_status_module \
--add-module=/mnt/nginx-sticky-module-1.0

1
2
or
./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --add-module=/root/nginx-sticky-module-1.0


1
vim /usr/local/lnmp/nginx/conf/nginx.conf

17upstream westos段下注释掉ip_hash添上sticky

技术分享

1
vim /usr/local/lnmp/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() > 0) {

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>

 

sticky 模式当用户访问,只要访问主机tomcat不挂,就一直访问同一个

 

1
vim /usr/local/lnmp/nginx/conf/nginx.conf

注释掉sticky

1
2
nginx -t
nginx -s reload


技术分享技术分享

server1

1
vim /usr/local/lnmp/nginx/conf/nginx.conf

取消sticky的注释

1
2
nginx -t
nginx -s reload


技术分享

server2

1
2
cd /usr/local/tomcat/logs  
tail -f catalina.out
1
2
cd /usr/local/tomcat
bin/shutdown.sh

技术分享

本文出自 “huangguanhua” 博客,转载请与作者联系!

Tomcat