一、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. 截取字符(pos,copy,Leftstr,MidStr,RightStr)以逗号为准把字符串拆分,判断字符串是否有数字、字母(大小写), 去掉字符串空格

    1.copy(a,b,c) 举个例子: str := “123456”;str1 := Copy(Str,2,3);结果就是 str1 等于 234.Copy有3个参数,第一个是你要处理的字符串,第二 ...

  2. 通过less 计算 得出图片均分布局

    <style lang="less"> @import "../style/weui.wxss"; // WXSS · 小程序 https://de ...

  3. python3爬虫-分析Ajax,抓取今日头条街拍美图

    # coding=utf-8 from urllib.parse import urlencode import requests from requests.exceptions import Re ...

  4. 用户(user)和用户组(group)相关的配置文件、命令或目录;

    1.与用户(user)和用户组(group)相关的配置文件: 1)与用户(user)相关的配置文件:/etc/passwd 注:用户(user)的配置文件:/etc/shadow 注:用户(user) ...

  5. JavaScript setInterval()執行clearInterval() 再恢復setInterval()

    clearInterval() 方法可取消由 setInterval() 设置的 timeout. clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值. ...

  6. BAPI: TRANSACTION_BEGIN的作用

    大概知道是启动一个新会话, CALL FUNCTION 'TRANSACTION_BEGIN' 业务数据处理, CALL FUNCTION 'TRANSACTION_END' 详细功能不清楚. CLE ...

  7. (扫盲)WebSocket 教程

    原文地址:http://www.ruanyifeng.com/blog/2017/05/websocket.html WebSocket 是一种网络通信协议,很多高级功能都需要它. 本文介绍 WebS ...

  8. Django CSRF 原理分析

    原文链接: https://blog.csdn.net/u011715678/article/details/48752873 参考链接:https://blog.csdn.net/clark_fit ...

  9. windows8.1电话激活密钥

    请断网安装Windows 8.1核心版:334NH-RXG76-64THK-C7CKG-D3VPT Windows 8.1专业版:XHQ8N-C3MCJ-RQXB6-WCHYG-C9WKB

  10. Eclipse Find/Replace

    1.Eclipse内容助手 选中Regular expressions,使用正则表达式进行匹配.图中出现了小黄灯,Ctrl+Space显示出帮助信息. 2.Wrap search(循环检索)选中后,检 ...