NginxTomcat架构的动静分离和负载均衡
目录
一、的多实例部署
1.创建 kgc 和 benet 项目目录和文件
2.修改 主配置文件
3.客户端浏览器访问验证
二、Nginx+负载均衡架构原理
2.1 Nginx负载均衡的主要配置
2.+负载均衡的优点
三、Nginx+负载均衡实验
1.部署Nginx 负载均衡器
2.部署2台 应用服务器
3.动静分离配置
1) 配置
(2) 配置
(3)Nginx 配置
4.测试效果
一、的多实例部署
很多时候公司会有多个项目需要运行,那么肯定不可能是一台服务器上运行多个服务,这样会消耗太多的系统资源。此时,就需要使用到 虚拟主机。例如现在新增两个域名 和 ,希望通过这两个域名访问到不同的项目内容。
1.创建 kgc 和 benet 项目目录和文件
mkdir /usr/local/tomcat/webapps/kgc
mkdir /usr/local/tomcat/webapps/benet
echo "This is kgc page\!" > /usr/local/tomcat/webapps/kgc/index.jsp
echo "This is benet page\!" > /usr/local/tomcat/webapps/benet/index.jsp
2.修改 主配置文件
vim /usr/local/tomcat/conf/server.xml
--165行前--插入
3.客户端浏览器访问验证
echo "192.168.181.101 " >> /etc/hosts
浏览器访问
二、Nginx+负载均衡架构原理
Nginx实现负载均衡是通过反向代理实现Nginx服务器作为前端,服务器作为后端,web页面请求由Nginx服务来进行转发。 但是不是把所有的web请求转发,而是将静态页面请求Nginx服务由自己来处理,动态页面请求,转发给后端的服务器来处理。是属于轻量级的应用服务器,可接受访问量可能会不足,所以我们需要多台服务器。并且并发量处理能力弱(约Nginx的六分之一),所以需要Nginx方向代理时,进行合理的调用分配
2.1 Nginx负载均衡的主要配置
2.+负载均衡的优点 三、Nginx+负载均衡实验
1.部署Nginx 负载均衡器
systemctl stop firewalld
setenforce 0
##关闭防火墙、安全机制yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
##安装依赖环境useradd -M -s /sbin/nologin nginx
##创建程序用户cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/
##下载并解包cd 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 \ #启用 gzip静态压缩
--with-http_flv_module \ #启用 flv模块,提供对 flv 视频的伪流支持
--with-http_ssl_module make -j3 && make installln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
##创建软连接便于系统识别vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecrReload=/bin/kill -s HUP $MAINPID
ExecrStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
##创建服务chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service
##赋权启动并开机自启
2.部署2台 应用服务器
##注意!! 这个时候需要切换到两台Tomcat服务器并重复以下操作systemctl stop firewalld
setenforce 0tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
##设置环境变量source /etc/profiletar zxvf apache-tomcat-8.5.16.tar.gzmv /opt/apache-tomcat-8.5.16/ /usr/local/tomcat/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh netstat -ntap | grep 8080
3.动静分离配置 1) 配置
mkdir /usr/local/tomcat/webapps/test
vim /usr/local/tomcat/webapps/test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
JSP test2 page
<% out.println("动态页面 1,http://www.test1.com");%>
##设置动态页面测试页vim /usr/local/tomcat/conf/server.xml
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
(2) 配置
mkdir /usr/local/tomcat/webapps/test
vim /usr/local/tomcat/webapps/test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
JSP test2 page
<% out.println("动态页面 2,http://www.test2.com");%>
vim /usr/local/tomcat/conf/server.xml
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
(3)Nginx 配置
#准备静态页面和静态图片
echo '这是静态页面
' > /usr/local/nginx/html/index.html
mkdir /usr/local/nginx/html/img
cp /root/game.jpg /usr/local/nginx/html/imgvim /usr/local/nginx/conf/nginx.conf
http {
......#gzip on;#配置负载均衡的服务器列表,weight参数表示权重,权重越高,被分配到的概率越大upstream tomcat_server {server 192.168.181.101:8080 weight=1;server 192.168.181.102:8080 weight=1;}server {listen 80;server_name www.lbj.com;charset utf-8;#access_log logs/host.access.log main;#配置Nginx处理动态页面请求,将 .jsp文件请求转发到Tomcat 服务器处理location ~ .*\.jsp$ {proxy_pass http://tomcat_server;#设置后端的Web服务器可以获取远程客户端的真实IP#设定后端的Web服务器接收到的请求访问的主机名(域名或IP、端口),默认host的值为proxy_pass指令设置的主机名proxy_set_header HOST $host;#把$remote_addr赋值给X-Real-IP,来获取源IPproxy_set_header X-Real-IP $remote_addr;#在nginx 作为代理服务器时,设置的IP列表,会把经过的机器ip,代理机器ip都记录下来proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}#配置Nginx处理静态图片请求location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {root /usr/local/nginx/html/img;expires 10d;}location / {root html;index index.html index.htm;}
......}
......
}
4.测试效果
tags:
负载均衡
nginx负载均衡配置