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

news2024/11/15 17:56:56

文章目录

  • 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.coloradmin.cn/o/1116510.html

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

相关文章

重测序基因组:Pi核酸多样性计算

如何计算核酸多样性 Pi 本期笔记分享关于核酸多样性pi计算的方法和相关技巧,主要包括原始数据整理、分组文件设置、计算原理、操作流程、可视化绘图等步骤。 基因组Pi核酸多样性(Pi nucleic acid diversity)是一种遗传学研究中用来描述种群内…

使用CDN构建读取缓存设计

在构建需要高吞吐量和最小响应时间的系统的API时,缓存几乎是不可避免的。每个在分布式系统上工作的开发人员都曾在某个时候使用过某种缓存机制。在本文中,我们将探讨如何使用CDN构建读取缓存设计,不仅可以优化您的API,还可以降低基…

JVM第十六讲:调试排错 - Java 线程分析之线程Dump分析

调试排错 - Java 线程分析之线程Dump分析 本文是JVM第十六讲,Java 线程分析之线程Dump分析。Thread Dump是非常有用的诊断Java应用问题的工具。 文章目录 调试排错 - Java 线程分析之线程Dump分析1、Thread Dump介绍1.1、什么是Thread Dump1.2、Thread Dump特点1.3、…

maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories

前言 略 说明 新设备上安装了mvn 3.8.5,编译新项目出错: [ERROR] Non-resolvable parent POM for com.admin.project:1.0: Could not transfer artifact com.extend.parent:pom:1.6.9 from/to maven-default-http-blocker (http://0.0.0.0/): Bl…

【LeetCode】 387. 字符串中的第一个唯一字符

题目链接 文章目录 所有方法 复杂度 ( O ( n ) O(n) O(n)、 O ( ∣ Σ ∣ ) O(|\Sigma|) O(∣Σ∣)) Python3方法一:collections.Counter() 统计频次方法二:哈希映射 { key字符:value【首次出现的索引 or -1 出现多次】}方法三: c…

账号合租平台源码Thinkphp6.1|内置详细搭建教程

小白账号合租平台说明 系统采用的是常见的租号平台模式,现在网络上流出的这种类型的源码还很少 平台介绍 1.租号模式,用户可自行选择单独租号或采用合租的模式。 2.支付,采用易支付通用接口 3.邀请返利,为了站长能更好推广推荐了邀请返利功能 4.用户提现功能 5.工单…

社会网络分析软件

UCINET UCINET 6 for Windows

vue3中弹框中的el-select下拉组件显示value而不显示label

1.场景 使用element-ui中的el-select&#xff0c;给选择框赋值时显示的值是value不是label 2.原因分析 3.解决方法 在点击编辑按钮后将获取到的对象中的os属性值改为string类型 <el-select v-model"form.os" clearable placeholder"请选择" style&qu…

【Java】正则表达式,校验数据格式的合法性。

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 正则表达式 正则表达式&#xff1a; ①可以校…

互联网Java工程师面试题·Java 面试篇·第一弹

目录 1、Java 中能创建 volatile 数组吗&#xff1f; 2、volatile 能使得一个非原子操作变成原子操作吗&#xff1f; 3、volatile 修饰符的有过什么实践&#xff1f; 4、volatile 类型变量提供什么保证&#xff1f; 5、10 个线程和 2 个线程的同步代码&#xff0c;哪个更容…

MPI并行编程技术

MPI并行编程技术 MPI含义及环境搭建安装点对点通信阻塞型接口MPI_SendMPI_Recv 阻塞式示例tag雅可比迭代示例死锁 MPI含义及环境搭建安装 MPICH官网 Github地址 MPI历史版本下载地址 安装教程 MPI介绍 MPI课程 点对点通信 阻塞型接口 MPI_Send MPI_Recv 阻塞式示例 tag 雅…

贪心算法(1)--经典贪心算法

目录 一、活动安排问题 二、最优装载问题 三、分数背包问题 四、多机调度问题 一、活动安排问题 1、策略 活动安排问题&#xff1a;设有n个活动的集合E{1,2,...,n}&#xff0c;每个活动i都有一个使用该资源的起始时间和一个结束时间&#xff0c;且。如果选择了活动i则它在…

新年学新语言Go之五

一、前言 Go虽然不算是面向对象语言&#xff0c;但它支持面向对象一些特性&#xff0c;面向接口编程是Go一个很重要的特性&#xff0c;而Go的接口与Java的接口区别很大&#xff0c;Go的接口比较复杂&#xff0c;这里仅用一个最简单例子做介绍&#xff0c;复杂的我也还没学。 …

VMware中安装centos无网络,配置教程

VMware虚拟机中装了centos7,装完之后一直无法联网&#xff0c;网上的教程都试了也没用&#xff0c;这里记录一下最后的解决方案。 VMware配置 1. 点击 虚拟机-》设置 windows配置 打开电脑网络连接 共享选项选中我们虚拟机网络中包含的VMnet8的 VMnet8网络就自动变成这样了&a…

软件研发流程、架构规范、技术标准、需求过程等全文档

前言&#xff1a; 软件项目管理全文档包括以下几个方面&#xff1a;需求分析、项目规划、过程管理、测试和部署。 全文档获取&#xff1a;Q:262086839 例图在文末。 正文&#xff1a; 一、需求分析是软件项目管理的第一步&#xff0c;也是非常关键的一步。在需求分析阶段&…

SpringCloud 微服务全栈体系(二)

第三章 Eureka 注册中心 假如我们的服务提供者 user-service 部署了多个实例&#xff0c;如图&#xff1a; 思考几个问题&#xff1a; order-service 在发起远程调用的时候&#xff0c;该如何得知 user-service 实例的 ip 地址和端口&#xff1f;有多个 user-service 实例地址…

Xline 源码解读(四)—— CURP 状态机引擎

在上一篇源码解读的文章&#xff08;Xline 源码解读&#xff08;三&#xff09; —— CURP Server 的实现&#xff09;中&#xff0c;我们简单阐述了Xline 的 Curp Server 是如何实现的。接下来&#xff0c;就让我们话接上回&#xff0c;继续深入地来了解 Curp Server 中的一些…

网络安全中的人工智能:优点、缺点、机遇和危险

2022 年秋天&#xff0c;人工智能在商业领域爆发&#xff0c;引起了轰动&#xff0c;不久之后&#xff0c;似乎每个人都发现了 ChatGPT 和 DALL-E 等生成式 AI 系统的新的创新用途。世界各地的企业开始呼吁将其集成到他们的产品中&#xff0c;并寻找使用它来提高组织效率的方法…

Spring Cloud Gateway 路由构建器的源码分析

Spring Cloud Gateway 路由构建器的源码分析 文章目录 1. 路由构建器的入口2. 创建路由规则3. 设置路由规则和属性4. 路由过滤器的设置5. 构建和获取路由规则&#xff1a;6. 实例化路由构建器&#xff1a;8. 路由构建器的源码分析8.1 RouteLocator接口8.2 RouteLocatorBuilder…

漏刻有时地理信息系统LOCKGIS小程序配置说明(web-view组件、服务器域名配置、复制链接和转发功能)

漏刻有时地理信息系统说明文档(LOCKGIS、php后台管理、三端一体PC-H5-微信小程序、百度地图jsAPI二次开发、标注弹窗导航)漏刻有时地理信息系统LOCKGIS小程序配置说明(web-view组件、服务器域名配置、复制链接和转发功能)漏刻有时地理信息系统LOCKGIS主程序配置说明(地图调起弹…