首页 >> 大全

NginxTomcat架构的动静分离和负载均衡

2023-12-16 大全 27 作者:考证青年

目录

一、的多实例部署

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.测试效果

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了