nginx+tomcat实现动静分离+负载均衡
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,nginx+tomcat实现动静分离+负载均衡一、关于动静分离和负载均衡的介绍Nginx+Tomcat的动静分离:所谓的动静分离就是通过nginx(或apache等)来处理用户端请求的图片、html等
千家信息网最后更新 2025年12月03日nginx+tomcat实现动静分离+负载均衡
nginx+tomcat实现动静分离+负载均衡
一、关于动静分离和负载均衡的介绍
Nginx+Tomcat的动静分离:
所谓的动静分离就是通过nginx(或apache等)来处理用户端请求的图片、html等静态的文件,tomcat(或weblogic)处理jsp、do等动态文件,从而达到动静页面访问时通过不同的容器来处理。nginx处理静态页面效率远高于tomcat,而tomcat擅长动态页面处理,这样一来就能更好的提高并发,处理性能。
Nginx+Tomcat的负载均衡:
在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器,tomcat负责处理nginx转发的用户请求
二、具体步骤
1、环境介绍
| 名称 | 角色 | 地址 |
|---|---|---|
| centos7-1 | nginx | 192.168.142.153 |
| centos7-2 | Tomcat | 192.168.142.154 |
| centos7-3 | Tomcat | 192.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安全错误
数据库的锁怎样保障安全
焦作软件开发公司
北京城管通软件开发
数据库按照业务特点分类
国家宣传周共筑网络安全防线
高商在线应用平台服务器
手机网络安全的原理
数据库工程师历年真题下载
软件开发都要本科么
服务器运维要会什么
企业级代理服务器软件
国产数据库招聘条件
存储服务器接口
前端获取数据库的值并显示
相城区专业性网络技术有哪些
ubuntu 导出数据库
软考有网络安全吗
软件开发的错误叫什么
网络安全和分级保护
江夏好的软件开发中心
满足两台电脑的小型服务器
dhcp服务器工作原理
杭州培训软件开发
上海网络技术转让质量保障
天龙八部服务器人多
奥克兰软件开发有乡少公司
做单片机软件开发前景如何
会员刷卡机软件开发
高新区正规网络技术咨询热线
南京常见软件开发代理商
我的世界服务器传送回领地