nginx+tomcat实现动静分离+负载均衡
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,nginx+tomcat实现动静分离+负载均衡一、关于动静分离和负载均衡的介绍Nginx+Tomcat的动静分离:所谓的动静分离就是通过nginx(或apache等)来处理用户端请求的图片、html等
千家信息网最后更新 2025年02月23日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安全错误
数据库的锁怎样保障安全
北京软件开发公司聚集地
北京亿盾互联网科技有限公司
网络安全的常用措施
期权股票软件开发
服务器下面有哪些垃圾
怎么把数据库装到别的服务器
闵行区网络技术检查
存储介质属于数据库软件吗
网络安全你我同行班会
xp 逻辑磁盘管理服务器
国内电信dns服务器地址
服务器内存三星海士力美光
手机网络安全怎样设置
数据库如何使用字符集utf8
软件开发笔记本求推荐
深圳天彩电子有限公司软件开发
数据库技术的主要
讲网络安全教育心得体会
数据库临时表sql
医学专利数据库
工程检索使用哪个数据库
网络安全宣传活动指导思想
学校如何加强网络安全教育
sqlyog往表导入数据库
郴州app软件开发待遇
密集异构网络技术
什么是网吧服务器
地平线5正在使用后备服务器
还原网络出现无法连接服务器
数据库数据表五种约束成表