Nginx做简单的反向代理

Nginx是一个HTTP和反向代理服务器,可做为反向代理实现负载均衡的例子,也可以作为代理服务器,也经常作为web服务器使用。如果一台服务器装有多个web服务器则必须监听多个端口,对于用户的访问将是不友好,则需要一个统一的前端来进行分发。本文只是简单的利用Nginx作为前端代理服务器,代理不同的后端服务器:IIS和Apache,实现不同的域名解析至不同的服务器。

首先更改IIS的监听端口为8000,Apache的监听端口为9000,保证Nginx占有80端口和443端口。然后更改nginx.conf添加以下内容


server {
   listen 80;
   server_name iis.localhost;#要代理的域名

  location / {
   proxy_pass http://127.0.0.1:8000/;#内部服务器实际地址和监听端口
   proxy_redirect off;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  }
}
 server {
   listen 80;
   server_name apache.localhost;

  location / {
   proxy_pass http://127.0.0.1:9000/;
   proxy_redirect off;
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  }
}

进阶操作,可按照参照此文设置前端缓存,注意以下内容须放入http{}内

client_body_buffer_size 512k;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path D:/nginx/temp;
proxy_cache_path D:/nginx/cache levels=1:2 keys_zone=cache_one:256m inactive=7d max_size=1g;

再修改server中location{}的缓存设置如下

proxy_cache cache_one;
proxy_cache_valid  200 304 3d;
expires 10d;

参考链接:
nginx做为反向代理实现负载均衡的例子
Nginx反向代理&前端全缓存相关配置教程
(总结)Nginx与Apache、Tomcat、Resin动静分离核心配置

Nginx做简单的反向代理》上有1条评论

  1. Pingback引用通告: CentOS上安装Nginx+PHP-FPM | 勇气

发表评论

电子邮件地址不会被公开。 必填项已用*标注