环境:
nginx(openresty):server1[172.25.5.1];
tomcat主机:server3[172.25.5.3]、server4[172.25.5.4]
之前说过了nginx对于php动态页面的处理,这次说一说nginx对jsp动态页面的处理。
.php页面的处理需要php-fpm,.jsp页面的处理需要tomcat。
tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
下载安装
首先安装jdk,可以在阿里云镜像站找到
在官网tomcat.apache.org可以下载到tomcat的源码包
tomcatd的压缩包解压完成后不需要编译,只需要将其解压到你制定的目录中即可,我自己是解压到了/usr/local/tomcat
[root@server3 mnt]# cd /usr/local/tomcat/
[root@server3 tomcat]# ls
bin lib logs RELEASE-NOTES temp work
conf LICENSE NOTICE RUNNING.txt webapps
其中在bin下存放着tomcat开启和关闭的脚本startup.sh和shutdown.sh
执行startup.sh即可启动tomcat:
[root@server3 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
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
默认监听8080端口:
[root@server3 bin]# netstat -antlupe | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 0 1237104 11331/java
tomcat的默认发布页面是在解压目录下/webapp/ROOT目录,默认发布页为index.jsp
此时就可以通过8080端口访问其默认发布页:
和php的思路相同,在nginx里定义反向代理:
调用:
在nginx默认发布目录中新建jsp文件:
此文件为一个sission测试页:
<%@ 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>
进行访问:
成功访问,实现后端轮询!