让我们的服务器代理百度:

查看百度的IP

LNMP搭建14:Nginx代理详解_第1张图片

在虚拟主机配置文件目录下新建一个代理配置文件:

[root@cp1 vhosts]# ls

default.conf  test.conf

[root@cp1 vhosts]# vim proxy.conf

写入内容如下:

server {

listen 80;

server_name www.baidu.com;

location / {

proxy_pass http://119.75.218.70/;

#proxy_set_header Host $host;

}

}

检查没错后重新加载配置文件

[root@cp1 vhosts]# /usr/local/nginx/sbin/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

[root@cp1 vhosts]# /usr/local/nginx/sbin/nginx -s reload

让www.baidu.com走我们的服务器访问百度

LNMP搭建14:Nginx代理详解_第2张图片

装dig命令:用来解析域名

[root@cp1 vhosts]# dig www.baidu.com

-bash: dig: command not found

[root@cp1 vhosts]# yum install -y bind*

使用dig命令解析域名www.baidu.com有哪些IP地址:

LNMP搭建14:Nginx代理详解_第3张图片

可以看到百度有两个IP:119.75.218.70和119.75.217.109

代理一个域名到多个IP可以实现负载均衡:编辑代理配置文件

[root@cp1 vhosts]# vim proxy.conf

修改内容如下:

upstream baidu_proxy{

server 119.75.218.70:80;

server 119.75.217.109:80;

}

server {

listen 80;

server_name www.baidu.com;

location / {

proxy_pass http://baidu_proxy/;

proxy_set_header Host $host;

#proxy_set_header X-Real-IP $remote_addr;

}

}

重新加载配置文件:

[root@cp1 vhosts]# /usr/local/nginx/sbin/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

[root@cp1 vhosts]# /usr/local/nginx/sbin/nginx -s reload

即可生效。