热门标签 | 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. 使用浏览器验证结果



推荐阅读
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 双向链表的定义与基本操作
    双向链表是一种在每个节点中包含两个指针的数据结构,分别指向其前驱和后继节点。这种特性使得双向链表在某些操作上比单向链表更为灵活和高效。本文将详细介绍双向链表的基本概念及其常见的操作。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
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社区 版权所有