nginx反向代理,调度器,优化

一、代理服务器 

1、什么是代理服务器 

代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。 

2、什么是正向代理?什么是反向代理? 

正向代理,架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。 

反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。

3、反向代理有哪些主要应用? 

现在许多大型web网站都用到反向代理。除了可以防止外网对内网服务器的恶性攻击、缓存以减少服务器的压力和访问安全控制之外,还可以进行负载均衡,将用户请求分配给多个服务器。

Nginx反向代理

使用4台RHEL7虚拟机,其中一台作为Nginx代理服务器,该服务器需要配置两块网卡,IP地址别为192.168.4.5和192.168.2.5,两台Web服务器IP地址分别为192.168.2.100和192.168.2.200。客户端测试主机IP地址为192.168.4.100。

nginx反向代理,调度器,优化_第1张图片

 

步骤一:部署实施后端Web服务器

1)部署后端Web1服务器

后端Web服务器可以简单使用yum方式安装httpd实现Web服务,为了可以看出后端服务器的不同,可以将两台后端服务器的首页文档内容设置为不同的内容。

# yum -y install httpd

# echo "192.168.2.100" > /var/www/html/index.html

# systemctl restart httpd

# firewall- cmd - - set- default- zone=trusted

# setenforce 0

2)部署后端Web2服务器

# yum -y install httpd

# echo "192.168.2.200" > /var/www/html/index.html

# systemctl restart httpd

# firewall- cmd - - set- default- zone=trusted

# setenforce 0

步骤二:配置Nginx服务器,添加服务器池,实现反向代理功能

1)修改/usr/local/nginx/conf/nginx.conf配置文件

# vim /usr/local/nginx/conf/nginx.conf

   ... ...

   http {

   ... ...

#使用upstream定义后端服务器集群,集群名称任意(如webserver)

#使用server定义集群中的具体服务器和端口

  upstream webserver {

  server 192.168.2.100:80;

  server 192.168.2.200:80;

  }

  ... ...

  server {

  listen 80;

  server_name localhost;

  location / {

#通过proxy _pass将用户的请求转发给webserver集群

  proxy_pass http://webserver;

  }

  }

2)重启nginx服务

# /usr/local/nginx/sbin/nginx - s reload

3)客户端使用浏览器访问代理服务器测试轮询效果

# curl http://192.168.4.5 //使用该命令多次访问查看效果

 192.168.2.100

# curl http://192.168.4.5

 192.168.2.200

步骤三:配置upstream服务器集群池属性

1)设置失败次数,超时时间,权重

weight 可以设置后台服务器的权重,

max_fails 可以设置后台服务器的失败次数,

fail_timeout 可以设置后台服务器的失败超时时间。

# vim /usr/local/nginx/conf/nginx.conf

... ...

http {

... ...

upstream webserver {

server 192.168.2.100 weight=1 max_fails=2 fail_timeout=30;

server 192.168.2.200 weight=2 max_fails=2 fa

你可能感兴趣的:(nginx反向代理,调度器,优化)