美文网首页
Django项目部署方案推荐

Django项目部署方案推荐

作者: jianghaibo12138 | 来源:发表于2017-03-27 11:02 被阅读0次

    原因:在django1.8版本使用fastcgi就爆出了fastcgi在django1.9就会被移除的警告,也就是说django1.9还是可以使用fastcgi,而到了django1.9以后fastcgi就完全不能使用了。这个时候替代方法就是uwsgi.本文就是讲述如何部署django1.9以后的项目。

    1 安装必要包:

    安装supervisor:

    sudo apt-get install supervisor

    安装nginx:

    sudo apt-get install nginx

    安装django:

    pip install django==1.9.0

    安装uwsgi:

    pip install uwsgi

    注意:django和uwsgi如果在全局环境下安装需要加sudo

    2 项目根目录下uwsgi.ini:

    [uwsgi]

    # 下面的二选一,选择不同的方式启动uwsgi,nginx里面的配置也会不同。

    # http=127.0.0.1:4741

    socket=/home/administrator/work_summary/work_summary.sock

    # socket文件的权限,因为nginx读取时会因为权限发生错误。

    # chmod-socket=666

    # 项目根目录

    chdir=/home/administrator/work_summary

    # django项目里面的wsgi.py文件在项目目录下的路径

    wsgi-file=work_summary/wsgi.py

    # 虚拟环境路径

    home=/home/administrator/env_django1.9

    # http请求的buffer空间

    buffer-size=65535

    # 进程数

    processes=10

    # 以主进程开启

    master=true

    # 线程数

    threads=4

    #当服务器退出的时候自动删除unix socket文件和pid文件。

    vacuum=true

    3 /etc/supervisor/conf.d/work_summary.conf配置:

    [program:work_summary]

    command=uwsgi --ini /home/administrator/work_summary/work_summary.ini

    process_name=%(program_name)s

    numprocs=1

    umask=022

    autostart=true

    autorestart=true

    startsecs=10

    startretries=3

    exitcodes=0,2

    stopsignal=INT

    stopwaitsecs=10

    user=administrator

    redirect_stderr=true

    stdout_logfile=/home/administrator/work_summary/debug

    stdout_logfile_maxbytes=1MB

    stdout_logfile_backups=10

    stdout_capture_maxbytes=1MB

    stderr_logfile=/home/administrator/work_summary/err

    stderr_logfile_maxbytes=1MB

    stderr_logfile_backups=10

    stderr_capture_maxbytes=1MB

    environment=A="1", B="2"

    serverurl=AUTO

    4 nginx配置:

    upstream django{

    # uwsgi_pass 127.0.0.1:4741;

    server unix:///home/administrator/work_summary/work_summary.sock;

    }

    server

    {

    listen 80;

    server_name server.name.cn;

    root html;

    index index.html;

    location /

    {

    alias /home/administrator/work_summary/templates/;

    }

    location /api/

    {

    uwsgi_pass django;

    include uwsgi_params;

    }

    }

    5 启动项目:

    使用supervisor启动django项目:

    # 进入supervisor管理终端

    sudo supervisorctl

    # 更新配置信息

    update

    # 按照配置文件启动服务

    start work_summary

    # 重启nginx:

    sudo service nginx restart

    相关文章

      网友评论

          本文标题:Django项目部署方案推荐

          本文链接:https://www.haomeiwen.com/subject/bvolottx.html