《 Linux操作系统》实验指导书/实验四:代理服务器 实验四:代理服务器 实验目的 1、理解正向代理服务器和反向代理服务器的工作原理 2、掌握搭建反向代理服务器的方法 3、掌握使用方向代理实现负载均衡。 实验学时 2学时 三、实验类型 创新性 四、实验需求 1、硬件 每人配备计算机1台,不低于双核CPU、8G内存、500GB硬盘 2、软件 Windows操作系统,安装Ⅴ irtual Box虚拟化软件,安装Puty管理终端软件 3、网络 计算机使用固定P地址接入局域网,并支持对互联网的访问,虚拟主机可通过NAT方 式访问互联网 4、工具 无 五、实验任务 1、完成 nginx反向代理服务器部署安装 2、完成反向代理服务器实现内部Web服务器的负载均衡; 3、完成对内部web服务器的性能测试 六、实验内容及步骤 1、应用场景设计 (1)场景描述 本实验使用3台CentOS虚拟主机,其中2台为Web服务器,进行http业务发布,1台 为 nginx服务器,进行代理服务实现,并通过 Virtual Box软件中网卡模式的选择,实现内外 网的分类,其场景应用结构如图4-1所示 3台 CentOS虚拟主机的IP地址地址配置如表4-1所示 管理科学与工程学科/阮晓龙/13938213680/共8页,第1页
《Linux 操作系统》实验指导书 / 实验四:代理服务器 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 8 页,第1页 实验四:代理服务器 一、实验目的 1、理解正向代理服务器和反向代理服务器的工作原理; 2、掌握搭建反向代理服务器的方法; 3、掌握使用方向代理实现负载均衡。 二、实验学时 2 学时 三、实验类型 创新性 四、实验需求 1、硬件 每人配备计算机 1 台,不低于双核 CPU、8G 内存、500GB 硬盘。 2、软件 Windows 操作系统,安装 VirtualBox 虚拟化软件,安装 Putty 管理终端软件。 3、网络 计算机使用固定 IP 地址接入局域网,并支持对互联网的访问,虚拟主机可通过 NAT 方 式访问互联网。 4、工具 无。 五、实验任务 1、完成 Nginx 反向代理服务器部署安装; 2、完成反向代理服务器实现内部 Web 服务器的负载均衡; 3、完成对内部 Web 服务器的性能测试。 六、实验内容及步骤 1、应用场景设计 (1)场景描述 本实验使用 3 台 CentOS 虚拟主机,其中 2 台为 Web 服务器,进行 http 业务发布,1 台 为 Nginx 服务器,进行代理服务实现,并通过 VirtualBox 软件中网卡模式的选择,实现内外 网的分类,其场景应用结构如图 4-1 所示。 3 台 CentOS 虚拟主机的 IP 地址地址配置如表 4-1 所示
《 Linux操作系统》实验指导书/实验四:代理服务器 表4-1虚拟主机PP地址配置 序号虚拟主机名称 网络配置 网关 网卡模式 描述 Web服务器1 100.2.14/24 100.2.1 业务网卡 web服务器2 100.2.15/24 10.0.2.1 桥接 业务网卡 172.16.124102/24172.16.124 代理服务 Nginx服务器 桥接 10.0.2.102/24 100.2.1 内部业务通信 外部陪络 图4-1场景设计结构 (2)网络配置 nginx服务器需要配置2个IP地址,一个用于代理服务,供外网访问:一个用于内部 业务通信,本次实验的虚拟主机网卡名为“ ifcfg-enpOs3” 其“代理服务”网络配置如下所示,如图4-2所示 #vi /etc/sysconfig/network-scripts/ifcfg-enpOs3 TYPE=Ethernet BOOTPROTO=static PADDR=17216.124.102 REFIX=24 GATWAY=172.16.124.1 DEFROUTE=yes IPV4 FAILURE FATALEno NAME=enpOs3 ONBOOT=yes PROXY METHOD=none BROWSER_ONLY=no ootelocalhost -t vi /etc/ sysconfig/network -scripts/ifcfg-enpos3 toTo=stat⊥c 72.16.124,102 DEFROUTE E FATAL-nO IPV6INIT=yes 图4-2配置 Nginx服务器|P1 将网卡配置文件 ifcfg-enpOs3进行复制并重命名为 ifcfg-enpOs3:1,编辑 ifcfg-enp0s3:1文 件进行“内部业务通信”网络配置,其操作命令如下 cd /etc/sysconfig/network-scripts/ #t cp ifcfg-enpOs3 ifcfg-enp0s3 管理科学与工程学科/阮晓龙/13938213680/共8页,第2页
《Linux 操作系统》实验指导书 / 实验四:代理服务器 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 8 页,第2页 表 4-1 虚拟主机 IP 地址配置 序号 虚拟主机名称 网络配置 网关 网卡模式 描述 1 Web 服务器 1 10.0.2.14/24 10.0.2.1 桥接 业务网卡 2 Web 服务器 2 10.0.2.15/24 10.0.2.1 桥接 业务网卡 3 Nginx 服务器 172.16.124.102/24 172.16.124.1 桥接 代理服务 4 10.0.2.102/24 10.0.2.1 内部业务通信 (2)网络配置 Nginx 服务器需要配置 2 个 IP 地址,一个用于代理服务,供外网访问;一个用于内部 业务通信,本次实验的虚拟主机网卡名为“ifcfg-enp0s3”。 其“代理服务”网络配置如下所示,如图 4-2 所示。 #vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE=Ethernet BOOTPROTO=static IPADDR=172.16.124.102 PREFIX=24 GATWAY=172.16.124.1 DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME=enp0s3 DEVICE=enp0s3 ONBOOT=yes PROXY_METHOD=none BROWSER_ONLY=no 将网卡配置文件 ifcfg-enp0s3 进行复制并重命名为 ifcfg-enp0s3:1,编辑 ifcfg-enp0s3:1 文 件进行“内部业务通信”网络配置,其操作命令如下。 # cd /etc/sysconfig/network-scripts/ # cp ifcfg-enp0s3 ifcfg-enp0s3:1 图 4-1 场景设计结构 图 4-2 配置 Nginx 服务器 IP-1
《 Linux操作系统》实验指导书/实验四:代理服务器 #f vi ifcfg-enpOs3: 1 TYPE=Ethernet BOOTPROTO=static PADDR=1002.10 PREFIX=24 GATWAY=10.0.2. DEFROUTE=yes IPV4 FAILURE FATALEno DEVICE=enpOs3 ONBOOT=yes PROXY METHOD=none BROWSER ONLY=no ##启动网卡 #f ifup ifcfg- enpOs3: 1 ##重启网络 systemctl restart network nginx服务器配置完成后,通过如下命令查看P地址配置,网络配置结果如图4-3所 telocalhost network-scripts]# ip addr eue state UNKNOWN 1ink/1。 aback00:00:00:00:00:00brd00:00:00:00:00:00 eferred lft forever Ift forever preferred lft forever enpos3: <BROADCAST, MULTICAST, UP, LOWER UP> mtu 1500 disc pfifo fas 00:27:9f:0 d ff:ff:ff:ff:ff:ff anet 4. 102/24 brd 172.. 255 scope global enpos3 inet i pe global enpD33 图4-3Ngnx服务器网络配置 参照表4-1,完成3台虚拟化主机的部署,完成2台Web服务器的网络配置,并将配置 命令填写到表42中 表42web服务器网络配置 管理科学与工程学科/阮晓龙/13938213680/共8页,第3页
《Linux 操作系统》实验指导书 / 实验四:代理服务器 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 8 页,第3页 # vi ifcfg-enp0s3:1 TYPE=Ethernet BOOTPROTO=static IPADDR=10.0.2.102 PREFIX=24 GATWAY=10.0.2.1 DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME=enp0s3 DEVICE=enp0s3 ONBOOT=yes PROXY_METHOD=none BROWSER_ONLY=no ##启动网卡 # ifup ifcfg-enp0s3:1 ##重启网络 # systemctl restart network Nginx 服务器配置完成后,通过如下命令查看 IP 地址配置,网络配置结果如图 4-3 所 示。 # ip addr 参照表 4-1,完成 3 台虚拟化主机的部署,完成 2 台 Web 服务器的网络配置,并将配置 命令填写到表 4-2 中。 表 4-2 Web 服务器网络配置 图 4-3 Nginx 服务器网络配置
《 Linux操作系统》实验指导书/实验四:代理服务器 2、部暑 Apache服务器 在2台 Centos的web服务器上安装 Apache服务,可参照《实验三:网站服务器》实 验指导书中 Apache安装过程,进行软件安装、服务启动操作 3、部暑 Nginx服务器 (1)配置安装源 本次实验获取 nginx软件包,是通过引用官方的RPM源进行获取,其操作命令如下 配置过程如图44所示。 ##导入 Nginx官方GPG密码,如果没有该密码,下载RPM包是会出现错误 #frpm--importhttp://nginx.org/keys/nginxsigningkey ##加入 Nginx的RPM包软件 #rpm-ivhhttp://nginx.org/packages/centos/7/noarch/rpms/nginx-r elease-centos-7-0.el7 ngx noarch rpm inghttp://nginx.org/packages/centos/7/noarch/rpms/nginx-release-cent 带非苹带学非带[1001 图44配置 Nginx安装源 (2)安装 nginx 加入 nginx的安装源后,输入以下命令进行 nginx的安装,其安装过程如图45所示 #f yum install nginx oteMiWiFi-R3P-arv -]s yum install nginx 图45安装Ngi (3) nginx服务配置 ①防火墙配置 开启防火墙的TCP80端口,从而可远程访问 nginx的Web服务,其命令如下所示。 ##添加TCP/80端口永久访问 #f firewall - --zone=public --add-port=80/tcp--permanent ##重新加载 firewall防火墙规则 #f firewall-cmd --reload ②服务启动 完成安装后,需重启 Nginx服务,其操作命令如下 ##启动 Nginx服务 systemctl start ng 管理科学与工程学科/阮晓龙/13938213680/共8页,第4页
《Linux 操作系统》实验指导书 / 实验四:代理服务器 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 8 页,第4页 2、部署 Apache 服务器 在 2 台 CentOS 的 Web 服务器上安装 Apache 服务,可参照《实验三:网站服务器》实 验指导书中 Apache 安装过程,进行软件安装、服务启动操作。 3、部署 Nginx 服务器 (1)配置安装源 本次实验获取 Nginx 软件包,是通过引用官方的 RPM 源进行获取,其操作命令如下, 配置过程如图 4-4 所示。 ##导入 Nginx 官方 GPG 密码,如果没有该密码,下载 RPM 包是会出现错误 # rpm --import http://nginx.org/keys/nginx_signing.key ##加入 Nginx 的 RPM 包软件 # rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-r elease-centos-7-0.el7.ngx.noarch.rpm (2)安装 Nginx 加入 Nginx 的安装源后,输入以下命令进行 Nginx 的安装,其安装过程如图 4-5 所示。 # yum install nginx (3)Nginx 服务配置 ①防火墙配置 开启防火墙的 TCP/80 端口,从而可远程访问 Nginx 的 Web 服务,其命令如下所示。 ##添加 TCP/80 端口永久访问 # firewall-cmd --zone=public --add-port=80/tcp --permanent ##重新加载 firewalld 防火墙规则 # firewall-cmd --reload ②服务启动 完成安装后,需重启 Nginx 服务,其操作命令如下, ##启动 Nginx 服务 # systemctl start nginx 图 4-4 配置 Nginx 安装源 图 4-5 安装 Nginx
《 Linux操作系统》实验指导书/实验四:代理服务器 ##设置 Nginx服务开机自启动 #f systemctl enable nginx (4) nginx测试 用户在本地浏览器中输入htp/P地址(P地址为 nginx虚拟化主机外部服务地址) 査看是否能够访问 nginx欢迎界面,如图46所示,以验证 nginx服务是否安装成功。 ∈co17216.124102 ☆ Welcome to nginx! If you see this page, the nginx web server is successfully installed and orking. Further configuration is required. ion and support please refer to nginx. org Commercialsupportisavailableatnginx.com. Thank you for using nginx 图46测试 Nginx服务 4、负载均衡的实现 本次实验所使用的负载均衡算法是轮询算法,在轮询算法中 Weight越大,通过 nginx 代理分配访问的几率就越大 本次实验设置web服务器1的 Weight值为1,web服务器2值为2,简单地说,例如 通过 nginx服务器进行三次业务访问,一次请求转发给Web服务器1,两次请求转发给Web 服务器2,具体配置如下所示。 (1)修改配置文件 编辑 Nginx服务的默认配置文件 default. conf,该文件存放的目录为 letc/nginx/conf.d,将 配置文件中内容修改成如下所示,编辑完成后保存退出 vi /etc/nginx/ conf. d/default. conf server ##设置监听端口为80 listen server name localhost: ot /usr/share/nginx/htm index index. html index htm: proxypasshttp://fzjh; 编辑 Nginx服务的配置文件 nginx. conf,该文件存放的目录为 letc/nginx,在该配置文件 中进行负载均衡的配置,将配置文件中部分内容修改成如下所示,编辑完成后保存退出 nainx/nainx con default type application/octet-stream log format main 'Sremote addr- Sremote user [Stime local Sstatusabodybytessent"shttpreferer 管理科学与工程学科/阮晓龙/13938213680/共8页,第5页
《Linux 操作系统》实验指导书 / 实验四:代理服务器 管理科学与工程学科 / 阮晓龙 / 13938213680 / 共 8 页,第5页 ##设置 Nginx 服务开机自启动 # systemctl enable nginx (4)Nginx 测试 用户在本地浏览器中输入 http://IP 地址(IP 地址为 Nginx 虚拟化主机外部服务地址), 查看是否能够访问 Nginx 欢迎界面,如图 4-6 所示,以验证 Nginx 服务是否安装成功。 4、负载均衡的实现 本次实验所使用的负载均衡算法是轮询算法,在轮询算法中 Weight 越大,通过 Nginx 代理分配访问的几率就越大。 本次实验设置 Web 服务器 1 的 Weight 值为 1,Web 服务器 2 值为 2,简单地说,例如 通过 Nginx 服务器进行三次业务访问,一次请求转发给 Web 服务器 1,两次请求转发给 Web 服务器 2,具体配置如下所示。 (1)修改配置文件 编辑 Nginx 服务的默认配置文件 default.conf,该文件存放的目录为/etc/nginx/conf.d,将 配置文件中内容修改成如下所示,编辑完成后保存退出。 # vi /etc/nginx/conf.d/default.conf server { ##设置监听端口为 80 listen 80; server_name localhost; …… location / { root /usr/share/nginx/html; index index.html index.htm; proxy_pass http://fzjh; } …… 编辑 Nginx 服务的配置文件 nginx.conf,该文件存放的目录为/etc/nginx,在该配置文件 中进行负载均衡的配置,将配置文件中部分内容修改成如下所示,编辑完成后保存退出。 # vi /etc/nginx/nginx.conf …… http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' 图 4-6 测试 Nginx 服务