Ngnix+Tomcat配置负载均衡

2024-01-18 17:08

本文主要是介绍Ngnix+Tomcat配置负载均衡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.安装tomcat

下载对应的Tomcat版本apache-tomcat-7.0.67-windows-x86.zip,解压到D:\apache-tomcat-7.0.67,配置如下环境变量:
CATALINA_HOME D:\apache-tomcat-7.0.67
Path %CATALINA_HOME%\bin;
运行D:\apache-tomcat-7.0.67\bin\startup.bat命令启动Tomcat
打开浏览器,输入http://localhost:8080/,如果能正常显示如下页面,说明Tomcat配置成功。

2.安装Ngnix

下载对应的Ngnix版本 nginx-1.6.3.zip,解压到D:\nginx-1.6.3
Ngnix的默认监听端口是80,修改默认监听端口为88(不修改也可以,只是本机的80端口已被其他服务占用了)
修改配置文件D:\nginx-1.6.3\conf\nginx.conf
server {
listen 88;
….
}

运行D:\nginx-1.6.3\nginx.exe
浏览器中输入http://localhost:88/,如果能打开如下页面,说明nginx配置成功。
配置nginx,让nginx反向代理tomcat
修改配置文件D:\nginx-1.6.3\conf\nginx.conf
server {
listen 88; #80 ==> 88
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://localhost:8080;
#root html;
#index index.html index.htm;
}

}

运行nginx -s reload重新加载ngnix的配置文件,然后启动Tomcat
在浏览器中输入http://localhost:88/,如果能打开Tomcat的主页面,说明ngnix反向代理Tomcat配置成功。

配置让Tomcat处理所有jsp页面
location ~ \.jsp$ { # / ==> ~ \.jsp
proxy_pass http://localhost:8080;
#root html;
#index index.html index.htm;
}

运行nginx -s reload重新加载ngnix的配置文件
在浏览器中输入http://localhost:88/,发现这时候显示如下页面
因为请求地址没有以jsp结尾,所以没有转发到Tomcat,如果把地址改成http://localhost:88/index.jsp,这时候会显示如下页面
发现页面虽然显示成功了,但是页面上的图片和css样式没有显示出来,因为我们没有配置让ngnix来处理这些静态页面元素,使用ngnix和tomcat的一个主要功能就是做到动静分离,即让tomcat来处理像jsp之类的动态页面,让ngnix来处理html,jpg等之类的静态页面。我们在配置文件中追加如下配置
location ~ \.(html|js|css|png|gif)$ {
root D:\apache-tomcat-7.0.67\webapps\ROOT;
}

运行nginx -s reload重新加载ngnix的配置文件
再输入http://localhost:88/index.jsp,这时候会正常显示成功页面


配置第二个Tomcat服务器
解压apache-tomcat-7.0.67-windows-x86.zip到目录 C:\apache-tomcat-7.0.67,配置如下环境变量:
CATALINA2_HOME C:\apache-tomcat-7.0.67
Path %CATALINA2_HOME%\bin;

为了避免和第一个Tomcat的端口冲突,修改Tomcat如下端口,打开C:\apache-tomcat-7.0.67\conf\server.xml文件,修改如下端口
<Server port="18005" shutdown="SHUTDOWN">
<Connector port="18080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="18443" />
<Connector port="18009" protocol="AJP/1.3" redirectPort="18443" />

修改startup.bat,catalina.bat和shutdown.bat文件内容:
(1) 打开C:\apache-tomcat-7.0.67\conf\startup.bat文件,把其中所有CATALINA_HOME替换为CATALINA2_HOME。
(2)打开C:\apache-tomcat-7.0.67\conf\catalina.bat文件,把其中所有CATALINA_HOME替换为CATALINA2_HOME。
(3)打开C:\apache-tomcat-7.0.67\bin\shutdown.bat文件,把其中所有CATALINA_HOME替换为CATALINA2_HOME。

在地址栏中输入http://localhost:18080/,如果能正常显示如下页面,说明配置成功。

配置ngnix,让它可以反向代理两台Tomcat,实现负载均衡。
修改配置文件D:\nginx-1.6.3\conf\nginx.conf
upstream local_tomcats {
server localhost:8080;
server localhost:18080;
}
server {
listen 88; #80 ==> 88
server_name localhost;
location ~ \.jsp$ { # / ==> ~ \.jsp
proxy_pass http://local_tomcats;
#root html;
#index index.html index.htm;
}

}


转自【http://www.blogjava.net/jacky9881/archive/2016/01/28/429242.html】

这篇关于Ngnix+Tomcat配置负载均衡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/619685

相关文章

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、