LNMP 集群做了动静分离和负载均衡,session 使用了 memcache ,接下来的问题就是解决上传问题,想了想可能单独设立一台上传服务器是最佳方案了,考虑到上传操作的访问量比较小,所以直接使用静态内容服务器兼作上传服务器,这样做的好处就是,由于上传的内容均为静态内容,而访问静态内容 nginx 的负载均衡策略也会把其分配到该静态内容服务器上,所以就无需将上传到的内容拷贝到其他后台均衡服务器了,在使用 wordpress 的站点上试了下,工作良好。

下面是 nginx 中上传部分的配置,因为 wordpress 上传都是在后台 wp-admin 目录中的页面上进行的,所以只需要把 wp-admin 在 nginx 做负载均衡时解析到静态服务器即可,当然,这是一个懒办法,适合 wordpress 后台不需要大量访问的时候。

1
2
3
4
5
6
7
8
9
location ~* ^/wp-admin/.*$ {

proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
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;
proxy_pass http://upload.cluster;
}