nginx代理、负载均衡
nginx代理
nginx代理不支持https,也就是端口443; 通过配置文件设置,就可以将特定的链接向应用服务器转发。例如 Nginx 可通过以下简单的配置,即可实现代理转发: 也就是用户在CN,想访问US的web服务器,由于路途原因访问慢,那么我们可以在CN和US的中间HK搭建一个代理服务器,CN连上HK的代理 来访问US的WEB;减少一半时间;
新建代理文件
cd /usr/local/nginx/conf/vhost/ vim proxy.conf代码
server { listen 80; server_name ask.apelearn.com; //定义代理的域名为ask.apelearn.com location / { proxy_pass http://121.201.9.155/; //设置代理域名的ip,使用nslookup 解析出来ask.apelearn.com的ip proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }检查与生效
/usr/local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx -s reload测试
使用curl访问本机的ask.apelearn.com/robots.txt文件,
curl -x127.0.0.1:80 ask.apelearn.com/robots.txt返回文件成功,说明本机已经将ask.apelearn.com/ 的请求代理转发到本机上;
# # robots.txt for MiWen # User-agent: * Disallow: /?/admin/ Disallow: /?/people/ Disallow: /?/question/ Disallow: /account/ Disallow: /app/ Disallow: /cache/ Disallow: /install/ Disallow: /models/ Disallow: /crond/run/ Disallow: /search/ Disallow: /static/ Disallow: /setting/ Disallow: /system/ Disallow: /tmp/ Disallow: /themes/ Disallow: /uploads/ Disallow: /url-* Disallow: /views/ Disallow: /*/ajax/nginx负载均衡
当一台服务器代理多个web站点时,就必须配置负载均衡;
新建虚拟配置文件
vim /usr/local/nginx/conf/vhost/load.conf代码
upstream qq_com //定义一个名词,名词任意都可; { ip_hash; //让统一个用户在同一个ip上; server 61.135.157.156:80; //设置服务器ip与端口; server 125.39.240.113:80; } server { listen 80; server_name www.; location / { proxy_pass http://qq_com; //与upstream定义的名字必须一致只是前面加http:// proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }检测与生效
/usr/local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx -s reload测试
使用代理服务器访问,
curl -x127.0.0.1:80 www.成功显示的源码页面