使用Nginx负载均衡及动静分离

使用Nginx负载均衡及动静分离



一、系统拓扑图

在这里插入图片描述

说明:
用户请求达到Nginx
若请求资源为静态资源,则将请求转发至静态资源服务器
若请求资源为动态数据,则将请求转发给web服务器(在这里为tomcat处理),在转发的同时,会根据配置的负载均衡策略进行负载均衡处理


二、环境准备

  1. 四个虚拟机,一个mysql服务器,两个tomcat服务器, 一个Nginx服务器(Nginx服务同时作为反向代理用于负载均衡,和静态资源服务器)
  1. 一套采用前后端分离模式开发的系统

三、服务器安装

1.jdk,tomcat,mysql

https://blog.csdn.net/qq_45580375/article/details/111304389

2.Nginx的安装

2.1 gcc安装

yum install gcc-c++

2.2 PCRE pcre-devel 安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。

yum install -y pcre pcre-devel

2.3 zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库

yum install -y zlib zlib-devel

2.4 OpenSSL 安装

OpenSSL 套接字层密码库,有主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库

yum install -y openssl openssl-devel

2.5 wget下载Nginx

wget -c https://nginx.org/download/nginx-1.18.0.tar.gz

2.6 解压

解压在 /usr/local/nginx ,没有nginx文件夹则在local下建立一个

#在/usr/local目录下创建nginx包文件
mkdir /usr/local/nginx

#解压在/usr/local/nginx目录下
tar -zxvf nginx-1.18.0.tar.gz -C /usr/local/nginx

#进入nginx目录
cd nginx

2.7 配置安装

# 使用默认配置,命令在nginx目录中执行,执行完成会产生MakeFile等文件
./configure

#编译并安装
make
make install

2.8 启动与停止

#到命令所在目录
cd /usr/local/nginx/sbin/

#启动
./nginx

#停止,强制直接关停
./nginx -s stop

#等待nginx进程处理完任务再停止
./nginx -s quit

#重新加载配置文件
./nginx -s reload

2.9 配置Nginx自动启动与防火墙

vim /etc/rc.d/rc.local

在这里插入图片描述

/usr/local/nginx/sbin/nginx

修改/etc/rc.d/rc.local的权限:

chmod 755 rc.local

开放80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

重新加载防火墙配置

firewall-cmd --reload

3.测试访问nginx

在浏览器输入自己的nginx地址,是否能够进入该界面

在这里插入图片描述


四、部署

1.后台服务部署

在部署前请先将后台服务的数据库连接修改为已安装配置好的mysq服务器的ip地址。

在这里插入图片描述

后台服务的部署,非常简单,之间将war包上传至tomcat的webapps目录下即可。

2.Nginx配置负载均衡及静态资源部署

:在部署前端程序时,需要先修改后台server的ip地址配置。

在这里插入图片描述

  1. 将前台程序打包
npm run build
  1. 将打包好的前端程序上传到Nginx服务器

在这里插入图片描述

  1. nginx.conf配置
vim  /usr/local/nginx/conf/nginx.conf

在这里插入图片描述

  1. 重新加载配置文件
[root@localhost sbin]# pwd
/usr/local/nginx/sbin
[root@localhost sbin]# ls
nginx
[root@localhost sbin]# ./nginx -s reload

配置完成,启动mysql,tomcat1,tomcat2,nginx等服务进行测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值