1、 毕业设计 论文题目 基于 NGINX 的代理服务器搭建 学 院: 电子与信息工程学院 学生姓名: 林耀文 专业班级: 12 级计算机网络技术 1 班 学 号: 2012120135 指导教师: 叶红卫 2015 年 6 月 16 日 毕业设计 I 摘 要 N ginx 最 大的特点 是对高 并发的支 持和高 效的负载 均衡,在 高并发的需求场景下 ,是 Apache 服务器不 错的替 代品。 负 载均衡,单从字面 上的意思 来理 解就 可以 解释 多 台 服务 器平 均分 担负 载, 不 会因 为某 台服 务器负载 高宕 机而 某台 服务 器闲 置的 情况 。那 么负 载均 衡 的前 提就
2、是要 有多台服务器才能 实现, 也就是两 台以上 即可。 基于 L iunx 系统 搭建 N ginx 服务器 ,需要 复杂的环 境包, 包括 zlib、zlib -devel、 gcc- c+、 libtool、 open openss l、 openss l- deve l、 pcre pcre- devel,这些环境包 插件对 于搭 建 N ginx 服 务器缺 一不可。 本次设 计中,我 们同样采用基 于 N ginx 搭建 Web 应用 服务器 ,另 一台 则 作为 N ginx 负载均 衡服务器。 N ginx 配 置负载均 衡使用 的模块是 ngx_http_upstream_m
3、odule nginx。我们 配 置负载 均衡 使用 的算法 有: 轮询、 加权 轮询 、 ip hash。 设计 采用加权轮询 算法就 是在 轮询算 法的基 础上, 给服务 器加上 权重 ( we ight ),客户 端请 求根 据权 重比 例分 配到 后端 服务 器上 ,其 实 轮询 算法 的权 重都是一 样的。 关键词: NGINX; 代理服务 器 ; 负载 均衡 ; Web 应用服务 器 毕业设计 II 目 录 摘 要 . I 目 录 . II 第一章 绪 论 . 1 1.1 背景分析 . 1 1.2 负 载 均 衡 器 . 1 第二章 部 署 服 务 器 . 3 2.1 什 么 是
4、虚 拟 主 机 技 术 . 3 2.2 什 么 是 正 向 代 理 与 反 向 代 理 . 3 2.3 两者区别 . 4 2.4 为 什 么 需 要 负 载 均 衡 代 理 服 务 器 . 4 第三章 基于 NGINX 的代理服务 器搭建 . 6 3.1 NGINX 代 理 服 务 器 搭 建 基 本 环 境 . 6 3.2 代 理 服 务 器 搭 建 的 前 期 准 备 . 6 3.3 代 理 服 务 器 NGINX 的安装和配置 . 8 3.4 基于 NGINX 网 页 服 务 器 的 安 装 和 配 置 . 14 3.5 负 载 均 衡 服 务 器 的 搭 建 与 实 现 . 17 结束
5、语 . 21 参考文献 . 22 致 谢 . 23 毕业设计 1 第一章 绪 论 1.1 背景分析 Nginx 是一个很牛 的高性 能 Web 和反向代 理服务器 , 它具 有有很多非常优越的特 性 : 在高连 接并发的情况下, Nginx 是 Apache 服务器不错的替代品 : Nginx 在美 国是 做虚 拟主 机 生意 的老 板们 经常 选择 的软 件 平台 之一 . 能够 支 持 高 达 50,000 个 并 发 连 接 数 的 响 应 , 感谢 Nginx 为我们选择了 epoll and kqueue 作为 开发模型 . Nginx 作 为 负 载 均 衡 服 务 器 : Ngi
6、nx 既 可 以 在 内 部 直 接 支持 Rails 和 PHP 程 序 对 外 进 行 服 务 , 也 可 以 支 持 作 为 HTTP 代理 服务器对外 进行服 务 . Nginx 采用 C 进行编写 , 不论是 系统资源 开销还是 CPU 使用 效率都 比 Perlbal 要好很多 . 作为 邮件 代理 服务 器 : Nginx 同时也 是 一个 非常 优秀 的邮 件 代理服务 器 ( 最 早 开 发 这 个 产 品 的 目 的 之 一 也 是 作 为 邮 件 代 理 服 务器) , Last.fm 描述 了成功 并且美妙 的使用 经验 . Nginx 是 一 个 安 装 非 常 的
7、简 单 ,配 置 文 件 非 常 简 洁 ( 还 能 够 支 持perl 语法) , Bugs 非常少的服务 器 : Nginx 启动特别容 易 , 并且几乎可以做到 7*24 不间断运 行 ,即使运 行数个 月也不需 要重新 启动 . 你还能够 不间断服务的 情况下 进行软件 版本的升 级 1.2 负载均衡器 Ningx 作为 负载 均衡 器 的同 时也 是反 向 代理 服器 ,配 置语 法 相当简单,可 以按轮询 、 IP_hash、 url_hash、权 重等多种 方法对 后端的服 务器作负 载均 衡, 同时 还支 持后 端服 务器 的 健康 检查 。另 外, 它相 对于 LVS比较 有
8、优 势的 一点 ,由 于它 是基 于第 七层 的负 载均 衡 ,是 根据 报头 内的信息来执行 负载均 衡任务, 所以对 网络的依 赖比较 小,理论 上只要 ping得通就能够实 现负载 均衡; 在国内, Nginx 不仅作为一款 性能优异 的负 载 均衡器 ,它同 时也是一款适用于高 并发环 境的 WEB 应用软 件,在 新浪、金 山、迅 雷在线等 大型网站都得到了 应用, 其作为负 载均衡 器的优点 如下: 1.配置文件非 常简单 :风格跟 程序一 样通俗易 懂。 2.成本低 廉: Nginx 为开源 软件 , 可以 免费 使用 。 而购买 F5 BIG-IP、毕业设计 2 NetScal
9、er 等硬件负 载均衡 交换机则 需要十 多万至几 十万人 民币。 3.支持 Rewrite 重写规则:能 够根据域 名、 URL 的不同,将 HTTP 请求分到不同的后端 服务器 群组。 4.内置的 健康 检查 功 能: 如果 Nginx Proxy 后 端的 某台 Web 服务 器宕机了,不会影 响前端 访问。 5.节 省 带 宽 : 支 持 GZIP 压 缩 , 可 以 添 加 浏 览 器 本 地 缓 存 的 Header 头。 6.稳定性 高: 用于 反向 代理 ,宕 机的 概率 微乎 其微 。 特别 是通 过跟 踪一些已上线的 项目, 发现在高 并发的 情况下, Nginx 作为负器
10、均衡 器 /反向代理宕机的次 数几乎 是零。 毕业设计 3 第二章 部署服务器 2.1 什么是虚拟主机技术 利用虚拟主 机技术 ,可 以把一台 真正的 主机分成 许多 “虚拟 “的主 机,每一台虚拟 主机都 具有独立 的域名和 IP 地址,具有 完整的 Internet 服务器( www, FTP,email)功能。 虚拟 主机 之间 完全独 立,在外 界看来 ,每一 台虚 拟主 机和 一台 独立 的主 机完 全一 样。 效果 一 样但 费用 却大 不一样了。由于多台 虚 拟主机 共享 一台真 实主机的 资源 ,每个 虚拟 主机用户 承受 的硬 件费 用、 网络 维护 费用 、通 信线 路的
11、费 用均 大幅 度降 低,Internet 真正 成为人人 用得起 的网络 ! 目前 生产 环境 中, 大多 数服 务 提供 商都 采用 了虚 拟主 机 的方 式为客户提供 web 服务,虚 拟主机包 括基于 IP 的虚拟主 机,基于 端口的虚 拟主机和 基于 名称 的虚 拟主 机, 由于 目前 最流 行的 是基 于 名称 的虚 拟主 机,也就是可以 通过相 同端口、相 同 IP 对应多个域名 站点,本 设计 以这 种方式为 主进行讲 解。 2.2 什么是正向代理与反向代理 正向代理,也 就是传 说中的代 理 ,他的工 作原理就 像一个 跳板,简单的说 ,我 是一 个用 户, 我访 问不 了某
12、 网站 ,但 是我 能 访问 一个 代理 服务器, 这个 代理 服务 器呢 ,他 能访 问那 个我 不能 访问 的 网站 ,于 是我 先连上代 理服 务器 ,告 诉他 我需 要那 个无 法访 问网 站的 内 容, 代理 服务 器去取回 来, 然后 返回 给我 。从 网站 的角 度, 只在 代理 服 务器 来取 内容 的时候有 一次 记录 ,有 时候 并不 知道 是用 户的 请求 ,也 隐 藏了 用户 的资 料,这取决于代理 告不告 诉网站。 结 论 就 是 , 正 向 代 理 是 一 个 位 于 客 户 端 和 原 始 服 务 器 (origin server)之间的 服务器,为了从原 始服务
13、 器取得内 容,客户 端向代理 发送一个 请求 并指 定目 标 (原 始服 务器 ), 然后 代 理向 原始 服务 器转 交请 求并将获 得的 内容 返回 给客 户端 。客 户端 必须 要进 行一 些 特别 的设 置才 能使用正向代理。 反向代理的概 念 继续举例 : 用户访问 http:/ ,但 上并不存在 readme 页面,他 是偷偷从 另外一 台服务器 上取毕业设计 4 回来 ,然 后作 为自 己的 内容 返回 用户 ,但 用户 并不 知 情。 这里 所提 到的 这个域名对 应的服 务器就设 置了反 向代理功 能。 结论 就是 ,反 向代 理正 好相 反 ,对 于客 户端 而言 它就
14、 像 是原 始服务器, 并且 客户 端不 需要 进行 任何 特别 的设 置。 客户 端 向反 向代 理的 命名空间 (name-space)中的 内容 发 送普 通请 求, 接 着反 向代 理将 判 断向 何处(原始服 务器 )转交 请求 ,并 将获 得的 内容 返 回给 客户 端, 就像 这些 内容原本就是它自 己的一 样。 2.3 两者区别 从 用途 上来 讲:正向代 理的典型 用途是 为在防火 墙内的 局域网客 户端提供访问 Internet 的途径 。正向代 理还可 以使用缓 冲特性 减少网络 使用率。反 向代理的 典型用 途是将防 火墙后 面的服务 器提供给 Internet 用户访
15、问 。反 向代 理还 可以 为后 端的 多台 服务 器提 供负 载 平衡 ,或 为后 端较慢的服务器 提供缓 冲服务。 另外, 反向代理 还可以 启用高 级 URL 策略和管理技术, 从而使 处于不同 web 服务器系统的 web 页面同 时存在于 同一个 URL 空间下 。 从 安全性 来 讲:正向代 理允许客 户端通 过它访问 任意网 站并且隐 藏客户端 自身 ,因 此你 必须 采取 安全 措施 以确 保仅 为经 过 授 权 的客 户端 提供服务 。反 向代 理对 外都 是透 明的 ,访 问者 并不 知道 自 己访 问的 是一 个代理。 2.4 为什么需要负载均衡 代理 服务器 如何将 W
16、eb 服务器集 群当作一 个城池 ,那么负 载均衡 服务器则 相当于城 门, 重要 性不 言而 喻。 如果 “城 门” 关闭 了, 与 外界 的通 道也 就掐断了。如果 只有一 台 Nginx 负载均衡服务 器,当该 服务器 发生故障 时,则会导致整 个网站 无法访问 。因此 ,我们需 要两台 以上 的 Nginx 负载均衡服务器,实 现故障 转移与高 可用。 双机高可用 一般是 通过虚拟 IP(也称 漂移 IP)方式来 实现的, 基于Linux/Unix 的 IP 别 名技术 。双机 高 可用方 式目前分 为两种 : 第一种方式 为一台 主服务器 和一台 热备服务 器,正常情 况下主服 务器
17、绑定一个公 网虚拟 IP,提 供负载均 衡服务 ,热备服 务器处 于空闲状 态,当主服务器 发生故 障时,热 备服务 器接管主 服务器 的 虚拟 IP,提供 负载均衡服务; 第二种方式 为两台 负载均衡 服务器 都处于活 动状态 ,各 自绑定一 个公毕业设计 5 网虚拟 IP,提供负 载均衡 服务,当 其中一 台服务器 发生故 障时,另 一台服务器接管 发生故 障服务器 的虚拟 IP。第 一种方式 较为常 见,但始 终有一台 服务 器处 于空 闲状 态, 浪费 了一 台服 务器 的负 载 均衡 处理 能力 。而第二种方式需 要多用 一个公网 IP。 毕业设计 6 第 三章 基于 NGINX 的
18、代理服务器搭建 3.1 NGINX 代理服务器搭建基本环境 VMware Workstat ion 版本: 10.0.4 build- 2249910 操作系统: CentOS-6.5-i386-minimal 虚拟机需要一 张网卡 , 计算机 :nginx 公网 地址: 192.168.1.11 计算机 :webserver 公网地址 : 192.168.1.22 CentOS 系统使 用默认管 理员账 号 root,密 码设置 为 123456 系统防火墙 iptables 默认为开 启状态, 由于 需 要开启通 讯端口 88,开放 防火墙 iptables 端口 88。 3.2 代理服务
19、器搭建的前期准备 ( 1)先做好一 台 基于 CentOS-6.5 的 nginx 服务器的 虚拟 机,需要注意的是网卡 设置成 桥接模式 ,存放 虚拟机的 文件夹 命名为 nginx。 ( 2) 同样的原理,搭建 webserver 网页服务器 ,并 命名为 webserver。如图 3-1 虚拟 机复制 所示。 图 3-1 虚拟机复制 ( 3)打开虚 拟机 nginx,开启虚拟机并 登陆进 去。如 图 3-2 系统登陆成功状态所示 。 图 3-2 系统登陆成功 ( 4 )修改服务器 nginx 虚拟机的 IP 地址 , 执行 命令 :vi /etc/sysconfig/network-sc
20、ripts/ifcfg-eth0 进行修改。如图 3-3 修改IP 地址命令所 示。 毕业设计 7 图 3-3 修改 IP 地址命令 ( 5)编辑网卡 ifcfg-eth0 配置文件。 如图 3-4 编辑 ifcfg-et0 配置文件所示。 图 3-4 编辑 ifcfg-eth0 配 置文件 ( 6)重启网卡 ,执行 命令 service network restart, 令网卡地址生效。如图 3-5 重启网 卡命令所 示。 图 3-5 重启网卡命令 ( 7)使用 CentOS-6.5-i386-minimal.iso 系统包作为 yum 源包。如图 3-6 加载 IDE 选择 iso 文件 。 图 3-6 加载 IDE 选择 iso 文件
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。