千家信息网

nginx+tomcat实现动静分离+负载均衡

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,nginx+tomcat实现动静分离+负载均衡一、关于动静分离和负载均衡的介绍Nginx+Tomcat的动静分离:所谓的动静分离就是通过nginx(或apache等)来处理用户端请求的图片、html等
千家信息网最后更新 2026年11月02日nginx+tomcat实现动静分离+负载均衡

nginx+tomcat实现动静分离+负载均衡

一、关于动静分离和负载均衡的介绍

Nginx+Tomcat的动静分离:
所谓的动静分离就是通过nginx(或apache等)来处理用户端请求的图片、html等静态的文件,tomcat(或weblogic)处理jsp、do等动态文件,从而达到动静页面访问时通过不同的容器来处理。nginx处理静态页面效率远高于tomcat,而tomcat擅长动态页面处理,这样一来就能更好的提高并发,处理性能。

Nginx+Tomcat的负载均衡:
在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器,tomcat负责处理nginx转发的用户请求

二、具体步骤

1、环境介绍

名称角色地址
centos7-1nginx192.168.142.153
centos7-2Tomcat192.168.142.154
centos7-3Tomcat192.168.142.132
win7客户端不重要(同一网段即可)

目的:

当访问服务器时,静态页面由nginx服务器处理,动态页面由tomcat处理

2、Tomcat配置(两台Tomcat端配置相同)

安装jdk环境包

[root@localhost tomcat]# rpm -ivh jdk-8u201-linux-x64.rpm[root@localhost tomcat]# cd /usr/java/jdk1.8.0_201-amd64/

修改全局配置文件

[root@localhost jdk1.8.0_201-amd64]# vim /etc/profile//末行添加    export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64    export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar    export PATH=$JAVA_HOME/bin:$PATH[root@localhost jdk1.8.0_201-amd64]# source /etc/profile[root@localhost jdk1.8.0_201-amd64]# cd /mnt/tomcat/

安装Tomcat软件本体

[root@localhost tomcat]# tar zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local/[root@localhost tomcat]# cd /usr/local/[root@localhost local]# mv apache-tomcat-9.0.16/ tomcat

建立启动/停止软链接

[root@localhost local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/[root@localhost local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin///启服务,关防火墙[root@localhost local]# startup.sh [root@localhost local]# systemctl stop firewalld.service [root@localhost local]# setenforce 0

创建Tomcat首页

[root@tomcat1 local]# mkdir -p /web/webapp1      #建立站点[root@tomcat1 local]# vim /web/webapp1/index.jsp    #新建Tomcat首页<%@ page language= "java" import="java.util.*" pageEncoding="UTF-8" %>      JSP test1 page        <% out.println("Welcome to test site, http://www.testl.com" );%>  

在配置文件中进行指定

[root@tomcat1 local]# cd /usr/local/tomcat/conf/[root@tomcat1 conf]# vim server.xml##149行插入//注解: //docBase: web应用的文档基准目录//reloadable设置监视"类"是否变化//path=""设置默认""类//重启服务[root@tomcat1 conf]# shutdown.sh[root@tomcat1 conf]# startup.sh 

3、Nginx配置

安装环境包

[root@nginx ~]# yum -y install gcc gcc-c++ zlib-devel expat-devel pcre-devel pcre openssl-devel

安装nginx软件本体

[root@nginx mnt]# cd /opt/nginx-1.12.0/[root@nginx nginx-1.12.0]# useradd -M -s /sbin/nologin nginx[root@nginx nginx-1.12.0]# ./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[root@nginx nginx-1.12.0]# make && make install

进行到这步时,nginx会有三种不同方向与Tomcat进行结合,这里我也会一一进行讲解

(1)nginx仅进行负载均衡,不提供网页服务

[root@nginx nginx-1.12.0]# 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仅进行动静分离时

[root@nginx nginx-1.12.0]# 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同时进行负载均衡与反向代理

[root@nginx nginx-1.12.0]# 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;}

开启服务

[root@nginx nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/[root@nginx nginx-1.12.0]# nginx [root@nginx nginx-1.12.0]# systemctl stop firewalld.service [root@nginx nginx-1.12.0]# setenforce 0
服务 处理 服务器 动静 地址 均衡 页面 代理 配置 文件 不同 相同 动态 名称 指向 环境 用户 静态 本体 权重 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 伟宏互联网科技 互联网科技活动banner 没上市的科技互联网公司 互联网络科技有限公司 青岛互联网科技公司 唐信互联网科技 狮子座互联网科技有限公司 天下捷融互联网科技 北京三清互联网科技 西藏七维空间互联网科技有限公司 广州优美互联网科技 互联网公司科技股 江阴互联网智能科技产品进口 洛阳昕诺飞互联网科技有限公司 企晟互联网信息科技有限公司 互联网科技实习生岗位 江苏互联网智能科技软件 互联网科技平台产品运营 互联网企业和网络科技有限公司 中国主要互联网科技公司 鑫亿盛互联网科技 中国科技互联网公司收入 互联网科技创新服务 威龙国际互联网科技公司 烟台灵鸽互联网科技有限公司 启辰互联网科技 吉林省码上互联网科技电话 互联网高科技行业有哪些企业 上海旺乐尼互联网科技有限公司 株洲百竞科技的互联网营销顾问
0