Python Web application deploy using uWSGI in ubuntu

5 篇文章 0 订阅
3 篇文章 0 订阅

安装环境:

  • Mac(10.9) + nginx(1.4.7) + python(2.7.5) + uwsgi(2.0.4) + django-cms(2.4.3)
  • 使用supervisord做后台守护进程
  • 默认系统已经安装python, nginx

使用virtualenv 作为python部署环境

  1. 安装virtualenv   easy_install virtualenv
  2. 安装pip  easy_install pip
  3. 创建python虚拟环境  virtualenv .env
  4. 使用虚拟环境   source .env/bin/activate
  5. 安装django-cms   pip install django-cms==2.4.3(安装程序好自动安装依赖的对应版本的插件,django,south。。。)
  6. 安装uwsgi pip install uWSGI
  7. 安装supervisord pip install supervisor
  8. 创建django-cms项目     django-admin.py startproject demo
  9. 使用默认的方式运行项目   cd demo && python manage.py runserver   
  10. 访问http://localhost:8000查看页面是否正常
  11. 使用uwsgi 启动项目   uwsgi --socket 127.0.0.1:9001 --protocol http --chdir 项目的目录  --venv .env --wsgi-file demo/demo/wsgi.py
  12. 配置supervisor来后台守护uwsgi进程   ,尽量使用默认配置
[program:demo]
command= .env/bin/uwsgi 
    --protocal=http
    --socket=127.0.0.1:9001
    --chdir=Projects/Python/demo
    --wsgi-file=rojects/Python/demo/demo/wsgi.py
    --venv=Projects/Python/.env
    --processes=2

autostart=true                ; start at supervisord start (default: true)
stopsignal=INT               ; signal used to kill process (default TERM)
stdout_logfile_maxbytes=10MB   ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)
stderr_logfile_maxbytes=10MB   ; max # logfile bytes b4 rotation (default 50MB)
stderr_logfile_backups=10     ; # of stderr logfile backups (default 10)

 13. 运行supervisord  sudo supervisord -c /etc/supervisord.conf

 14. 使用nginx 做前端转发    

location / {
    include uwsgi_params;
    proxy_pass  http://127.0.0.1:9001;
}

  15. 访问页面看效果

 

遇到的问题:

  1. no loaded app  :解决方法 不要使用  -s , 需要使用--socket  和protocol, 并且指定wsgi-file
  2. supervisorctl 无法启动 显示unload confignation from ..., 项目的路径应该是绝对路径,不能是软连接
  3. 如果nginx无法使用uwsgi_pass, 可以使用proxy_pass 做反向代理

参考:https://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值