【linux命令】Linux环境下Nginx 反向代理如何配置以及实现
2,反向代理:客户端的请求过来之后交给反向代理服务器,然后反向代理服务器再交给后台真实的服务器,可以理
1,正向代理:类似路由器,可以理解成客户端代理。一般具有加速缓存功能。
2,反向代理:客户端的请求过来之后交给反向代理服务器,然后反向代理服务器再交给后台真实的服务器,可以理解成服务器端代理。
本教程设置的是nginx的反向代理功能的实现。同时,反向代理还可以实现负载均衡的功能而且用途非常广泛,比如《Linux环境下Nginx 通过upstream如何配置负载均衡以及实现》这篇文章就是通过nginx反向代理功能来实现的负载均衡,实现请求分发。鉴于内容搞重复了,这里将之前写的文章搞过来。
一,服务器准备情况,四台:
1,前段服务器:
192.168.1.112 hosts定向测试域名nginx.21yunwei.com
192.168.1.113 备用前端服务器。
后端web服务器池web_pools:
192.168.1.102
192.168.1.103
2,环境:统一centos 6
前端服务器安装nginx。环境安装这里就不写了,可以参考文章《linux下如何安装nginx环境配置》部署nginx环境。
后端web服务器 池统一安装apache:yum install httpd -y 并关闭防火墙。否则会出现前端服务器无法请求web池情况。
二,nginx负载均衡配置。
1,修改nginx配置文件。
egrep -v "#| ^$" nginx.conf.default > nginx.conf
处理配置文件并输出到nginx.conf,这里清除了注释行和空行,方便直观查看nginx配置文件。
我们知道nginx负载均衡是通过ngx_http_upstream_module这个模块来实现的,详情可以查看官网http://nginx.org/en/docs/http/ngx_http_upstream_module.html介绍。
修改后的配置文件如下:
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream web_pools { server 192.168.1.102:80 weight=5; //192.168.1.102web节点服务器,权重5.权重越大,越优先分配。 server 192.168.1.103:80 weight=1; //192.168.1.103web节点服务器,权重5.测试使用,可以根据实际环境进行权重分配。 server 192.168.1.104:80 backup; // 备用节点服务器,如果之前启用的web节点挂了,备用服务器将进行启用访问。 } server { listen 80; server_name nginx.21yunwei.com; location / { proxy_pass http://web_pools; } } }
更为详细的upstream用法请参考《Nginx模块upstream模块详细介绍以及调度算法》
三,访问结果,简易负载均衡效果已经实现。