nginx+tomcat主机集群实现

来源:互联网 发布:网络大型游戏 编辑:程序博客网 时间:2024/05/17 19:18
在CentOS6.5环境下,基于Nginx实现tomcat单机多实例集群。

1、安装nginx
[root@tomcat-zhu ~]# cd /home/ 
[root@tomcat-zhu home]# get http://mirrors.sohu.com/nginx/nginx-1.9.8.tar.gz
[root@tomcat-zhu home]#tar zxvf nginx-1.9.8.tar.gz
[root@tomcat-zhu home]# mv nginx-1.9.8 nginx
[root@tomcat-zhu home]#  yum install -y gcc-c++ pcre-devel zlib-devel 
[root@tomcat-zhu home]# cd nginx
[root@tomcat-zhu nginx]# ./configure
[root@tomcat-zhu nginx]# make
[root@tomcat-zhu nginx]# make instal

编写nginx启动脚本,此服务不支持加入系统服务
[root@tomcat nginx-1.4.4]# vim /etc/init.d/nginx
参考脚本:http://www.apelearn.com/study_v2/chapter18.html
[root@tomcat-zhu conf]# /usr/local/nginx/sbin/nginx -s stop    (关闭nginx服务)
[root@tomcat-zhu conf]# /usr/local/nginx/sbin/nginx                (启动nginx服务)
[root@tomcat-zhu conf]# /usr/local/nginx/sbin/nginx -s reload (重启nginx服务)
[root@tomcat nginx-1.4.4]# chmod 755 /etc/init.d/nginx 
[root@tomcat-zhu nginx]# chkconfig --add nginx
nginx 服务不支持 chkconfig
[root@tomcat-zhu nginx]# /etc/init.d/nginx start
[root@tomcat-zhu nginx]# curl -I 10.130.130.180                                     http://10.130.130.180
 

2、安装jdk
[root@tomcat-zhu home]# yum install -y java-1.7*
[root@tomcat-zhu home]# java -version
java version "1.7.0_95"
OpenJDK Runtime Environment (rhel-2.6.4.0.el6_7-x86_64 u95-b00)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

3、安装tomcat
[root@tomcat-zhu home]#wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.68/bin/apache-tomcat-7.0.68.tar.gz
[root@tomcat-zhu home]# tar -zxvf apache-tomcat-7.0.68.tar.gz
[root@tomcat-zhu home]# mv apache-tomcat-7.0.68 tomcat
[root@tomcat-zhu home]# cd tomcat/bin
[root@tomcat-zhu bin]# ps aux |grep tomcat
[root@tomcat-zhu bin]# curl -I 127.0.0.1:8080                                    http://10.130.130.180:8080/
 
 
4、配置单机多实例
[root@tomcat-zhu home]# cp -r  tomcat tomcat1
[root@tomcat-zhu home]# cd tomcat1/conf
[root@tomcat-zhu conf]# vi /home/tomcat1/conf/server.xml   # 编辑三个端口号
<Connector port="8081" protocol="HTTP/1.1"    8080—8081
<Connector port="8008" protocol="AJP/1.3" redirectPort="8443" />  8009—8008
<Server port="8004" shutdown="SHUTDOWN">  8005—8004
[root@tomcat-zhu bin]# ./startup.sh      (启动tomcat服务)
[root@tomcat-zhu bin]# ./shutdown.sh (关闭tomcat服务)
[root@tomcat-zhu bin]# netstat -lnp |grep 80  (查看tomcat端口)
http://10.130.130.180:8081/     [root@tomcat-zhu bin]# curl -I 10.130.130.180:8081 (测试tomcat服务)

5、配置nginx负载均衡
编辑和创建文件
[root@tomcat-zhu ~]# ls /usr/local/nginx/conf/
proxy.conf   nginx.conf    gzip.conf         
gzip.conf nginx.conf proxy.conf
编辑完成重启nginx服务
[root@tomcat-zhu ~]# /etc/init.d/nginx restart
停止 Nginx:                                               [确定]
正在启动 Nginx:                                           [确定]

6、测试
测试之前开启nginx服务,但是不开放tomcat服务,测试报错,查看报错文件:/usr/local/nginx/logs/error.log
[root@tomcat-zhu ~]# curl -I 10.130.130.180
HTTP/1.1 502 Bad Gateway
开启某个tomcat1服务,再次测试,恢复正常。
a、同时开启tomcat、tomcat1服务。
[root@tomcat-zhu /]# ./home/tomcat/bin/startup.sh
[root@tomcat-zhu /]# ./home/tomcat1/bin/startup.sh
[root@tomcat-zhu /]# curl -I localhost
HTTP/1.1 200 OK 
[root@tomcat-zhu /]# curl -I localhost:8080 
HTTP/1.1 200 OK
[root@tomcat-zhu /]# curl -I localhost:8081 
HTTP/1.1 200 OK
b、关闭tomcat1、开启tomcat服务。
通过测试[root@tomcat-zhu /]# curl -I localhost    正常
[root@tomcat-zhu /]# curl -I localhost:8081   不可达
[root@tomcat-zhu /]# curl -I localhost:8080   正常
c、关闭tomcat、开启tomcat1服务。
通过测试[root@tomcat-zhu /]# curl -I localhost    正常
[root@tomcat-zhu /]# curl -I localhost:8081    正常
[root@tomcat-zhu /]# curl -I localhost:8080    不可达
Windows客户端编辑hosts文件,可以通过浏览器进行测试,但是由于前端web界面属于开发人员的工作,通过修改代码来实现前端的变化是行不通的。只能通过带端口号的网址打开,在后端停止、开启切换tomcat应用来查看前端web变化。
0 0