Vecloud 发表于 2022-6-9 13:38:44

关于nginx+tomcat动静分离+负载均衡实现步骤及配置流程

下文给大家带来nginx+tomcat动静分离+负载均衡实现步骤及配置流程,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用Vecloud在行业内累计的经验来做一个解答。
一、关于动静分离和负载均衡的介绍Nginx+Tomcat的动静分离:
所谓的动静分离就是通过nginx(或apache等)来处理用户端请求的图片、html等静态的文件,tomcat(或weblogic)处理jsp、do等动态文件,从而达到动静页面访问时通过不同的容器来处理。nginx处理静态页面效率远高于tomcat,而tomcat擅长动态页面处理,这样一来就能更好的提高并发,处理性能。
Nginx+Tomcat的负载均衡:
在云服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器,tomcat负责处理nginx转发的用户请求

二、具体步骤1、环境介绍名称角色地址centos7-1nginx192.168.142.153centos7-2Tomcat192.168.142.154centos7-3Tomcat192.168.142.132win7客户端不重要(同一网段即可)目的:
当访问服务器时,静态页面由nginx服务器处理,动态页面由tomcat处理
2、Tomcat配置(两台Tomcat端配置相同)安装jdk环境包
# rpm -ivh jdk-8u201-linux-x64.rpm# cd /usr/java/jdk1.8.0_201-amd64/修改全局配置文件
# vim /etc/profile//末行添加export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarexport PATH=$JAVA_HOME/bin:$PATH# source /etc/profile# cd /mnt/tomcat/安装Tomcat软件本体
# tar zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local/# cd /usr/local/# mv apache-tomcat-9.0.16/ tomcat建立启动/停止软链接
# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin///启服务,关防火墙# startup.sh # systemctl stop firewalld.service # setenforce 0创建Tomcat首页
# mkdir -p /web/webapp1   #建立站点# vim /web/webapp1/index.jsp#新建Tomcat首页<%@ page language= "java" import="java.util.*" pageEncoding="UTF-8" %><html> <head><title>JSP test1 page</title> </head> <body><% out.println("Welcome to test site, http://www.testl.com" );%> </body></html>在配置文件中进行指定
# cd /usr/local/tomcat/conf/# vim server.xml##149行插入<Context docBase="/web/webapp1" path="" reloadable="false"></Context>//注解: //docBase: web应用的文档基准目录//reloadable设置监视“类”是否变化//path=""设置默认""类//重启服务# shutdown.sh# startup.sh 3、Nginx配置安装环境包
# yum -y install gcc gcc-c++ zlib-devel expat-devel pcre-devel pcre openssl-devel安装nginx软件本体
# cd /opt/nginx-1.12.0/# useradd -M -s /sbin/nologin nginx# ./configure \--prefix=/usr/local/nginx \--user=nginx --group=nginx \--with-file-aio \--with-http_stub_status_module \--with-http_gzip_static_module \--with-http_flv_module \--with-http_ssl_module# make && make install进行到这步时,nginx会有三种不同方向与Tomcat进行结合,这里我也会一一进行讲解
(1)nginx仅进行负载均衡,不提供网页服务
# vim /usr/local/nginx/conf/nginx.conf//gzip后添加upstream tomcat-server {         //地址池名称    server 192.168.142.154:8080 weight=1;    //指向Tomcat地址,采用轮询,权重相同    server 192.168.142.132:8080 weight=1;}//location /段后添加proxy_pass http://tomcat-server;   //代理指向Tomcat地址池(之前指定的)(2)nginx仅进行动静分离时
# vim /usr/local/nginx/conf/nginx.conf//server段后添加location ~ (. *). jsp${proxy_pass http://192.168.142.132:8080;   //在nginx遇到以jsp结尾的网页时将自动代理至Tomcat服务器proxy_set_header Host $host;}(3)nginx同时进行负载均衡与反向代理
# vim /usr/local/nginx/conf/nginx.conf//gzip后添加upstream tomcat-server {         //地址池名称    server 192.168.142.154:8080 weight=1;    //指向Tomcat地址,采用轮询,权重相同    server 192.168.142.132:8080 weight=1;}//server段后添加location ~ (. *). jsp${proxy_pass http://tomcat-server;proxy_set_header Host $host;}开启服务
# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/# nginx # systemctl stop firewalld.service # setenforce 0
页: [1]
查看完整版本: 关于nginx+tomcat动静分离+负载均衡实现步骤及配置流程