1.apache2.2.6+jdk1.6+tomcat6的安装
java环境的搭建:
[root@vm2 mnt]# ls
apache-tomcat-7.0.37.tar.gz jdk-6u32-linux-x64.bin
[root@vm2 mnt]# chmod +x jdk-6u32-linux-x64.bin
[root@vm2 mnt]# ./jdk-6u32-linux-x64.bin
[root@vm2 mnt]# mv jdk1.6.0_32/ /usr/local/jdk
[root@vm2 mnt]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
[root@vm2 mnt]# source /etc/profile
tomcat的安装:
[root@vm2 mnt]# tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
[root@vm2 mnt]# cd /usr/local/
[root@vm2 local]# cd tomcat/bin/
[root@vm2 bin]# ./startup.sh
[root@vm2 bin]# netstat -antlp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 1147/java
tcp 0 0 :::8009 :::* LISTEN 1147/java
tcp 0 0 :::8080 :::* LISTEN 1147/java
[root@vm2 bin]# iptables -F
我们在浏览器中输入:192.168.1.3:8080,显示下面页面表示成功:

2.nginx和tomcat的整合
[root@vm2 ROOT]# nginx
[root@vm2 ROOT]# curl -I localhost
HTTP/1.1 502 Bad Gateway
Server: nginx/
Date: Fri, 13 Mar 2015 04:05:10 GMT
Content-Type: text/html
Content-Length: 537
Connection: keep-alive
ETag: "55013549-219"
[root@vm2 ~]# vim /usr/local/lnmp/nginx/conf/nginx.conf #添加下面内容
- location / {
- root /usr/local/tomcat/webapps/ROOT;
- index index.jsp index.html index.htm;
- }
-
- location ~ \.jsp$ {
- proxy_pass
- }
这时我们可以做测试了!

3.接下来我们做nginx与tomcat负载均衡:
另外开启一台一样配置(jdk、apache-tomcat)的虚拟机vm4(192.168.1.4)
通过vm2的nginx去管理vm4的tomcat实现负载均衡
首先我们必须重新编译安装nginx,加上nginx-sticky-module-1.0组件
[root@vm2 mnt]# tar zxf nginx-sticky-module-1.0.tar.gz
[root@vm2 nginx-1.4.2]# make clean
[root@vm2 nginx-1.4.2]# ./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --add-module=/mnt/nginx-sticky-module-1.0
[root@vm2 nginx-1.4.2]# make && make install
[root@vm2 nginx-1.4.2]# nginx -t
[root@vm2 nginx-1.4.2]# nginx
[root@vm2 ~]# vim /usr/local/lnmp/nginx/conf/nginx.conf
-
user nginx nginx; //这里是他所属的用户和组
-
worker_processes 2; //这里是他的闲置个数
-
-
#error_log logs/error.log;
-
#error_log logs/error.log notice;
-
#error_log logs/error.log info;
-
-
-
#pid logs/nginx.pid;
-
-
-
events {
-
use epoll; //nginx的高性能模式
-
worker_connections 1024;
-
}
-
-
http {
-
upstream tomcatcluster { //集群管理,第一台主机和第二台的tomcat
-
//配置相同,并且两台tomcat都保持开启
-
//两台机器的都必须有java环境,注意/etc/profile
-
sticky; //nginx捻切位
-
server 192.168.0.112:8080;
-
server 192.168.0.122:8080;
-
}
-
include mime.types;
-
default_type application/octet-stream;
-
-
#access_log logs/host.access.log main;
-
-
-
location / {
-
root /usr/local/tomcat/webapps/ROOT; //发布目录
-
index test.jsp index.html index.htm; //发布页
-
}
-
-
location ~ \.jsp$ {
-
proxy_pass http://tomcatcluster; //默认的负载集群
-
}
-
-
-
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
-
#
-
#location ~ \.php$ {
-
# root html;
-
# fastcgi_pass 127.0.0.1:9000;
-
# fastcgi_index index.php;
-
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
-
# include fastcgi_params;
-
#}
- .....
[root@vm2 ~]#cd /usr/local/lnmp/nginx/logs/ //该目录为nginx的日志发布目录
在两台主机上都加入测试页面:
[root@vm2 ~]# vim /usr/local/tomcat/webapps/ROOT/test.jsp
The time is: <%= new java.util.Date() %>
[root@vm2 ~]# scp /usr/local/tomcat/webapps/ROOT/test.jsp 192.168.1.4:/usr/local/tomcat/webapps/ROOT/
开启服务:
[root@vm2 ~]# /usr/local/tomcat/bin/startup.sh
[root@vm4 ~]# /usr/local/tomcat/bin/startup.sh
接下来进行测试:192.168.1.3/test.jsp

[hy@hy updata]$ ls
kryo-1.03.jar
kryo-serializers-0.8.jar
memcached-2.5.jar
memcached-session-manager-1.5.1.jar
memcached-session-manager-tc6-1.5.1.jar
memcached-session-manager-tc7-1.5.1.jar
minlog-1.2.jar
msm-kryo-serializer-1.5.1.jar
reflectasm-0.9.jar
[hy@hy updata]$ scp * root@192.168.1.3:/usr/local/tomcat/lib
[hy@hy updata]$ scp * root@192.168.1.4:/usr/local/tomcat/lib
[root@vm2 lib]# rm -fr memcached-session-manager-tc6-1.5.1.jar
[root@vm4 lib]# rm -fr memcached-session-manager-tc6-1.5.1.jar
[root@vm2 bin]# ./shutdown.sh #停掉任意一个主机的tomcat服务,这里我们shutdown vm2的
查看tomcat的日志文件,我们发现此时vm2 tomcat已经停止了

这时我们去刷新我们的测试页,已经由vm4接管服务了:

这时我们看到的负载搭建成功!