`

Python Web application deploy using uWSGI in ubuntu

阅读更多

安装环境:

  • 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

分享到:
评论

相关推荐

    WebDeploy_x64.msi

    当时自己安装vs2012时 webdeploy3.0安装失败了 自己在搞了半天才找到这个 希望对大家有用吧

    WebDeploy_amd64_zh-CN.msi发布工具

    WebDeploy,全称为Microsoft Web Deploy,是一款由微软公司开发的强大的自动化部署工具,主要用于简化和加速Web应用程序在IIS(Internet Information Services)服务器上的发布过程。该工具特别适用于开发者和系统...

    Python Web Scraping Cookbook: Over 90 proven recipes to get you scraping with Py

    Untangle your web scraping complexities and access web data with ease using Python scripts Key FeaturesHands-on recipes to advance your web scraping skills to expert levelAddress complex and ...

    解决.NET(WebApplication)安装部署的不能选择安装路径的

    .NET Web应用程序的安装部署通常通过ASP.NET的Web部署项目(Web Deploy Package)或者使用ClickOnce技术来实现。在默认情况下,这些部署方式可能不允许用户在安装过程中选择自定义的安装路径,这可能会对某些需要...

    WebDeploy_amd64_zh-CN.zip

    **WebDeploy:高效网站部署工具** WebDeploy,全称为Microsoft Web Deploy,是微软推出的一款强大的网站部署工具。它主要用于帮助开发者和系统管理员便捷地在IIS(Internet Information Services)服务器上部署和...

    WebDeploy远程工具.7z

    WebDeploy远程工具是一款用于高效、自动化部署Web应用程序到IIS(Internet Information Services)服务器的工具。这个7z压缩包文件包含了WebDeploy的组件,旨在帮助开发者和系统管理员便捷地完成远程Web服务器上的...

    Packt Python Web Scraping Cookbook

    coding will require basic skills in the Python programming language. The book is also for those who wish to learn about a larger ecosystem of tools for retrieving, storing, and searching data, as well...

    Python库 | deploy-1.5.0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:deploy-1.5.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    WebDeploy_amd64_zh-CN.msi

    Visual Studio 如何使用 Web Deploy发布远程站点,有时候我们开发完某个功能时,需要快速将更改发布至服务器。通常 Visual Studio 可以采用两种方式远程发布站点,一个是直接复制站点所需的文件至服务器,这种方式...

    Python库 | deploy_it-0.3.3.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:deploy_it-0.3.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    webdeploy:WebDeploy是用于轻松部署FlaskDjango应用程序的python包

    $ sudo pip3 install webdeploy 使用来源 $ git clone https://github.com/idaljeetsingh/webdeploy $ cd webdeploy $ sudo python3 setup.py install 笔记 :memo: 最好重新安装Ubuntu。 必须使用sudo安装软件包...

    python3-paste-deploy-2.0.1-4.el8.noarch.rpm

    官方离线安装包,亲测可用

    Mastering Ubuntu Server(PACKT,2016)

    With this book as their guide, readers will be able to configure and deploy Ubuntu Servers using Ubuntu Server 16.04, with all the skills necessary to manage real servers. The book begins with the ...

    DELPHI7里边的WEB DEPLOY

    DELPHI7中的Web Deploy,全称为Web Deployment Tool,是一个强大的解决方案,用于简化Delphi开发的应用程序部署过程。在Delphi 7这个经典的版本中,开发者可能会遇到各种部署上的问题,比如应用程序与目标系统间的...

Global site tag (gtag.js) - Google Analytics