当前位置: > Linux服务器 > nginx >

nginx代理两台服务器,上传文件配置

时间:2015-06-28 20:36来源:linux.it.net.cn 作者:IT
场景描述如下:

nginx做前端代理,代理两台web server,需要上传文件,一个文件只能上传到一台服务器上,如何处理呢?

解决问题:

可以使用nginx负载均衡中的backup选项,将其中一台服务器设置为备份机,在正常情况下,文件上传下载都会落到非备份机上面,如果非备份机出现问题,才能启用备份机。

另外还需要使用rsync服务,定时同步两台服务器的上传文件路径,以保证在出现问题时,备份机可以马上顶上。

相关nginx配置如下:

user  web;
worker_processes  4;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    #gzip  on;

   upstream backend_for_upload{
        server 10.10.20.187:8080;
        server 10.10.20.188:8080 backup;
   } 

    server {
        listen       8080;
        server_name  it.net.cn;

        charset utf-8;

        location /upload/ {
            proxy_pass  http://backend_for_upload/upload/;
            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;
        }
    }
} (责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容