LNMP—MemCache在tomcat中的负载均衡
1. 什么是tomcat
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0.31。
2. 配置tomcat页面
在server2和server3中(做相同的操作):
step1 解压安装包到指定目录/usr/local/:
tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/
tar zxf apache-tomcat-7.0.99.tar.gz -C /usr/local/
cd /usr/local/
ls
ln -s jdk1.7.0_79/ java
ln -s apache-tomcat-7.0.99/ tomcat
step2 配置java环境:
vim /etc/profile
写入:
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile #重新加载配置文件
step3 测试java环境是否配置成功:
cd
vim test.java
写入:
public class test
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}
javac test.java #javac编译.java脚本
java test #运行脚本
step4 启动tomcat:
cd /usr/local/tomcat/
bin/startup.sh
netstat -antlp #查看到8080端口开启,说明启动成功
step5 测试:
访问172.25.254.2:8080和访问172.25.254.3:8080 #查看到tomcat默认页面
3. MemCache在tomcat中的负载均衡
step1 给server2和server3添加测试页面:
cd /usr/local/tomcat/webapps/ROOT/ #tomcat默认发布目录
vim test.jsp
写入:
server2-The time is: <%=new java.util.Date() %>
step2 发给server3:
scp test.jsp root@172.25.254.3:/usr/local/tomcat/webapps/ROOT/
step3 在server3中修改:
vim test.jsp
修改2为3:
server3-The time is: <%=new java.util.Date() %>
step4 测试:
访问172.25.254.2:8080/test.jsp和172.25.254.3:8080/test.jsp #看到写好的测试页内容
step5 代理服务器:
在server1中:
/usr/local/openresty/nginx/sbin/nginx -s stop #关闭之前使用的openresty(没有做过可忽略)
cd /usr/local/lnmp/nginx/conf/
vim nginx.conf
17 http {
18 include mime.types;
19 default_type application/octet-stream;
20 upstream tomcat {
21 server 172.25.254.2:8080; #后端服务器
22 server 172.25.254.3:8080; #后端服务器
23 }
47 location / {
48 root /usr/local/tomcat/webapps/ROOT;
49 index index.html index.htm;
50 }
63 location ~ \.jsp$ {
64 proxy_pass http://tomcat;
65 }
nginx -t
nginx -s reload
step6 测试:
访问172.25.254.1/test.jsp #看到server2和server3的测试页,刷新一次改变一次(轮询)