一、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. 新手之使用git

    本篇博客针对不会Git的小童鞋,大神们可以绕过,错误之处谢谢指正: 关于GitHub的强大此处不在说明,知道GitHub也有一段时间了,但是一直苦于不会使用. 本篇文章介绍的是如何将工程代码托管到上面 ...

  2. <mvc:view-controller path=""/>标签的作用

    <mvc:view-controller path=""/>标签的作用 对应WEB-INF目录下面的JSP页面,我们知道是不能直接使用URL访问到.需要通过转发的方式, ...

  3. VS2015 如何打印出 类的内存布局?

    项目->属性->C/C++->命令行 添加如下内容: /d1 reportAllClassLayout [XXX] XXX 可选,代表源文件名,例如 main.cpp 或 /d1 r ...

  4. js验证表单大全2

    屏蔽右键 很酷  oncontextmenu="return false" ondragstart="return false"onselectstart=&q ...

  5. 《Tensorflow技术解析与实战》第四章

    Tensorflow基础知识 Tensorflow设计理念 (1)将图的定义和图的运行完全分开,因此Tensorflow被认为是一个"符合主义"的库 (2)Tensorflow中涉 ...

  6. 2.1 使用ARDUINO控制MC20打电话

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...

  7. Django——Session源码分析

    首先我们导入django.contrib.sessions.middleware这个中间件,查看里面的Session源码 from django.contrib.sessions.middleware ...

  8. LeetCode:寻找数组的中心索引【668】

    LeetCode:寻找数组的中心索引[668] 题目描述 给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法. 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和 ...

  9. $2015 武汉森果公司web后端开发实习日记----书写是为了更好的思考

    找暑期实习,3月份分别投了百度和腾讯的实习简历,都止步于笔试,总结的主要原因有两点:基础知识不扎实,缺乏项目经验.后来到拉勾网等网站上寻找实习,看了很多家,都还是处于观望状态.后来参加了武汉实习吧在大 ...

  10. python:格式化输出 str.format()

    官网说明:https://docs.python.org/2/library/string.html#formatstrings python的格式输出有两种方法: 1.“ %s”.(variant) ...