推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
sayhier
V2EX  ›  Python

每次部署 Django 项目都抓狂,求正确姿势

  •  
  •   sayhier · Aug 20, 2018 · 6098 views
    This topic created in 2851 days ago, the information mentioned may be changed or developed.

    个人练手用的小项目,用的是 Django 的后端和 Bootstrap 前端,部署用 gunicorn + suervisor + nginx 在 ubuntu 下,每次搞一堆配置文件都不顺利,究其原因还是对原理不够了解,求详细解读,或求推荐其他的部署方案。

    24 replies    2018-08-22 21:57:16 +08:00
    0xABCD
        1
    0xABCD  
       Aug 20, 2018
    把报错信息贴出来,大家一起帮你看看。
    tanglangshan
        2
    tanglangshan  
       Aug 20, 2018
    docker 就是解决这个问题的
    vakara
        3
    vakara  
       Aug 20, 2018 via Android
    docker 可以帮你解决这些问题。
    pepesii
        4
    pepesii  
       Aug 20, 2018 via iPhone
    你写个 bash shell,或者 ansible,以后就一样的了
    Cbdy
        5
    Cbdy  
       Aug 20, 2018
    我一度认为,Docker 就是为 Python 而发明的技术
    chengxiao
        6
    chengxiao  
       Aug 20, 2018 via iPhone
    感觉就第一次部署有难度吧,后面熟了直接把配置文件 uwsgi 和 nginx 的配置文件路径参数一改就行了
    dcalsky
        7
    dcalsky  
       Aug 21, 2018
    练手小项目直接 python ./manage.py runserver 0.0.0.0:8000 够用。等你多了解了一个 wsgi,再用 uwsgi, gunicorn 之类的 web server.
    julyclyde
        8
    julyclyde  
       Aug 21, 2018
    如果你把文件拷贝过去不能运行,用了 docker 也照样不能运行
    devtk
        9
    devtk  
       Aug 21, 2018
    docker~
    lihongjie0209
        10
    lihongjie0209  
       Aug 21, 2018
    换个语言喽, 用 docker 有必要吗?
    nimdanoob
        11
    nimdanoob  
       Aug 21, 2018
    docker 了解一下
    tt67wq
        12
    tt67wq  
       Aug 21, 2018
    docker swarm
    zhengxiaowai
        13
    zhengxiaowai  
       Aug 21, 2018
    Django 部署很简单啊,官网文档都有,另外写个 makefile。。。反正我这个 makefile 用了 2 年了。。
    chengxiao
        14
    chengxiao  
       Aug 21, 2018
    感觉就是楼主要分清楚 Nginx gunicorn suervisor 这三个都是负责干嘛的
    一上来可以先不用 suervisor 这东西主要负责进程管理 快速重启和启动 gunicorn 和 nginx 的
    搞清楚 nginx 和 gunicorn 或者 uwsgi 的关系 基本就能理清楚和排查错误了
    scriptB0y
        15
    scriptB0y  
       Aug 21, 2018
    asuraa
        16
    asuraa  
       Aug 21, 2018
    我用的 dokku 部署的 也即是 heroke 每次部署只需要 push 一下就行了
    xanthu
        17
    xanthu  
       Aug 21, 2018 via Android
    1.你可以试试 cookiecutter-django,命令行自动生成配置好的项目,也可以自己写 cookiecutter


    2.建议开发环境和部署环境分开,可以继承 Configuration,写配置类,我一般是一个通常配置文件,一个开发配置文件,一个部署配置文件...然后每次只要在 manage.py 里指定下环境变量就可以了。


    3.Pycharm 直接连接 docker 环境进行开发


    有段时间没用 Django 开发了,可能有说错的地方....
    sayhier
        18
    sayhier  
    OP
       Aug 21, 2018 via Android
    看来推荐 docker 的多
    herozhang
        19
    herozhang  
       Aug 21, 2018
    用 docker 吧
    daiqiangbudainiu
        20
    daiqiangbudainiu  
       Aug 21, 2018
    为啥不用 uwsgi 呢
    est
        21
    est  
       Aug 21, 2018
    @Cbdy 然而还是 go 用的多。。
    zzlettle
        22
    zzlettle  
       Aug 21, 2018 via iPad
    有谁用 systemd 来部署虚拟环境中的 gunicorn Django 的教程吗?
    gladuo
        23
    gladuo  
       Aug 21, 2018
    gunicorn -d 其实都贼稳,不用担心
    cosven
        24
    cosven  
       Aug 22, 2018
    写了一个示例: https://gist.github.com/cosven/e308359b83df5cbbe7398b4a95247add

    Python 3 + venv + gunicorn + NGINX + supervisor
    (配合其它原理文章食用更佳)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5433 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 127ms · UTC 07:51 · PVG 15:51 · LAX 00:51 · JFK 03:51
    ♥ Do have faith in what you're doing.