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


目录

  • 使用Nginx负载均衡及动静分离
  • 一、系统拓扑图
  • 二、环境准备
  • 三、服务器安装
    • 1.jdk,tomcat,mysql
    • 2.Nginx的安装
      • 2.1 gcc安装
      • 2.2 PCRE pcre-devel 安装
      • 2.3 zlib 安装
      • 2.4 OpenSSL 安装
      • 2.5 wget下载Nginx
      • 2.6 解压
      • 2.7 配置安装
      • 2.8 启动与停止
      • 2.9 配置Nginx自动启动与防火墙
    • 3.测试访问nginx
  • 四、部署
    • 1.后台服务部署
    • 2.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等服务进行测试

使用Nginx负载均衡及动静分离相关推荐

  1. Nginx负载均衡与动静分离

    文章目录 反向代理与负载均衡 nginx动静分离实验 在nginx主机上配置负载均衡 在nginx主机上配置动静分离 反向代理与负载均衡 nginx通常被用作后端服务器的反向代理,这样就可以很方便的实 ...

  2. [Nginx]负载均衡和动静分离

    负载均衡 客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端. 这种架构模式对于早期的系统相对单一,并发请求相对较少的情况下是比较适合的, ...

  3. Nginx+Tomcat负载均衡、动静分离

    目录 一:Nginx实现负载均衡原理 二:Nginx动静分离原理 三:Nginx+Tomcat负载均衡.动静分离实验 3.1部署Nginx负载均衡器 3.1.1关闭防火墙,将安装nginx所需的软件包 ...

  4. Nginx+Tomcat实现负载均衡与动静分离

    Nginx+Tomcat实现负载均衡与动静分离 一.Nginx负载均衡和动静分离 1.Nginx 实现负载均衡是通过反向代理实现 反向代理(Reverse Proxy) 是指以 代理服务器(例:Ngi ...

  5. Nginx之反向代理与负载均衡实现动静分离实战

    Nginx之反向代理与负载均衡实现动静分离实战 什么是反向代理与负载均衡 Nginx仅仅作为Nginx  proxy反向代理使用的,因为这个反向代理功能表现的效果是负载均衡集群的效果. 负载均衡指的是 ...

  6. Nginx入门教程-简介、安装、反向代理、负载均衡、动静分离使用实例

    场景 Nginx入门简介和反向代理.负载均衡.动静分离理解 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102790862 Ub ...

  7. 使用nginx+Apache负载均衡及动静分离

    使用nginx+Apache负载均衡及动静分离 介绍    LB负载均衡集群分两类: LVS (四层)和 nginx或haproxy (七层)    客户端都是通过访问分发器的VIP来访问网站 在七层 ...

  8. Nginx总结(反向代理、负载均衡、动静分离)篇

    一.Nginx简介 什么是Nginx Nginx ("engine x")是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上ngimx,的并发能力确实在同 ...

  9. Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离

    Docker的安装 一.Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...

最新文章

  1. 开始使用vue.js
  2. 协议关键技术_北京理工大学与华为签署战略合作协议
  3. php封装数据库操作类,php简单数据库操作类的封装
  4. 通过/proc/PID/status查看进程内存占用情况
  5. 3分钟弄明白JAVA三大修饰符
  6. [ZT]C#的多线程机制探索(2)
  7. Mysql sql语句积累
  8. 感恩节专宠有礼,送3本技术好书
  9. 第十八节:类与对象-构造函数和析构函数-访问控制-对象继承
  10. android锁屏密码忘了,安卓手机锁屏密码忘记了怎么办
  11. Photoshop教程:10秒闪电搞定照片构图
  12. shell脚本中的 EOF 是什么意思?
  13. noob_Noob的Three.js指南
  14. 阿里云打造离线下载服务器
  15. 由国内媒体的“非典”报道看信息生态问题-引文
  16. Python 报错 Fatal Python error: PyFrame_BlockPop: block stack underflow 如何解决?
  17. 树莓派控制4路5v继电器开关
  18. 谷歌浏览器chrome取消左右滑动
  19. 2019暑期个人排位集训补题--思维题
  20. Python——列表的常用操作

热门文章

  1. 实用的链上数据查询工具——链数查
  2. SELinux的设置及应用举例
  3. wap.php区别,WAP與PHP程序設計之基礎篇
  4. 建议收藏!这10个学习编程的小技巧,万人点赞!
  5. Python到pyspark中的py-files的问题
  6. 什么是BFC?BFC可以解决什么问题
  7. 北京东方国信Java面经(1H)
  8. python123练习题文库,Python程序设计试题库.doc
  9. jquery $ # 什么意思
  10. 求根号x(LeetCode--分治篇)