tomcat+ngnix单机搭建集群及端口占用问题
1.将tomcat复制两份,如下:
2.新建环境变量,如下:
3.修改其中一个的配置文件,另一个保持不变,修改server.xml配置文件如下:
<Server port="9005" shutdown="SHUTDOWN"> <Connector port="9080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /> <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
4.修改catalina.bat和startup.bat,如下:
将所有CATALINA_BASE改为CATALINA_2_BASE,将所有CATALINA_HOME改为CATALINA_2_HOME
5.分别start两个tomcat,如果都能正常启动,且都用自己的环境变量,则说明配置成功。
6.修改host文件配置:127.0.0.1 域名
127.0.0.1 tomcat2.mall.com
7.进入ngnix中,针对刚才配置的域名,新建conf配置文件,配置内容如下:
upstream tomcat2.mall.com {
#weight是权重相对比例,也就是刷新tomcat2.mall.com时,负载均衡到的网页的可能比例
server 127.0.0.1:8080 weight=1;#【=两边一定不要加空格】
server 127.0.0.1:9080 weight=1;
#server tomcat2.mall.com:8080;
#server tomcat2.mall.com:9080;
} server {
listen 80;
autoindex on;
server_name tomcat2.mall.com;
access_log E:/software_setup/nginx-1.10.2/nginx-1.10.2/access.log combined;
index index.html index.htm index.jsp index.php;
#error_page 404 /404.html;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location / {
proxy_pass http://tomcat2.mall.com;
add_header Access-Control-Allow-Origin *;
}
}
8.开启tomcat,开启ngnix,刷新url:tomcat2.mall.com,可以观察变化(可以修改tomcat->root下的tomcat.png的图片,观察变化)。
在idea端开启两个tomcat服务:
1.复制一份源码,并重命名,利用idea打开两个源码,就有两个窗口打开。
2.编辑第二份源码里的tomcat,如图:,修改:,将其选择在上面已经准备好的tomcat2上。然后修改:,如果正确选择在tomcat2上,http端口会自动获取到配置好的tomcat2的端口,这里应该是9080,然后修改JMX端口,不然就会与tomcat1发生冲突,这里可以改为2099.。最后修改:,删除原有的deployment,重新添加一个deployment,注意要选mall:war,不要选mall:war exploded。
3.到此为止,就可以分别启动tomcat1和tomcat2了,但是在最后关闭tomcat时,会出现端口占用问题,也就是有一个tomcat没有真正关闭,会出现这样的图标:,解决办法:在cmd命令行执行:netstat -ano,查看端口占用状态。而只要查看到1099端口的占用状态即可,比如此时是:,打开任务管理器,查看当前进程:,发现正在运行,结束当前进程即可。此时图标还原到正常:。
tomcat+ngnix单机搭建集群及端口占用问题的更多相关文章
- SolrCloud6.3 单机、集群、内置jetty、tomcat搭建、对collection操作
参考:https://my.oschina.net/u/1416405/blog/821187 1.Solr 单机 1.1.Solr下载 1.solr官网:http://lucene.apache.o ...
- Nginx+Tomcat+Memcached负载均衡集群服务搭建
操作系统:CentOS6.5 本文档主要讲解,如何在CentOS6.5下搭建Nginx+Tomcat+Memcached负载均衡集群服务器,Nginx负责负载均衡,Tomcat负责实际服务,Memc ...
- Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享
小伙伴们好久不见!最近略忙,博客写的有点少,嗯,要加把劲.OK,今天给大家带来一个JavaWeb中常用的架构搭建,即Nginx+Tomcat搭建服务集群,然后通过Spring Session+Redi ...
- 用apache和tomcat搭建集群,实现负载均衡
型的企业应用每天都需要承受巨大的访问量,在着巨大访问量的背后有数台服务器支撑着,如果一台服务器崩溃了,那么其他服务器可以使企业应用继续运行,用户对服务器的运作是透明化的,如何实现这种透明化呢?由如下问 ...
- apache和tomcat搭建集群
最近在学习简单的apache服务器和两个tomcat一起搭建集群,这里简单记录一下 1.准备工作 ①搭建一个可以运行的web项目 用maven搭建springmvc项目 ,只要将这里面的web.xml ...
- Redis 5.0.7 讲解,单机、集群模式搭建
Redis 5.0.7 讲解,单机.集群模式搭建 一.Redis 介绍 不管你是从事 Python.Java.Go.PHP.Ruby等等... Redis都应该是一个比较熟悉的中间件.而大部分经常写业 ...
- Zookeeper集群搭建(多节点,单机伪集群,Docker集群)
Zookeeper介绍 原理简介 ZooKeeper是一个分布式的.开源的分布式应用程序协调服务.它公开了一组简单的原语,分布式应用程序可以在此基础上实现更高级别的同步.配置维护.组和命名服务.它的设 ...
- Nginx + Tomcat搭建集群
一.Tomcat集群带来的好处 1.提高服务的性能,并发能力,以及高可用性 2.提供项目架构的横向扩展能力 二.Tomcat集群实现原理 通过Nginx负载均衡进行请求转发 三.Nginx + Tom ...
- 【运维技术】Zookeeper单机以及集群搭建教程
Zookeeper单机以及集群搭建教程 单机搭建 单机安装以及启动 安装zookeeper的前提是必须有java环境 # 选择目录进行下载安装 cd /app # 下载zk,可以去官方网站下载,自己上 ...
随机推荐
- ZOJ3513_Human or Pig
这个题太坑爹了,题意也好纠结. 是这样的,给你一个n*m的矩形,中间有n*m个1*1的格子,有不同的跳跃方法.如果当前为human(人类)那么他可以有意识的选择自己下一步跳往何方:如果当前为pig(猪 ...
- ZOJ3084_S-Nim
题目的意思是这样的,给定你若干堆石子,每次你可以从任一堆取出某些固定数量的石子,每次取完后必须保证没堆石子的数量不为0,谁无法操作了就算fail. 刚刚开始看题目的时候有点也没有思路,甚至连Sg函数也 ...
- BZOJ3745 COCI2015Norma(分治)
完全想不到地,考虑分治. 对区间[l,r],将左端点x由mid不断左移,右边记录最右的p满足max[mid+1,p]<=max[x,mid],q满足min[mid+1,q]>=min[x, ...
- 【转】ssh登录原理以及ssh免密码登陆
一.什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会 ...
- 【BZOJ3563/BZOJ3569】DZY Loves Chinese I/II(随机化,线性基)
[BZOJ3563/BZOJ3569]DZY Loves Chinese I/II(随机化,线性基) 题面 搞笑版本 正经版本 题面请自行观赏 注意细节. 题解 搞笑版本真的是用来搞笑的 所以我们来讲 ...
- Mysql千万级大表优化策略
1.优化sql以及索引 1.1优化sql 1.有索引但未被用到的情况(不建议) (1)避免like的参数以通配符开头时 尽量避免Like的参数以通配符开头,否则数据库引擎会放弃使用索引而进行全表扫描. ...
- python 常用 time, datetime处理
python 中 time 有三种格式: float, struct tuple(time.struct_time 或 datetime.datetime), str 常用的: float --> ...
- 使用gulp进行css、js压缩
var gulp = require('gulp'); var cleanCSS = require('gulp-clean-css'); var concatCss = require('gulp- ...
- Ambari和ClouderaManager主要不同对比
打算对新建的hadoop集群使用管理工具,列了以下主要的不同点: 主要的不同点 apache Ambari ClouderaManager Express(免费版) 配置版本控制和历史记录 支持 不支 ...
- Python基础之文件处理、函数、内置函数 (三)
内置函数 一 详细见python文档,请点击 文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') 注:python中打开 ...