nginx + tomcat多实例

 
一、tomcat 配置多实例(修改两个端口:server端口,tomcat端口)
搭建之前,先确保已安装java和tomcat
jdk安装:http://note.youdao.com/noteshare?id=4eb8cbd7335c01a0e1d63a4e4423eb04&sub=CAF7C0E8A1274F8EACB0A45CBE05D19F
tomcat安装:http://note.youdao.com/noteshare?id=9d69288430ccafeadae081f26c957d5e&sub=F7AB1418907B4EF68A6EF7A80BDFBB39
 
 
1、java目录: /usr/local/jdk1.8.0_121/
2、tomcat目录: /usr/local/tomcat/
 
具体步骤:
1、在/usr/local/tomcat_instance/  下分别创建三个tomcat实例的目录,组成一个集群
mkdir /usr/local/tomcat_instance/tomcat1 
... tomcat2 
... tomcat3 
 
 
2、拷贝原tomcat安装目录下的相关目录,分别放入tomcat 三个实例的目录中
(1)cd /usr/local/tomcat
(2)cp -r 以下五个目录
bin conf logs temp work
到  /usr/local/tomcat_instance/tomcat1/
 
 
3、在tomcat实例下创建实例启动和停止脚本(放到tomcat实例的bin目录下)
(1)cp /usr/local/tomcat/bin/startup.sh   /usr/local/tomcat_instance/tomcat1/bin
(2)cp /usr/local/tomcat/bin/shutdown.sh   /usr/local/tomcat_instance/tomcat1/bin
(3)chmod +x    /usr/local/tomcat_instance/tomcat1/bin
 
【1】启动脚本startup.sh

【2】停止脚本shutdown.sh

 
4、修改tomcat实例中server.xml中的两个端口(Server,HTTP)
ps:不要和其它实例的端口或系统已经占用的端口发生冲突
 
(1) <Server port="9001" shutdown="SHUTDOWN">
(2) <Connector port="8001" protocol="HTTP/1.1"...>
tomcat2实例:Server port : 9002 Connector port: 8002
tomcat3实例:Server port : 9003 Connector port: 8003
(3)重启tomcat实例
 
5、创建tomcat实例的项目目录
mkdir -p  /export/App/webapps
ps:所有实例的app默认都部署到 /export/App/webapps 目录下,
注意修改server.xml中Host节点的 appBase属性的值。
eg,第一个tomcat实例

 

6、启动服务(每个tomcat实例都要指定)
/usr/local/tomcat_instance/tomcat1/bin/startup.sh  -config /usr/local/tomcat_instance/tomcat1/conf/server.xml
  
if 关闭服务,
/usr/local/tomcat_instance/tomcat1/bin/shutdown.sh
ps:
保证每个tomcat实例下的bin目录至少要有 shutdown.sh  startup.sh
 
7、查看端口:
netstat -anp |grep java
 
##########################
tomcat1
/export/App/aaa
(1)Server port   
 
(2)HTTP/1.1
 
(3)Host, Context
 

tomcat2

Host name: www.456.com       docBase: ./bbb

tomcat3

Host name: www.789.com       docBase: ./ccc

##########################
 
8、测试

(1)curl测试

curl -xlocalhost:8001 www.123.com/8001
curl -xlocalhost:8002 www.456.com/8002
curl -xlocalhost:8003 www.789.com/8003

 

(2)浏览器测试

(i)windows写hosts

(ii)访问

 

二、 nginx+tomcat

nginx充当一个代理,请求发送到后端3个tomcat

1、一台机器,一个nginx代理,三个tomcat实例
2、tomcat配置
项目目录: /export/App
(1)分别在aaa,bbb,ccc下写index.jsp
eg: tomcat 实例1
<html>
<body>
<h1>Tomcat 1 jsp test page</h1>
<%=new java.util.Date()%>
</body>
</html>
 
(2)三个tomcat实例 的 server.xml,
Host name 都改回成 "localhost" ,
这样浏览器访问可以直接:192.168.37.128:8001
这样做的好处是:方便nginx配置负载衡均虚拟主机配置文件

 

3、nginx反向代理配置
(1)主配置文件,在http模块上,开启
include vhosts/*.conf
注意: 主配置文件不需要监听端口! ——》 默认安装的配置文件是有的,要改
 
(2)nginx虚拟主机配置文件
vhosts 目录下创建 lb.conf

 

4、windows绑定hosts
C:\Windows\System32\drivers\etc\hosts
写入:
192.168.37.128 tomcat.ljy.com
 
5、关防火墙,启动nginx,tomcat
6、测试
(1)浏览器访问 tomcat.ljy.com

刷新,三个tomcat可以切换

 

(2)curl -xlocalhost:80 tomcat.ljy.com

 

posted @ 2017-05-04 17:51  windysai  阅读(5402)  评论(0编辑  收藏  举报