当前位置 主页 > 服务器问题 > Linux/apache问题 >
这篇文章主要介绍了Nginx正反向代理及负载均衡等功能实现配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
系统环境:
VirtualBox Manager
Centos6.4
nginx1.10.0
IP对应的机器名:
IP 机器名 角色名
10.0.0.139 [elk] client
10.0.0.136 [lvs-master] nginx server
10.0.0.137 [kvm] web server 1
10.0.0.111 [lvs-backup] web server 2
一、正向代理
1.1 环境介绍
1.2 配置介绍
Nginx server:(内网地址:10.0.0.136,外网地址:172.16.27.64)
使用VirtualBox Manager虚拟出双网卡。
[root@lvs-master conf.d]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:30:56:99 inet addr:10.0.0.136 Bcast:10.255.255.255 Mask:255.0.0.0 inet6 addr: fe80::a00:27ff:fe30:5699/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:891978 errors:0 dropped:0 overruns:0 frame:0 TX packets:9509 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:81841095 (78.0 MiB) TX bytes:13339058 (12.7 MiB) eth1 Link encap:Ethernet HWaddr 08:00:27:55:4C:72 inet addr:172.16.27.64 Bcast:172.16.27.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe55:4c72/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:913671 errors:0 dropped:0 overruns:0 frame:0 TX packets:22712 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:109369858 (104.3 MiB) TX bytes:1903855 (1.8 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:36222 errors:0 dropped:0 overruns:0 frame:0 TX packets:36222 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3899937 (3.7 MiB) TX bytes:3899937 (3.7 MiB)
[root@lvs-master conf.d]# cat zxproxy.conf server { listen 80; #监听的端口 server_name 10.0.0.136; #server的内容地址,与client需要网络互通 resolver 172.16.5.1; #DNS,这个是DNS,访问外网 location / { proxy_pass http://$http_host$request_uri; #$http_host和$request_uri是nginx系统变量,不需要替换,保持原样 }
Nginx client:
只有一个内网网卡,通过访问Nginx server去访问internet,其实翻墙、肉鸡、之类的俗称就是这个原理。
[root@kvm ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:72:8C:3B inet addr:10.0.0.137 Bcast:10.255.255.255 Mask:255.0.0.0 inet6 addr: fe80::a00:27ff:fe72:8c3b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1462448 errors:0 dropped:0 overruns:0 frame:0 TX packets:21130 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:145119904 (138.3 MiB) TX bytes:2814635 (2.6 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:60800 errors:0 dropped:0 overruns:0 frame:0 TX packets:60800 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4831102 (4.6 MiB) TX bytes:4831102 (4.6 MiB) [root@kvm ~]# wget www.baidu.com --2016-06-08 13:02:08-- http://www.baidu.com/ 正在解析主机 www.baidu.com... 失败:域名解析暂时失败。 #无法访问百度 wget: 无法解析主机地址 “www.baidu.com” [root@kvm ~]# export http_proxy=http://10.0.0.136:80 #设定环境变量,指定代理服务器的ip及端口 [root@kvm ~]# wget www.baidu.com #可以成功访问百度了 --2016-06-08 13:08:15-- http://www.baidu.com/ 正在连接 10.0.0.136:80... 已连接。 已发出 Proxy 请求,正在等待回应... 200 OK 长度:未指定 [text/html] 正在保存至: “index.html.1” [ <=> ] 99,762 --.-K/s in 0.07s 2016-06-08 13:08:16 (1.36 MB/s) - “index.html.1” 已保存 [99762]