热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx反向代理与负载均衡实验

本实验旨在通过配置Nginx实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的Web服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。

在本次实验中,我们将通过配置 Nginx 实现反向代理和负载均衡。具体目标是从北京的本地代理服务器访问位于上海的 Web 服务器,并在浏览器输入 www.jht.com 后,依次显示红、黄、绿三种颜色页面,以此来验证负载均衡的效果。


R1 路由器配置如下:
interface Ethernet0/0
ip address 192.168.1.1 255.255.255.0
ip nat inside
no sh
interface Ethernet0/1
ip address 10.1.1.1 255.255.255.0
ip nat outside
no sh
access-list 1 permit 192.168.1.0 0.0.0.255
ip nat inside source list 1 interface Ethernet0/1 overload
R2 路由器配置,将 Nginx 服务器的 8081、8082 和 8083 端口映射出去。
interface Ethernet0/0
ip address 192.168.56.1 255.255.255.0
ip nat inside
no sh
interface Ethernet0/1
ip address 10.1.1.2 255.255.255.0
ip nat outside
no sh
ip nat inside source static tcp 192.168.56.102 8081 10.1.1.2 8081 extendable
ip nat inside source static tcp 192.168.56.102 8082 10.1.1.2 8082 extendable
ip nat inside source static tcp 192.168.56.102 8083 10.1.1.2 8083 extendable

接下来是 Nginx 服务器的配置:

1. 安装 Nginx
//安装基本依赖包
[root@Nginx ~]# yum install -y gcc gcc-c++ autoconf pcre pcre-devel make automake wget httpd-tools vim tree
配置 Nginx 官方 Yum 源
[root@Nginx ~]# vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
//安装 Nginx
[root@Nginx ~]# yum install nginx -y
//查看 Nginx 当前版本
[root@Nginx ~]# nginx -v
nginx version: nginx/1.12.2

2. 创建相应的目录,并创建对应的 HTML 文件
[root@Nginx ~]# mkdir /soft/{code1,code2,code3} -p
[root@Nginx ~]# cat /soft/code1/index.html



jht1-8081




[root@Nginx ~]# cat /soft/code2/index.html



jht1-8082




[root@Nginx ~]# cat /soft/code3/index.html



jht1-8083



3. 建立对应的 releserver.conf 配置文件
[root@Nginx ~]# cat /etc/nginx/conf.d/releserver.conf
server {
listen 8081;
root /soft/code1;
index index.html;
}
server {
listen 8082;
root /soft/code2;
index index.html;
}
server {
listen 8083;
root /soft/code3;
index index.html;
}

最后是代理服务器的配置:

1. 安装 Nginx
//安装基本依赖包
[root@Nginx ~]# yum install -y gcc gcc-c++ autoconf pcre pcre-devel make automake wget httpd-tools vim tree
配置 Nginx 官方 Yum 源
[root@Nginx ~]# vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
//安装 Nginx
[root@Nginx ~]# yum install nginx -y
//查看 Nginx 当前版本
[root@Nginx ~]# nginx -v
nginx version: nginx/1.12.2

2. 配置 Nginx 反向代理
[root@Nginx ~]# cat /etc/nginx/conf.d/proxy.conf
upstream node {
server 10.1.1.2:8081;
server 10.1.1.2:8082;
server 10.1.1.2:8083;
}
server {
server_name www.jht.com;
index index.html
listen 80;
location / {
proxy_pass http://node;
}
}

3. 使用浏览器验证结果



推荐阅读
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文介绍了一种在 MySQL 客户端执行 NOW() 函数时出现时间偏差的问题,并详细描述了如何通过配置文件调整时区设置来解决该问题。演示场景中,假设当前北京时间为2023年2月17日19:31:37,而查询结果显示的时间比实际时间晚8小时。 ... [详细]
  • 本文详细介绍了如何规划和部署一个高可用的Etcd集群,包括主机配置、软件安装、防火墙设置及集群健康检查等内容。通过合理的硬件配置和网络规划,确保Etcd集群在生产环境中的稳定运行。 ... [详细]
author-avatar
手机用户2602897337
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有