织梦CMS - 轻松建站从此开始!

罗索

当前位置: 主页>杂项技术>Web>

Nginx 做Proxying & Load-Balancing 加速Cakephp & Django

落鹤生 发布于 2013-11-08 22:14 点击:次 
思路:将高并发的动态页面静态化,由Nginx来处理,而动态的Cakephp或者Django则由支持FastCGI的Nginx或者Apache来进行处理, Nginx做前端代理以及简单的负载均衡,在有限的资源下完成最大化的可用性、安全以及稳定性。
TAG:

由于Nginx出色的处理高并发、静态文件、低CPU消耗等诸多原因,所以我开始尝试使用Nginx(或+Apache)来做一个高可用的架构。

思路:将高并发的动态页面静态化,由Nginx来处理,而动态的Cakephp或者Django则由支持FastCGI的Nginx或者Apache来进行处理, Nginx做前端代理以及简单的负载均衡,在有限的资源下完成最大化的可用性、安全以及稳定性。

----Nginx的代理设置----
server {
    listen: 80;
    server_name: static.local;
    location / {
        proxy_pass http://localhost:8000;
    }
}

----Nginx的负载均衡----
upstream localcluster {
    server 127.0.0.1:8001;
    server 127.0.0.1:8002;
    server 127.0.0.1:8003;
}

server {
    listen: 80;
    server_name: static.local;
    location / {
        proxy_pass http://localcluster;
    }
}
----mod_rewrite----
# rewrite rules for cakephp
        location / {
          root   /var/www/sites/somedomain.com/current;
          index index.php index.html;

          # If the file exists as a static file serve it
          # directly without running all
          # the other rewite tests on it
          if (-f $request_filename) {
            break;
          }
          if (!-f $request_filename) {
            rewrite ^/(.+)$ /index.php?url=$1 last;
            break;
          }
        }

        location ~ \.php$ {
          fastcgi_pass 127.0.0.1:9000;
          fastcgi_index index.php;
          fastcgi_param SCRIPT_FILENAME \
          /var/www/sites/somedomain.com/current$fastcgi_script_name;
          include fastcgi_params;
        }

经 过简单的设置,就可以实现这些功能了,思路就是将80端口分配给Nginx来处理静态文件,当请求特定地址或者.php后缀的地址,则根据 mod_write,通过proxy来转发到8000端口上去处理,而8000端口则负责处理动态请求。注: 在配制if (!-e $request_filename) {} 的时候,要注意空格! 否则会爆 unknown directive的错误! 让人很恼火!! 小弟就在这个翻了船,折腾了2天。。。。我欲哭无泪啊。。。。

(gdtmmrlvkhaijke)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201311/16814.html]
本文出处:百度博客 作者:gdtmmrlvkhaijke
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容