代码改变世界

Gunicorn + Django 部署

2014-07-19 23:54  cmsd  阅读(823)  评论(0编辑  收藏  举报

1. 下载gunicorn

pip install gunicorn

2. 运行

gunicorn  AutoSa.wsgi:application      ## AutoSa为我project的名字,后面的不变即可

-b 监听ip和端口,默认是 127.0.0.1:8000 如:0.0.0.0:80
-w 开启多个进程 如 -w 8
-k gunicorn 默认使用同步阻塞的网络模型(-k sync),对于大并发的访问可能表现不够好, 它还支持其它更好的模式,比如:gevent或meinheld。
先pip install gevent然后使用gevent模型 -k gevent
-c 可以用配置文件
最后可以 nohup -w 4 -k gevent gunicorn AutoSa.wsgi:application

gunicorn运行的django是不启用fileserver的,所以static无法使用

 

3. gunicorn可以配合apache和nginx来运行,Nginx和apachehi只需proxy过来即可

 apache的配置

  

<VirtualHost *:80>
    ServerName ldap.test.com
    DocumentRoot "/opt/jumpserver/webroot/AutoSa/"
    Alias /static/ "/opt/jumpserver/webroot/AutoSa/static/"
    ErrorLog logs/jumpserver.test.com-error.log
    CustomLog logs/jumpserver.test.com-access.log common
    <Directory />
        Order deny,allow
        Allow from all
    </Directory>
    ProxyPass /static/ !
    ProxyPass / http://127.0.0.1:8000/
    ProxyPassReverse / http://127.0.0.1:8000/
    ProxyPreserveHost On
    ProxyErrorOverride Off
</VirtualHost>

 

参考:http://www.isaced.com/post-248.html

         http://rfyiamcool.blog.51cto.com/1030776/1276364