每次部署 Django 项目都抓狂,求正确姿势 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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 2018-08-20 20:40:28 +08:00 5685 次点击
    这是一个创建于 2610 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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


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


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


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

    Python 3 + venv + gunicorn + NGINX + supervisor
    (配合其它原理文章食用更佳)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     854 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 22:22 PVG 06:22 LAX 15:22 JFK 18:22
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86