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单机搭建集群及端口占用问题的更多相关文章

  1. SolrCloud6.3 单机、集群、内置jetty、tomcat搭建、对collection操作

    参考:https://my.oschina.net/u/1416405/blog/821187 1.Solr 单机 1.1.Solr下载 1.solr官网:http://lucene.apache.o ...

  2. Nginx+Tomcat+Memcached负载均衡集群服务搭建

    操作系统:CentOS6.5  本文档主要讲解,如何在CentOS6.5下搭建Nginx+Tomcat+Memcached负载均衡集群服务器,Nginx负责负载均衡,Tomcat负责实际服务,Memc ...

  3. Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享

    小伙伴们好久不见!最近略忙,博客写的有点少,嗯,要加把劲.OK,今天给大家带来一个JavaWeb中常用的架构搭建,即Nginx+Tomcat搭建服务集群,然后通过Spring Session+Redi ...

  4. 用apache和tomcat搭建集群,实现负载均衡

    型的企业应用每天都需要承受巨大的访问量,在着巨大访问量的背后有数台服务器支撑着,如果一台服务器崩溃了,那么其他服务器可以使企业应用继续运行,用户对服务器的运作是透明化的,如何实现这种透明化呢?由如下问 ...

  5. apache和tomcat搭建集群

    最近在学习简单的apache服务器和两个tomcat一起搭建集群,这里简单记录一下 1.准备工作 ①搭建一个可以运行的web项目 用maven搭建springmvc项目 ,只要将这里面的web.xml ...

  6. Redis 5.0.7 讲解,单机、集群模式搭建

    Redis 5.0.7 讲解,单机.集群模式搭建 一.Redis 介绍 不管你是从事 Python.Java.Go.PHP.Ruby等等... Redis都应该是一个比较熟悉的中间件.而大部分经常写业 ...

  7. Zookeeper集群搭建(多节点,单机伪集群,Docker集群)

    Zookeeper介绍 原理简介 ZooKeeper是一个分布式的.开源的分布式应用程序协调服务.它公开了一组简单的原语,分布式应用程序可以在此基础上实现更高级别的同步.配置维护.组和命名服务.它的设 ...

  8. Nginx + Tomcat搭建集群

    一.Tomcat集群带来的好处 1.提高服务的性能,并发能力,以及高可用性 2.提供项目架构的横向扩展能力 二.Tomcat集群实现原理 通过Nginx负载均衡进行请求转发 三.Nginx + Tom ...

  9. 【运维技术】Zookeeper单机以及集群搭建教程

    Zookeeper单机以及集群搭建教程 单机搭建 单机安装以及启动 安装zookeeper的前提是必须有java环境 # 选择目录进行下载安装 cd /app # 下载zk,可以去官方网站下载,自己上 ...

随机推荐

  1. ural1519-Formula 1

    题意 给出一个 \(n\times m\) 的棋盘,上面有一些格子是不能经过的.求有多少种欧拉回路可以经过所有可经过到格子.\(n,m\le 12\) . 分析 上个月就看了一下插头dp,然而这道题写 ...

  2. BZOJ 1483 梦幻布丁(链表+启发式合并)

    给出一个长度为n的序列.支持两种操作: 1.把全部值为x的修改成y.2.询问序列有多少连续段. 我们可以对于每个值建立一个链表.对于操作1,则可以将两个链表合并. 对于操作2,只需要在每次合并链表的时 ...

  3. var和let使用上的对比

    var和let比较 1. let没有预解析,不存在变量提升.在代码块中,只要let定义变量,在之前使用,都是报错.先定义完再使用. let a = 12; function fn(){ alert(a ...

  4. 【转】Unable to load embedded resource from assembly 无法加载的程序集嵌入的资源

    转自:http://blog.sina.com.cn/s/blog_994678b90101f035.html 项目运用IbatisNet 今天更新项目,编译完点击运行,报错如下: [“/”应用程序中 ...

  5. Netsh命令-修改网络IP设置

    原文链接地址:https://blog.csdn.net/qq_38054198/article/details/77990914 静态设置IP 修改IP地址addr和子网掩码mask: \>n ...

  6. MSF下ms17_010_psexec模块使用技巧

    0x01 前言 MS17-010 的psexec是针对Microsoft Windows的两款最受欢迎的漏洞进行攻击. CVE-2017-0146(EternalChampion / EternalS ...

  7. Linux内核分析5

    周子轩 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.学习总结 通过gdb ...

  8. Linux内核分析第五周学习总结——分析system_call中断处理过程

    Linux内核分析第五周学习总结--分析system_call中断处理过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

  9. springboot如何集成mybatis的pagehelper分页插件

    mybatis提供了一个非常好用的分页插件,之前集成的时候需要配置mybatis-config.xml的方式,今天我们来看下它是如何集成springboot来更好的服务的. 只能说springboot ...

  10. mysql 中delete和trncate区别

    mysql中删除表记录delete from和truncate table的用法区别: MySQL中有两种删除表中记录的方法:(1)delete from语句,(2)truncate table语句. ...