django+nginx+supervisor+gunicorn+gevent 网站部署

django+nginx+supervisor+gunicorn+gevent 网站部署

django,nginx,supervisor,gunicorn,gevent这几个都是在本领域大名鼎鼎的软件,下面的部署都是在ubuntu12.04里面验证成功的!

  1. 首先是安装这些软件在ubuntu下面都比较简单,nginx和supservisor的安装如下

    apt-get install nginx,supervisor
    

    在ubuntu下使用python,强烈建议安装python-dev

    apt-get install python-dev
    
  2. 安装django,gunicorn,gevent,使用虚拟环境安装,不要污染了系统库
  3. 配置gunicorn
    gunicorn app.wsgi:application -w 4 -b :%(proxy_port)s -k gevent --max-requests 500 --access-logfile=%(access_log)s --error-logfile=%(error_log)s
    

    这个是一个基本的运行配置,不过对于大多数网站来说已经够用了

  4. supervisor配置
    [program:dyzww]
    autorestart=true
    command= 这里写上面gunicorn 的command
    directory= 网站所在的目录
    process_name= top 中显示的进程名
    redirect_stderr=true
    stdot_logfile=log文件
    
  5. nginx配置
    server {
        listen 80 default;
        server_name _;
        default_type application/octet-stream;
        gzip on;
        gzip_http_version 1.0;
        gzip_proxied any;
        gzip_min_length 500;
        gzip_disable "MSIE [1-6]\.";
        gzip_types text/plain text/html text/xml text/css
                    text/comma-separated-values
                    text/javascript application/x-javascript
                    application/atom+xml image/jpeg image/gif image/png;
    
        location /static/ {
            alias 静态文件目录,后面的斜杠必须要/;
    
        }
    
        location /media/ {
            alias 媒体文件目录,后面斜杠必须有/;
            expires 30d;
        }
    
        location / {
            try_files $uri @proxied;
        }
    
        location @proxied {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_redirect off;
            proxy_pass 这里填写gunicorn监听的地址;
        }
    
        access_log log文件;
    }
    

按照上面的配置,django网站就能够驱动起来了,静态文件全部由nginx处理,只有动态文件需要django处理,这样大大的增加了性能!小站易读中文网就是这么驱动的,上面的代码全部从服务器中copy过来! 在这里也给小站打个广告 http://www.ydzww.com

大家要是觉得本文写的对你有一点点帮助,您转载的时候保留一下小站的地址,举手之劳,有疑问的话 [email protected] 发邮件给我!

时间: 2024-11-07 10:25:11

django+nginx+supervisor+gunicorn+gevent 网站部署的相关文章

CentOS7中配置基于Nginx+Supervisor+Gunicorn的Flask项目

配置Nginx 1.安装nginx yum install nginx 2.安装好后在/etc/nginx/default.d中添加location的配置,并指向8001端口,以后Gunicorn会监听8001端口 location / { proxy_pass http://127.0.0.1:8001 } 3.配置好后重新载入nginx配置 systemctl reload nginx.service 安装Python CentOS自带Python2.7,如果使用Python3,需要单独安装

django+nginx+uwsgi的生产环境部署(Ubuntu16.04)

一,准备工作: 代码一定要能本地跑起来! 各种基础包的安装略默认已经安装python3,nginx,uwsgi等基础依赖,注意版本问题. 本地setting.py文件修改如下(改为生产模式,把debug关闭,添加host和静态文件地址): 项目目录内随便什么地方新建一个uwsgi.ini配置文件: # dongpouu_uwsgi.ini file [uwsgi] # Django-related settings socket = :8000 #真实服务的端口 # Django项目根目录 (绝

Flask+Gunicorn+Gevent+Supervisor+Nginx生产环境部署

老毛病了,在用某个新框架或新架构之前,总得花时间谷歌和自己折腾一番,才能知道这个框架和架构的优缺点,才会发现自己最喜欢.用的最顺手的的一种.近期在学习python,这里记录一下自己用的一套python web开发的部署环境. 简介 之所以选择Flask,而没选择用的最多的django,是因为现在这个小项目是一个简单的web工具,提供上传文件.数据处理.并下载的功能.简单小巧,没必要折腾Django.而Flask正好是一个Python实现的Web开发微框架,它基于Werkzeug 和 Jinja2

gunicorn+gevent+django+nginx部署体验

两个字:简单! gunicorn gevent greenlet都是apt-get能够解决的事情 安装之后cd到目标目录,gunicorn --worker-class=gevent --workers=2 -b 0.0.0.0:8080 wsgi:application 基本就解决问题了 如果有静态文件要处理的话,要再apt-get一个nginx匹配下/static/路径交给服务器处理,django app专心处理逻辑 nginx加上缓存也是两三分钟的事情,就不多说了. 用gunicorn这种

CMDB之部署Django Nginx+Gunicorn+virtualenv+supervisord应用

应用搭建好了,该上线部署: 虚拟环境需安装的包: (Dfcenv) [[email protected] Dfcenv]# pip list Django (1.10.1) gunicorn (19.6.0) meld3 (1.0.2) MySQL-python (1.2.5) pip (8.1.2) setuptools (26.1.1) supervisor (3.3.1) wheel (0.29.0) gunicorn配置如下: (Dfcenv) [[email protected] Df

Django 部署 uwsgi + nginx + supervisor

Django 部署 uwsgi + nginx + supervisor https://hacpai.com/article/1460607620615?p=1&m=0 zonghua ? 6 个月前 ? 浏览 1.7K ? 回帖 15Python  Django  uwsgi  NGINX 更新依赖 pip install uwsgi 编辑配置文件 uwsgi.ini [uwsgi] # Django-related settings chdir = /home/zonghua/Docume

virtualenv 环境下 Django + Nginx + Gunicorn+ Supervisor 搭建 Python Web

在这篇文章里,我们将搭建一个简单的 Web 应用,在虚拟环境中基于 Flask 框架,用 Gunicorn 做 wsgi 容器,用 Supervisor 管理进程,然后使用 OneAPM Python 探针来监测应用性能,形成一个「闭环」 !希望能对大家有所帮助,首先简单来介绍一下环境: 系统环境:ubuntu 14.04 Python 2.7.6 安装组件库 第一步安装所需要的存储库,因为打算用到虚拟环境,用到 pip 安装和管理 Python 组件,所以先更新本地包,然后安装组件: sudo

django开发个人简易Blog—nginx+uwsgin+django1.6+mysql 部署到CentOS6.5

前面说完了此项目的创建及数据模型设计的过程.如果未看过,可以到这里查看,并且项目源码已经放大到github上,可以去这里下载. 代码也已经部署到sina sea上,地址为http://fengzheng.sinaapp.com/ 先跳过视图展示及表单处理的部分,先介绍一下如何部署. 标题中已经把部署环境介绍的很清楚了: 服务器:CentOS6.5 其实就是我的开发机 mysql:Server version: 5.1.73 Source distribution nginx版本: nginx/1

Python3+django+nginx+uwsgi使用场景部署

1 环境介绍和准备Python3+django+nginx+uwsgi使用场景部署 当我们写完一套完整的网站功能,我们需要实时在生产环境上线,并需要容纳高并发的访问请求.所以我们需要部署以上来保证网站的服务质量. 1.1基本环境准备:echo 'LANG="en_GB.utf8"' > /etc/sysconfig/i18nLANG="en_GB.utf8" 1.2依赖环境:(env) [[email protected] nginx]# python -VP