9、Tomcat服务器搭建与Nginx负载均衡

Tomcat服务器搭建与Nginx负载均衡

一、Tomcat的使用场景

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,因此主要用于运行JSP 页面和Servlet,功能没有Apache和Nginx功能全面,性能也不及它俩。

二、部署Tomcat Web服务器与Tomcat特点

实验用例是Tomcat免安装版,Tomcat依赖JDK环境,因此如果没有JDK需要安装。

1、解压Tomcat免安装版的压缩包

2、分析一下网页资源的目录在Webapps

Webapps/ROOT #默认主页所在的目录

3、开启Tomcat服务 bin/startup.sh,Tomcat的默认端口是8080

三、Tomcat+Nginx实现负载均衡

权重:负载均衡机制通过服务器权重的设置来分配服务器的资源使用。

实验环境:一台Centos6虚拟机部署1个Nginx、2个tomcat服务器

1、将三个服务器在一个机器中部署:

​ 要想在1台虚拟机部署三个Web服务器首先要考虑的就是端口占用问题,Nginx默认80、Tomcat默认8080,因此只需要将其中一个Tomcat端口改为8081即可。

​ Tomcat服务器配置端口比传统服务器复杂,通过PREFIX/conf/server.xml中对各个标签头port的修改即可。也许不需要 ->(并且需要在第二个tomcat服务器的start.sh和stop.sh中加入export CATALINA_HOME=第二个Tomcat的PREFIX目录路径export CATALINA_BASE=第二个Tomcat的PREFIX目录路径即可)。

2、Nginx配置文件中配置负载均衡

在http{}中加入负载均衡集群配置:

upstream 负载均衡配置块名(tomcat_server) {

​ server 服务器IP:端口 weight=权值; #配置负载均衡集群中的服务器地址并赋予权重

​ server 服务器IP:端口 weight=权值; #同上

}

在location / {}中加入代理配置:

proxy_pass http://负载均衡配置块名; #每当访问nginx的/下的网页都会触发该代理

四、正向代理服务器和反向代理服务器

1、反向代理服务器:类似于Nginx负载均衡,用户在向服务器请求服务时,对于用户来说不清楚真正为其服务的是哪个服务器,则用户所请求的服务器类型就称为反向代理服务器。(用户已知,服务器未知)

2、正向代理服务器:用户通过VPN等代理服务器去请求某个服务器,用户请求哪个,为其服务的就是哪个服务器,这种情况为其服务的服务器称为正向代理服务器。(用户是未知,服务器已知)

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器