Tomcat+Nginx配置以及Tomcat宕机后的问题

Tomcat+Nginx配置以及Tomcat宕机后的问题公司最近在做一个spring项目服务器用的是tomcat,但是又怕性能与负载过大,这时候我们借用Nginx进行服务转发,好的现在先给张图看看Nginx主要起什么作用。不管是一个还是多个客户端发起请求,先通过Nginx代理器,Nginx代理器再将任务分发到各个服务器。这样一看是不是觉得很方便(妈妈再也不担心的的负载问题了)。好了不多说了,不喜欢写太多直接上配置。假如说我们有一个w

大家好,又见面了,我是你们的朋友全栈君。

公司最近在做一个spring项目服务器用的是tomcat,但是又怕性能与负载过大,这时候我们借用Nginx进行服务转发,好的现在先给张图看看Nginx主要起什么作用。

Tomcat+Nginx配置以及Tomcat宕机后的问题

不管是一个还是多个客户端发起请求,先通过Nginx代理器,Nginx代理器再将任务分发到各个服务器。这样一看是不是觉得很方便(妈妈再也不担心的的负载问题了)。

好了不多说了,不喜欢写太多直接上配置。

假如说我们有一个web应用,需要Tomcat作为容器去运行。我们把要运行的项目直接扔进tomcat目录的webapps文件夹中。tomcat会帮我们运行。

Tomcat+Nginx配置以及Tomcat宕机后的问题Tomcat+Nginx配置以及Tomcat宕机后的问题Tomcat+Nginx配置以及Tomcat宕机后的问题Tomcat+Nginx配置以及Tomcat宕机后的问题

我只是把这个项目打成了war的包,你也可以将Eclipse运行过的项目。

Tomcat+Nginx配置以及Tomcat宕机后的问题Tomcat+Nginx配置以及Tomcat宕机后的问题Tomcat+Nginx配置以及Tomcat宕机后的问题

Tomcat先把项目放进去然后我们来到apache-tomcat-8.0.30的上级目录把tomcat拷贝三份,然后新建一个文件夹放进去,就像这样:

Tomcat+Nginx配置以及Tomcat宕机后的问题

我新建了一个文件夹叫ngixn-1.12.2-admin然后放入三个Tomcat。放进去后我们是不是应该改点东西,对就是端口要不然三个都是8080那岂不麻烦。进入D:\nginx-1.12.2-admin\apache-tomcat-8.0.30-1\conf\server.xml修改配置

Tomcat+Nginx配置以及Tomcat宕机后的问题

然后其他两个tomcat也得修改,以上边得图为准。比如修改tomcat2我们就改成28006,28080,28010。(tomcat3同理)这样方便我们一会儿去配置Nginx。

好的现在重点来了Tomcat我们已经搞好了,现在要轮到我们得猪脚(主角)Nginx登场。先下载:Nginx下载 我们进入官网选择Stable Version版本下载nginx/Windows-1.12.2。(稳定版企业中用的比较多)下载完成后解压。

Tomcat+Nginx配置以及Tomcat宕机后的问题

这时候已经下载好了,我们直接双击nginx.exe(如果出现闪退不要紧张。打开任务管理器看看nginx有没有在运行)运行nginx

Tomcat+Nginx配置以及Tomcat宕机后的问题

我们在地址栏输入localhost运行出现

Tomcat+Nginx配置以及Tomcat宕机后的问题

好的没有问题,进入管理器把nginx结束掉。我们开始配置nginx+tomcat(我要开始装逼了,非战斗人员快速撤离)。打开nginx目录找到conf配置文件夹进入找到nginx.conf。使用文本或者Notepad++打开他。

配置upstream,就像这样

Tomcat+Nginx配置以及Tomcat宕机后的问题

配置的信息就是咱们刚才给tomcat设置的端口号18080,28080,38080。ip就是本机所以是localhost如果你用的是服务器就直接整ip。(有没有一种恍然大雾的赶脚。喔~~原来是这样,来我们继续装逼)。

配置完了upstream 我们下来设置监听

Tomcat+Nginx配置以及Tomcat宕机后的问题

这个http://localhost:80/就是我们nginx的地址proxy_pass 后边就是我们要配置的值,http://集群的名称。我们给集群起的名字叫local_tomcat所以相应的值就是http://local_tomcat。这样的配置就相当于我们访问localhost:80的时候他会帮我们把请求分发到localhost:18080,localhost:28080,localhost:38080其中的一个。好了配置是不是也很简单。我们来试试:

我的项目叫admin我写了一个测试类我们来访问下原地址应该是http://localhost:18080/admin/web/test(访问的前提是你把三个tomcat都运行起来,配置完nginx也运行起来。)

Tomcat+Nginx配置以及Tomcat宕机后的问题

这是我运行tomcat返回的一串json字符串。然后我们用nginx试试把。那么nginx的地址应该是什么呢。应该是这样的:http://localhost:80/admin/web/test

Tomcat+Nginx配置以及Tomcat宕机后的问题

好了结束了,如果小伙伴们要配置多个upstream监听。请私信找我,我帮你们搞。这里总结几点。

1.不知道为何本机加上权重weight后无法正常运行。懂得小伙伴帮我留下言是怎么回事,感激不尽。

2.还有有的小伙伴的nginx.conf无法读取总是报错无法启动nginx。请注意用notepad++打开后编码方式应该用“以UTF-8无BOM编码格式”保存。要不然是无法读取配置信息的。

关于服务器宕机情况大家只需要这样就可以了。

Tomcat+Nginx配置以及Tomcat宕机后的问题

这个属性是为了让转发时。tomcat的服务器要是1秒没响应就直接切换服务器。当tomcat1在1s没有响应他就会换tomcat2或者tomcat3。是不是觉得很方便呀。结束

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159412.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ip地址归属地_电脑ip地址归属地查询

    Ip地址归属地_电脑ip地址归属地查询点击↑上方↑蓝色“编了个程”关注我~这是Yasin的第61篇原创文章最近各大社交平台都悄悄上线了一个新功能,就是显示用户的IP归属地,境内精确到省级,境外精确到国家或地区。在个人信息和每条评论上面都有,也是炸出来了一波xx在xx国的账号,各大号主纷纷出视频解释自己的ip归属为什么在国内,有说用代理的,有说给家人登录的,也有说在国内有工作室(团队)的……今天从技…

    2022年9月1日
    7
  • COLORREF转换为16进制

    COLORREF转换为16进制CString nbsp CGTLib clr2htext constCOLORRE nbsp CStringstrCl nbsp strClr Format 02x 02x 02x GetRValue clr GetGValue clr GetBValue clr nbsp returnstrClr nbsp

    2025年8月5日
    4
  • jmeter-http代理服务器,录制脚本,抓包-包含模式,过滤指定域名(url)数据

    jmeter-http代理服务器,录制脚本,抓包-包含模式,过滤指定域名(url)数据

    2021年9月18日
    89
  • 自动化运维平台分析「建议收藏」

    自动化运维平台分析「建议收藏」在项目上线完成后,业务系统或平台自然就转入了运维管控期,而在运维期两个重点,一个就是运维流程的标准化和规范化,另外一个就是运维工作本身的自动化。对于运维自动化将成为后续我重点关注的一个内容,因为本身我们DevOps实践也需要这方面的积累。对于运维自动化,传统我们可能是编写自动化的运维脚本,然后是手工或定时的执行运维脚本完成整个自动化执行过程和运维例行检查。而今天要谈自动化运维平台,里面一个重点就是基于我们面对的运维场景,如何将运维操作或任务进行细粒度分解,然后再对运维操作进行组合和编排。为…

    2022年5月17日
    35
  • 解散群通知怎么写_家人微信群想解散通知怎么写「建议收藏」

    展开全部参考如bai下:1、明天我们这个群就要解du散了,请把这zhi个小礼物装dao在胸膛,它会化成你的信念专和力属量,鼓舞你去战胜狂风恶浪。2、不要说珍重,不要说再见,就这样,默默地离开。但愿,在金色的秋季,友谊之树上将垂下丰硕的果子,各位群友们珍重。3、你临别的微笑虽然只是短短的一瞬,但是摄在我心的底片上,却留下了永恒。我时时将它托在思念的掌心里,那形象是那么真切,那么清晰,群友们再见!4、…

    2022年4月3日
    419
  • mysql的case when语法_sql基本语句大全

    mysql的case when语法_sql基本语句大全介绍mysql数据库中casewhen语句的用法,首先介绍casewhen语句的基础知识,然后提供了相关例子。(1)mysql数据库中CASEWHEN语句。casewhen语句,用于计算条件列表并返回多个可能结果表达式之一。CASE具有两种格式:简单CASE函数将某个表达式与一组简单表达式进行比较以确定结果。CASE搜索函数计算一组布尔表达式以确定结果。两种格式都支持…

    2025年9月18日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号