一、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

nginx + tomcat多实例的更多相关文章

  1. Nginx+Tomcat多实例及负载均衡配置

    Nginx+Tomcat多实例及负载均衡配置 采用nginx的反向代理负载均衡功能,配合后端的tomcat多实例来实现tomcat WEB服务的负载均衡 01 安装nginx服务 安装所需的pcre库 ...

  2. nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例

    nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例 二级域名配置 在/etc/nginx/conf.d/目录下配置二级域名同名的conf文件,路径改成对应的即可 statics. ...

  3. 02 . Tomcat多实例并用Nginx反代

    Tomcat虚拟主机 ​ 一个应用程序在某一个端口启动运行产生了一系列的进程就是一个实例,让tomcat启动两个不同的相互独立的进程,产生两个不同的套接字,分别运行在不同的端口,让不同的端口响应不同的 ...

  4. nginx + tomcat配置负载均衡

    目标:Nginx做为HttpServer,连接多个tomcat应用实例,进行负载均衡. 注:本例程以一台机器为例子,即同一台机器上装一个nginx和2个Tomcat且安装了JDK1.7. 1.安装Ng ...

  5. Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享

    Nginx+Tomcat+Redis实现负载均衡.资源分离.session共享 CentOS安装Nginx http://centoscn.com/CentosServer/www/2013/0910 ...

  6. Nginx系列3之Nginx+tomcat

    preface 公司部分应用跑得的tomcat,众所周知,tcomat高并发性能很弱,所以在处理静态请求的时候,我们就把他抛给Nginx处理,而Tomcat专门处理动态请求.所以在这里说说Nginx+ ...

  7. nginx+tomcat集群配置(4)--rewrite规则和多应用根目录设定思路

    前言: nginx中有一块很重要的概念, 就是rewrite规则. 它会对URL进行修改, 然后进行内部的重定向. rewrite授予了nginx更多的自由, 使得后级服务的接入更加地方便. 本文将简 ...

  8. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  9. nginx+tomcat集群配置(1)---根目录设定和多后端分发配置

    前言: 对于javaer而言, nginx+tomcat集群配置, 已然成了web应用部署的主流. 大公司如此, 小公司亦然. 对于个人开发者而言, 资源有限, 往往多个web应用混部于一台服务器(云 ...

随机推荐

  1. Martin Fowler’s Active Record design pattern.

    P of EAA: Active Record https://www.martinfowler.com/eaaCatalog/activeRecord.html Active Record An o ...

  2. 2014 MapReduce

    function map(String name, String document): // name: document name // document: document contents fo ...

  3. MySql 的备份与恢复

    1. 数据库导出 SQL 脚本 mysqldump -u 用户名 -p 密码 数据库名称>生成的脚本文件路径 示例: mysqldump -uroot -p 123 mydb1>/User ...

  4. JS单例

    s = (function S(){ var bean; function get(){ if(bean){ return bean }else{ bean = T(); return bean; } ...

  5. 启动 nodemanger 报错javax.security.sasl.SaslException: GSS initiate failed

    最近启动 Hadoop, nodemanger 老挂,报kerberos 验证错误,各种查找原因,时间也同步,kint 也能登录到kerberos,一直找不到原因,最后发现是网关和远端的时间同步,但是 ...

  6. SMW0 上传问题?

    *SMW0 和 OAOR 的区别在哪3个方面? SMW0 上传 出现: 没有指派至MIME 类型

  7. Python学习笔记1_初识Python

    一.Python的发展 1.CNRI时期:CNRI是自助Python发展初期的重要单位,Python1.5版之前的成果大部分都在此时期内完成 2.BeOpen时期:Guido van Rossum与B ...

  8. 两个div同时滚动

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  9. 剑指offer 面试25题

    面试25题:题目:合并两个排序的链表 题:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 解题思路:递归,并需注意对空链表单独处理. 解题代码: # -* ...

  10. 标准C语言的输入输出流(i/o)方法详解

    cppreference.com -> 标准 C I/O ->详细说明 标准 C I/O clearerr 语法: #include <stdio.h> void cleare ...