`

Python+Django+nginx+Linux+gunicorn部署

阅读更多

初次部署Django project in ubuntu server

Init env:

python -V  2.7.3

Django 1.6

Linux   ubuntu

 

Steps:

  • install nginx 
  • install gunicorn      sudo apt-get install gunicorn
  • create django project    django-admin.py startproject demos
  • test gunicorn is useful     cd demos && gunicorn demos.wsgi:application --bind 0.0.0.0:9090
  • config nginx for demos

 

upstream demos {
     server 127.0.0.1:9090 fail_timeout=0;
     #server unix:/var/www/demos/run/gunicorn.sock
}

server {

    listen 8000;
    access_log /var/log/nginx/access.log;
    error_log  /var/log/nginx/error.log;
    root /var/www/demos;
    server xxxx.com;
    
    location / {
         proxy_pass http://demos;
    }

    location /static {
             .....
    }

    error_page 404 500 504 /404.html;
    location = /404.html {
        root html;
    }
}

 

 

测试页面   http://127.0.0.0:8000   ,see "Congratulations on your first Django-powered page."    successfully

 

  • run gunicorn process backend, using supervisor
  • sudo apt-get install supervisor
  • config supervisor
  • config shell script for gunicorn
#!/bin/bash

name="demos"
project_dir=/var/www/demos
sockfile=/var/www/demos/run/gunicorn.sock
address=0.0.0.0
port=9090
num_wks=3
dj_setting_module=demos.settings
dj_wsgi_module=demos.wsgi

echo "Starting $name as `whoami`"

rundir=$(dirname $sockfile)
test -d $rundir || mkdir -p $rundir

exec gunicorn ${dj_wsgi_module}:application \
--workers $num_wks \
--log-level=debug \
--bind=$address:$port
#--bind=unix:$sockfile
  •  update supervisor.conf

 

[program:demos]
command = /var/www/demos/run/runserver.sh 
stdout_logfile = /var/www/demos/logs/gunicorn_supervisor.log
redirect_stderr = true  

 

  •  start supervisorctl demos

 

Refs:

http://ijcdigital.com/blog/django-gunicorn-and-nginx-setup

http://michal.karzynski.pl/blog/2013/06/09/django-nginx-gunicorn-virtualenv-supervisor/

 

 

分享到:
评论

相关推荐

    Python+Django实现基于人脸识别的门禁管理系统.rar

    在部署运行时,开发人员可能使用虚拟环境来隔离项目依赖,并使用Gunicorn或uWSGI等服务器来运行Django应用,Nginx作为反向代理服务器,负责静态文件的处理和负载均衡。 总的来说,这个基于Python+Django的人脸识别...

    采用Django+Python+Mysql完成的图书管理系统源码.zip

    10. **部署与配置(Deployment & Configuration)**:最后,系统需要在服务器上部署,可能涉及Nginx、Gunicorn等服务配置,以及环境变量、数据库连接等设置。 通过以上各部分的集成,一个完整的Django图书管理系统...

    基于python3+django+Vue自动化测试平台开发

    使用Nginx作为反向代理和负载均衡,Gunicorn作为WSGI服务器,能有效提高服务的稳定性和性能。 总结来说,这个项目将涉及Python3作为主要编程语言,Django作为后端框架,Vue.js作为前端框架,通过RESTful API实现...

    django项目部署 nginx+gunicorn+virtualenv+mysql

    ### Django项目部署详解:使用Nginx + Gunicorn + Virtualenv + MySQL #### 一、概述 Django作为一款流行的Python Web框架,被广泛应用于Web应用的开发之中。随着技术的发展,为了确保项目的稳定性和安全性,通常...

    浅谈Django+Gunicorn+Nginx部署之路

    Django+Gunicorn+Nginx的部署过程是一个经典的Web应用部署架构,在这个架构中,Django负责处理Web应用的后端逻辑,Gunicorn作为WSGI服务器进行Django应用的运行,而Nginx作为反向代理服务器,负责处理客户端的请求和...

    基于python+Django的开源商城系统.zip

    11. 部署与维护:了解服务器环境配置,如使用Nginx+Gunicorn部署Django应用,以及使用Git进行版本控制。 通过这个开源商城系统的实现,学生不仅可以提升编程技能,还能对Web开发流程有更全面的理解,为将来步入职场...

    个人博客网站源码(python3.6+django2.0+mysql)

    部署时,可以考虑使用Gunicorn或uWSGI作为应用服务器,Nginx作为反向代理和静态文件服务器,将项目部署到像Ubuntu或CentOS这样的Linux系统上。 9. 自定义管理界面:Django的内置admin界面允许开发者轻松管理模型...

    基于python+Django,webchat在线聊天系统.zip

    部署过程中,需关注服务器配置、Nginx反向代理、Gunicorn应用服务器等环节,确保系统稳定运行。 总的来说,基于Python+Django的WebChat在线聊天系统项目涵盖了Web开发的多个核心知识点,包括后端开发、前端交互、...

    基于python+django和ansible开发的自动化管理系统.zip

    - 部署过程中,可能会涉及到虚拟环境的创建、Django项目的安装、Nginx或Apache的配置以反向代理HTTP请求,以及Gunicorn等WSGI服务器的设置。 6. 功能特性: - 自动化任务调度:系统可能包含定时任务功能,通过...

    基于python+Django的校园预约打印网源码数据库.zip

    在部署方面,Django应用通常运行在WSGI服务器上,如Gunicorn或uWSGI,再通过Nginx进行反向代理和负载均衡,确保系统的稳定性和高可用性。同时,考虑到校园环境,可能还需要考虑安全性和性能优化,比如限制非法访问,...

    基于python+Django的OA办公系统.zip

    - 项目部署:通过WSGI服务器(如Gunicorn)和反向代理服务器(如Nginx)将应用部署到生产环境。 综上所述,这个项目涵盖了Python编程、Web开发、数据库管理、前端设计以及软件工程实践等多个方面的知识,对于提升...

    基于python+Django的问卷调查系统.zip

    - 部署:将项目部署到服务器,如Apache或Nginx,使用Gunicorn或uWSGI作为应用服务器。 6. 学习资源与挑战: - 学习Django官方文档:了解框架的基本用法和最佳实践。 - 调试与错误处理:在开发过程中,可能会遇到...

    Python+django开发的web座屏

    9. **部署与性能优化**:完成开发后,Django应用可以部署到各种服务器环境,如Apache、Nginx等,通常配合uWSGI或Gunicorn等WSGI服务器使用。为了提高性能,可以进行缓存设置、数据库优化、静态文件合并压缩等操作。 ...

    基于python+Django的评分系统.zip

    9. 部署与测试:完成本地开发后,需要将项目部署到服务器上,如使用Apache或Nginx配合uWSGI。此外,编写单元测试和集成测试能确保代码的质量和功能的正确性。 10. 性能优化:随着用户数量的增长,性能优化成为必不...

    python+django练手项目

    12. **部署**:最后,我们需要将项目部署到服务器,这可能涉及使用如Nginx或Apache作为反向代理,以及使用Gunicorn或uWSGI作为应用服务器。 通过这个练手项目,你不仅可以深入理解Django框架的工作原理,还能掌握...

    基于python+Django的图书分析大屏展示系统,.zip

    6. 部署与运维:使用Gunicorn或uWSGI作为应用服务器,Nginx作为反向代理,部署到Linux服务器上,确保系统的稳定运行。同时,了解版本控制(如Git)和持续集成/持续部署(CI/CD)工具,如Jenkins,提高开发效率。 ...

    基于python+Django的blog 系统.zip

    8. **部署**:项目部署可能涉及Nginx、Gunicorn等服务,以及数据库配置,如MySQL或PostgreSQL。 **毕业设计价值**: 对于计算机专业学生来说,这个项目可以帮助他们理解Web开发的基本流程,学习Django框架的使用,...

    python+django+博客+学习

    11. **部署**:完成开发后,需要将应用部署到服务器,如使用Apache、Nginx等Web服务器,以及Gunicorn或uWSGI等应用服务器。了解如何配置这些服务以及数据库迁移是成功上线的关键步骤。 在这个"python+django+博客+...

    基于python+Django的实现系统.zip

    8. **部署与服务器**:学习如何将Django应用部署到Web服务器,如Apache或Nginx,以及如何配置WSGI服务器(如gunicorn)。 9. **版本控制**:使用Git进行版本控制,确保代码的安全性和协作效率。 10. **错误调试与...

    Flash+gunicorn+django.pdf

    标题中的“Flash+gunicorn+django”涉及到的是一种常见的Python Web应用部署方案,结合了三个主要组件:Flash、Gunicorn和Django。然而,这里要注意的是,Flash通常用于处理客户端的交互,如视频和动画,但在现代Web...

Global site tag (gtag.js) - Google Analytics