记录一些自己所学。
通过虚拟机安装centos系统搭建nginx服务器实现正向代理反向代理

一、所需工具环境

Vmware,Centos7,XShell,SCP,Nginx

二、安装虚拟机操作系统

具体安装步骤参考其他博主博客~

安装了四台机器,00为代理服务器,01-03作为反向代理应用机器

在这里插入图片描述
安装小tips

在安装完一台机器后,可以通过快照快速克隆出其他几台新的机器,而不用重新安装

在这里插入图片描述

注意在这里选择 创建完整克隆
在这里插入图片描述

三、搭建Nginx服务器

1、用XShell和SCP连接服务器

	虚拟机开机,用`ip addr`命令查出虚拟机ip地址用于远程登陆
	![在这里插入图片描述](https://img-blog.csdnimg.cn/52a8c5bdeb554f91ba7809be87bc8ef9.png)

ip地址为192.168.88.133

ssh 192.168.88.133

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
连接成功!

在这里插入图片描述
在这里插入图片描述
登录成功!

2、安装Nginx服务

yum -y install gcc-c++
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
tar -xvf nginx-1.20.2.tar.gz
  1. 进入源代码目录
cd nginx-1.20.2
  1. 编译安装前的配置
./configure
  1. 编译
make
  1. 安装
make install
  1. 查看安装到什么地方去了
whereis nginx
  1. 返回上级目录删除nginx压缩文件源代码
cd ../
rm -f nginx-1.20.2.tar.gz
rm -rf nginx-1.20.2
  1. 创建链接,方便操作
ln -s /usr/local/nginx nginx
	systemctl status firewalld	//查看防火墙状态
	systemctl start firewalld	//启动防火墙
	systemctl stop firewalld	//停止防火墙
	systemctl restart firewalld	//重启防火墙
	systemctl enable firewalld  //开机自启动
	systemctl disable firewalld	//禁止开机自启动

端口管理命令(在防火墙开启状态使用

	firewall-cmd --list-ports	//查看开放的端口列表
	firewall-cmd --permanent --add-port=80/tcp		//开放80端口
	firewall-cmd --permanent --remove-port=80/tcp	//关闭80端口
	firewall-cmd --reload		//重新加载防火墙规则开闭端口后要执行

至此,Nginx服务安装完毕!

3、访问Nginx服务

./nginx/sbin/nginx

四、正向代理

在这里插入图片描述
用户不直接访问对应服务器,而是通过访问Nginx服务器,间接访问应用服务器
百度服务器为例 www.baidu.com

1、修改Nginx服务器配置文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
保存修改

2、重启服务

ps -ef 相当于Linux系统中的任务管理器
在这里插入图片描述

kill -9 [进程]

在这里插入图片描述

./nginx/sbin/nginx

3、再次访问Nginx服务器

此时虽然输入的是Nginx服务器的ip,但会跳转百度的地址,此时实现正向代理,给用户体验就是访问百度服务器。
在这里插入图片描述

五、反向代理与负载均衡算法

在这里插入图片描述
1台代理服务器 代理 N台应用服务器
代理服务器眼里,不明确知道代理的是谁

负载均衡算法加权轮询算法为例

1、登录四台应用服务器获取各自的IP地址

Nginx_00		192.168.88.133		作为反向代理服务器(做负载均衡)
Nginx_01		192.168.88.130		作1号应用服务器
Nginx_02		192.168.88.131		作2号应用服务器
Nginx_03		192.168.88.132		作3号应用服务

2、修改反向代理服务器配置文件设置权值

在这里插入图片描述

在这里插入图片描述

upstream cluster{
	server 192.168.88.130:80 weight=3;
	server 192.168.88.131:80 weight=2;
	server 192.168.88.132:80 weight=1;

     }
location / {
            proxy_pass http://cluster;
        }

3、实验准备

在01、02、03号机器中分别上传hello.txt文件
在这里插入图片描述
文本内容分别为

01中hello.txt内容first
02中hello.txt内容:second
03中hello.txt内容third

保存并重启四台机器的服务

4、访问代理服务

浏览器输入192.168.88.133/hello.txt
注意此时我们没有代理服务器中上传hello.txt文件,那么访问会出现什么结果呢?
一次
在这里插入图片描述

刷新后第二次:
在这里插入图片描述
第三次:
在这里插入图片描述
第四次:
在这里插入图片描述
第五次:
在这里插入图片描述
第六次:
在这里插入图片描述
由此可见,代理服务器会分别对3台服务器进行访问,访问顺序为:

01
02
01
03
01
...

造成这样的结果是因为我们对01号机器设置了权值为3,02号机器设置了权值为2,03号机器设置了权值为1。所以每6次访问会出现这样的顺序。相当于是代理服务器向三台性能不同的机器分派各自可以承受的任务量。

六、总结

原文地址:https://blog.csdn.net/Sao_E/article/details/128673630

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_33798.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注