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等代理服务器去请求某个服务器,用户请求哪个,为其服务的就是哪个服务器,这种情况为其服务的服务器称为正向代理服务器。(用户是未知,服务器已知)