在Linux虚拟机中搭建Nginx服务器以及SSL、反向代理和负载均衡的实现

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在Linux虚拟机中搭建Nginx服务器以及SSL、反向代理和负载均衡的实现

目录

一、虚拟机下网络的网络配置 (2)

1、Bridged模式 (2)

2、NAT 模式 (3)

3、host-only 模式: (4)

4、作业环境网络拓扑图 (4)

二、Nginx的安装与配置 (5)

1、Nginx简介 (5)

2、安装前的环境准备 (5)

3、下载安装 (6)

4、控制Nginx服务 (6)

5、配置nginx (7)

6、负载测试 (9)

三、基于OpenSSL部署https网站 (9)

1、OpenSSL以及SSL/TLS协议简介: (9)

2、Linux下配置https (10)

3、SSL/TSL协议分析 (12)

四、用Nginx实现负载均衡和反向代理 (15)

1、反向代理的实现 (15)

2、负载均衡 (18)

一、虚拟机下网络的网络配置

1、Bridged模式

在桥接模式下,VMware虚拟机里的系统就像是局域网中的一台独立的主机,它可以访问同一个网段内任何一台机器,即可以相互ping通。

在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,就可以手工配置它的IP,DNS服务器,网关等信息,以实现通过局域网的网关或通过交换机访问外网。

图1

本地物理网卡和虚拟网卡通过虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位。

Vmware默认给虚拟系统提供了一个虚拟网卡(linux下默认为eth0设备),虚拟系统通过该网卡与外部通信。图中虚拟交换机由vmware提供,其默认设备名为VMnet0。如图1所示。

2、NAT 模式

NAT 即Network Address Translation 缩写,即网络地址转换,由NAT服务完成,在vmware里默认为VMnet8虚拟交换机,它将虚拟系统的IP地址转换成宿主机的IP地址,从而借用宿主机访问其他主机。使用NAT模式,也可以让虚拟系统通过宿主机器所在的网络来访问公网。

在这种模式下,虚拟系统是不能被LAN内其他PC访问的(宿主机可以,稍后讲),只能虚拟机以宿主机的名义访问LAN内的计算机。默认情况下NAT模式的虚拟系统的TCP/IP 配置信息由VMnet8(NAT)虚拟网络的DHCP服务器提供,因此采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

图2

VMware Network Adepter VMnet8虚拟网卡的作用就是为主机和虚拟机的通信提供一个接口,即使主机关闭该网卡,虚拟机仍然可以连接到Internet,但是主机和虚拟机之间就不能互访了,还有访问局域网内的其他计算机,也是通过NAT服务实现。如图2所示

3、host-only 模式:

在Host-Only模式下,虚拟系统所在的虚拟网络是一个全封闭的网络,它唯一能够访问的就是宿主机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet,即虚拟系统无法上网。在host-only模式中,所有(Vmware创建的多个虚拟系统)的虚拟系统是可以相互通信的,当然在NAT模式下也可以,但虚拟系统和真实的网络是被隔离开的,主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。如图3所示。

图3

4、作业环境网络拓扑图

如图4,nginx做服务器的前端,提供反向代理和负载均衡;两台apache服务器(linux debian发行版自带,可直接使用)做后端的web服务器,提供具体的web服务;从宿主主机的浏览器来进行访问实验。整个网络使用虚拟机提供的NAT模式。

宿主主机操作系统为window7,服务器均为Linux debian 3.13.7,虚拟机软件为VMware Workstation 10.0.1。

图4

二、nginx的安装与配置

1、Nginx简介

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru 站点开发的。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。由于其较高的性能,现在的市场占有率已达到第三。

特点:

支持高并发连接,对静态页面处理速度快

内存消耗少,轻量级

成本低廉,开源

可扩展性强,有丰富的模块

2、安装前的环境准备

●由于nginx是由C编写的,所以要安装gcc 编译器,不过一般发行版都已安装

●由于nginx会使用正则表达式语法库,所以要安装PCER。

●由于nginx要用到gzip压缩算法,所以要安装zlib库

●本次实验需要实现SSL,所以安装openssl

3、下载安装

在debian下可以使用其强大的包管理工具apt-get install nginx从其软件库实现一步安装,但是无法自定义配置模块,所以在这里我们进行手动安装。

I.从官网下载最新的稳定版,目前为1.6.0,并解压。

II.配置,可以选择安装路径,选上自己需要的可选模块,配置安装后无法更改。

III.编译安装

4、控制Nginx服务

在nginx安装目录的sbin下为我们提供了可执行的nginx控制文件,在这里我们要制作一个init脚本并将其添加为系统文件,使其能随着系统自己启动。

I.制作init脚本。进入nginx的官方wiki——/InitScripts,找到自己发行版的

脚本,然后编辑/etc/init.d/nginx 然后插入所选的脚本,注意在脚本中的DAENOM变量一定要替换为自己nginx控制文件的路径。其他可以默认或根据情况修改。

DAEMON=/usr/local/nginx-1.6.0/sbin/nginx

相关文档
最新文档