Nginx负载均衡反向代理动静分离

文章目录

  • nginx负载均衡&反向代理&动静分离
        • 环境
        • 说明
        • 部署动静分离
          • 1.主机lnmp部署一个动态页面,在此以discuz论坛系统为例
          • 2.主机n1部署两个静态页面
          • 访问动、静态页面
        • 配置负载均衡
        • 配置反向代理
        • 访问测试

nginx负载均衡&反向代理&动静分离

环境
主机名角色环境操作系统IP地址
lb负载均衡器nginx/1.24.0centos-8192.168.179.10
lamp动态网站服务器lnmp架构+Discuz论坛centos-8192.168.179.11
n1静态网站服务器nginx/1.24.0centos-8192.168.179.100

说明

主机lamp部署一个动态网页,主机n1部署一个静态页面。主机lb部署nginx服务,实现动静分离的负载均衡

部署nginx服务、部署lnmp架构请阅读nginx服务和LNMP架构&部署Discuz论坛系统

部署动静分离
1.主机lnmp部署一个动态页面,在此以discuz论坛系统为例

部署lnmp架构&discuz论坛请阅读和LNMP架构&部署Discuz论坛系统

//配置访问根目录就访问到论坛
//修改配置文件默认的server下面的两个localtion
[root@lnmp ~]# vim /usr/local/nginx/conf/nginx.conf
......location / {root   html/Discuz/upload;             //改为论坛的根目录index  index.php index.html index.htm;}
......location ~ \.php$ {root           html/Discuz/upload;    //改为论坛的根目录fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;include        fastcgi.conf;}
......//重启nginx服务
[root@lnmp ~]# systemctl restart nginx.service 
2.主机n1部署两个静态页面
1.第一个静态页面
//创建一个目录,并编辑一个测试用的index.html文件
[root@n1 ~]# cd /usr/local/nginx/html/
[root@n1 html]# mkdir www.test1.com
[root@n1 html]# vim www.test1.com/index.html
[root@n1 html]# cat www.test1.com/index.html 
this is test1//修改配置文件,创建第1个虚拟主机
[root@n1 ~]# vim /usr/local/nginx/conf/nginx.conf
......
server {listen       80;server_name  www.test1.com;         //第一个域名
......
location / {root   html/www.test1.com;      //修改目录为网站文件的目录index  index.html index.htm;}
......2.第二个静态页面
//创建一个目录,并编辑一个测试用的index.html文件
[root@n1 ~]# cd /usr/local/nginx/html/
[root@n1 html]# mkdir www.test2.com
[root@n1 html]# vim www.test2.com/index.html
[root@n1 html]# cat www.test2.com/index.html 
this is test2
[root@n1 html]# //修改配置文件,创建第2个虚拟主机......server {listen       8080;server_name  www.test2.com;location / {root   html/www.test2.com;index  index.html index.htm;}}
......//重启nginx服务
[root@n1 ~]# systemctl restart nginx.service 
访问动、静态页面

访问第一个静态

在这里插入图片描述

访问第二个静态

在这里插入图片描述



访问动态

在这里插入图片描述


配置负载均衡

在负载均衡器(主机lb)里配置

//修改配置文件,在http段里面写(与server平级)
[root@lb ~]# vim /usr/local/nginx/conf/nginx.conf
......upstream dynamic {server 192.168.179.11:80 weight=1;        //动态页面}upstream static {server 192.168.179.100:80 weight=1;       //静态页面,有两个,做负载均衡server 192.168.179.100:8080 weight=1;}
......
配置反向代理

在负载均衡器(主机lb)里配置

在server段里面配,和localtion同级

1.//配置访问根目录就是访问静态页面
[root@lb ~]# vim /usr/local/nginx/conf/nginx.conf
......location / {proxy_pass http://static;    //访问根就跳转到静态页面}
......2.//配置访问.php的就是访问动态页面//找到这三行,取消注释,修改
[root@lb ~]# vim /usr/local/nginx/conf/nginx.conf
......location ~ \.php$ {proxy_pass   http://dynamic;}
......//重启服务
[root@lb ~]# nginx -s stop
[root@lb ~]# nginx 
访问测试

访问负载均衡器(主机lb)的ip,反向代理到静态页面

在这里插入图片描述

访问成功,刷新一下

在这里插入图片描述

成功实现负载均衡


访问负载均衡器(主机lb)的ip加index.php,反向代理到动态页面

在这里插入图片描述

访问成功

因为负载均衡器本地没有动态页面的文件,所以没有图片显示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/112992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LINUX】1-移植NXP提供的源码

一、在Linux中添加自己的开发板 defconfig配置文件:一个就是imx6ull_alientek_emmc_defconfig默认配置文件 # 复制一份NXP 官方的SDK cd arch/arm/configs cp imx_v7_mfg_defconfig imx_alientek_emmc_defconfig 设备树:imx6ull-alientek-emmc.d…

【Arduino32】PWM控制直流电机速度

硬件准备 震动传感器:1个 红黄绿LED灯:各一个 旋钮电位器:1个 直流电机:1个 1K电阻:1个 220欧电阻:3个 杜邦线:若干 硬件连线 软件程序 const int analogInPin A0;//PWM输入引脚 const…

SpringCloud链路追踪——Spring Cloud Sleuth 和 Zipkin 介绍 Windows 下使用初步

前言 在微服务中,随着服务越来越多,对调用链的分析越来越复杂。如何能够分析调用链,定位微服务中的调用瓶颈,并对其进行解决。 本篇博客介绍springCloud中用到的链路追踪的组件,Spring Cloud Sleuth和Zipkin&#xf…

使用 PyAudio、语音识别、pyttsx3 和 SerpApi 构建简单的基于 CLI 的语音助手

德米特里祖布☀️ 一、介绍 正如您从标题中看到的,这是一个演示项目,显示了一个非常基本的语音助手脚本,可以根据 Google 搜索结果在终端中回答您的问题。 您可以在 GitHub 存储库中找到完整代码:dimitryzub/serpapi-demo-project…

Git的安装

前置 知道自己电脑上跑的是什么系统 查看电脑位数 省事的一种办法 Windows 在cmd中输入如下命令 wmic os get osarchitecture看命令结果即可 省事的一种办法 Linux 直接在终端中输入如下命令 uname -m若结果是x86_64就是64位的,反之32位 图形化的办法 Wind…

开箱即用的Appimage是什么以及如何建立快捷方式

1 引言 在使用Linux系统过程中,初学者会遇到无穷多的问题,包括软件的安装问题。 ubuntu的deb,centos的rpm, 当然以及需要解压的tar.gz等等。有一种开箱即用的软件安装类型,格式为Appimage。 AppImage 的官方网站是 AppImage | Linux apps tha…

文件打包下载excel导出和word导出

0.文件下载接口 请求 GET /pm/prj/menu/whsj/download/{affixId} 文件affixId多个id以逗号隔开。多个文件会以打包得形式。 1.Excel导出 1.0接口 POST 127.0.0.1:8400/pm/io/exportExcel/year-plan-table-workflow/report 参数 [{"org":"011","re…

java8 Optional理解及示例

大量判空的代码 实际中,对象不判空会导致空指针异常。 为了规避为指针,不得不写出这种非常冗长又丑陋的空指针判断。 public void tooMuchNull(Worker worker) {if (worker ! null) {Address addressworker.getAddress();if (address ! null) {String…

react-router-dom v6版本实现Tabs路由缓存切换

目录 文章目录 概要 效果 完整代码 概要 摆了半年摊,好久没写代码了,今天有人问我怎么实现React-Router-dom类似标签页缓存。后面看了一下router的官网。很久以前用的是react-router v5那个比较容易实现。v6变化挺大,但了解react的机制和rea…

Android一些新的技术栈,你都会哪些?

Jetpack Compose: Jetpack Compose是一种全新的声明式UI框架,用于构建Android应用的用户界面。它使UI开发更加简单和直观,通过使用Kotlin语言来创建交互式和动态的UI组件。 Kotlin Multiplatform: Kotlin Multiplatform允许开发者…

2023年【北京市安全员-A证】考试报名及北京市安全员-A证考试资料

题库来源:安全生产模拟考试一点通公众号小程序 北京市安全员-A证考试报名根据新北京市安全员-A证考试大纲要求,安全生产模拟考试一点通将北京市安全员-A证模拟考试试题进行汇编,组成一套北京市安全员-A证全真模拟考试试题,学员可…

【LeetCode】59. 螺旋矩阵 II

1 问题 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 示例 2: 输入:n…

windows 11 安装PHP8.2

环境说明 windows:windows 11 x64apache: Apache/2.4.43php :php-8.2.11 一.php 1、PHP下载 PHP For Windows: Binaries and sources Releases 注意: 1.要下载Thread Safe,否则没有php8apache2_4.dll这个文件;如果使用Apache作为服务器…

SpringSecurity+ Oauth2.0+JWT 0-1

这里写目录标题 准备工作准备SQL添加用户添加依赖准备UserInfoUserMapperUserServiceUserServiceImpl配置SpringDataUserDetailsService 授权服务器:AuthorizationServer配置客户端详细信息管理令牌定义TokenConfig定义AuthorizationServerTokenServices 令牌访问端…

Python爬虫基础之Selenium详解

目录 1. Selenium简介2. 为什么使用Selenium?3. Selenium的安装4. Selenium的使用5. Selenium的元素定位6. Selenium的交互7. Chrome handless参考文献 原文地址:https://program-park.top/2023/10/16/reptile_3/ 本文章中所有内容仅供学习交流使用&…

左连接一对多的情况

左连接一对多时候,应该以主表唯一数据为左表 GROUP_CONCAT()

Flutter之Widget生命周期

目录 初始化构造函数initStatedidChangeDependencies 运行时builddidUpdateWidget 组件移除deactivatedisposereassemble 函数生命周期说明:实际场景App生命周期 前言:生命周期是一个组件加载到卸载的整个周期,熟悉生命周期可以让我们在合适的…

父组件与子组件的属性透传

透传是vue中一种特性,官方的解释是:“透传 attribute”指的是传递给一个组件,却没有被该组件声明为 props 或 emits 的 attribute 或者 v-on 事件监听器。最常见的例子就是 class、style 和 id。这句话解释过来就是一些不被prop定义的属性直接…

尚硅谷Flink(完)FlinkSQL

🧙FlinkSQL🏂🤺 Table API 和 SQL 是最上层的 API,在 Flink 中这两种 API 被集成在一起,SQL 执行的对象也是Flink 中的表(Table),所以我们一般会认为它们是一体的。 SQL API 是基于…

短视频矩阵系统源头开发

一、智能剪辑、矩阵分发、无人直播、爆款文案于一体独立应用开发 抖去推----主要针对本地生活的----移动端(小程序软件系统,目前是全国源头独立开发),开发功能大拆解分享,功能大拆解: 7大模型剪辑法(数学阶乘&#x…