正向代理和反向代理
正向代理
我们常说的代理指的就是正向代理,正向代理隐藏了真正的客户端,本应由客户端向服务端发出的请求由代理代为向服务端发送,这样,服务端不知道真正的客户端是谁。
反向代理
反向代理与正向代理相反,反向代理隐藏了真正的服务端,我们作为客户端把请求发送到反向代理服务器上,再由反向代理服务器将我们的请求发送给服务端。
nginx反向代理
nginx是性能非常好的反向代理服务器,用来做负载均衡。
实现步骤
检查环境
[root@S2 ~]# getenforce
[root@S2 ~]# systemctl status firewalld
下载启动
[root@S2 ~]# yum -y install nginx httpd php
[root@S2 conf.d]# systemctl restart httpd
[root@S2 conf.d]# systemctl enable httpd
修改nginx配置文件
[root@S2 conf.d]# vim /etc/nginx/conf.d/sy.conf
server {
listen 80;
location / {
proxy_pass http://127.0.0.1:10000;
}
}
添加php测试页
[root@S2 conf.d]# echo "<?php phpinfo(); ?>" > /var/www/html/index.php
配置nginx反向代理
[root@S2 conf.d]# mkdir /nginx
[root@S2 conf.d]# vim /etc/nginx/conf.d/sy.conf
server {
listen 80;
location ~* \.php$ {
proxy_pass http://127.0.0.1:10000;
}
location / {
root /nginx;
}
}
重启验证
负载均衡
现在我们做一个实验,建立两个网站,实现这两个网站的负载均衡。
在现实应用中,两个网站的内容完全相同,用户在不知不觉中访问了两个内容完全相同的不同网站,这样就缓解了单个网站面临的巨大压力,实现了负载均衡。
建立两个网站
[root@s2 ~]# yum -y install nginx
[root@s2 ~]# cd /etc/nginx/
[root@s2 nginx]# cd conf.d/
[root@s2 conf.d]# vim 1.conf
[root@s2 conf.d]# mkdir /sy/a -p
[root@s2 conf.d]# mkdir /sy/b -p
[root@s2 conf.d]# firewall-cmd --add-port=80/tcp
success
[root@s2 conf.d]# firewall-cmd --add-port=80/tcp --permanent
success
[root@s2 sy]# echo "11111111111" > a/index.html
[root@s2 sy]# echo "22222222222" > b/index.html
[root@s2 sy]# vim /etc/hosts
[root@s2 sy]# systemctl restart nginx
修改配置文件
server{
listen 81;
server_name a;
location / {
root /sy/a;
}
}
server{
listen 82;
server_name b;
location / {
root /sy/b;
}
}
server{
listen 80;
server_name c;
location / {
proxy_pass http://abc;
}
}
upstream abc {
server 127.0.0.1:81;
server 127.0.0.1:82;
}
server{
listen 80;
server_name a;
location / {
proxy_pass http://127.0.0.1:81;
}
}
server{
listen 80;
server_name b;
location / {
proxy_pass http://127.0.0.1:82;
}
}
192.168.59.101 a
192.168.59.101 b
192.168.59.101 c
计算机英语
proxy | 代理 |