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)
场景描述如下: 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) |