个人练手用的小项目,用的是 Django 的后端和 Bootstrap 前端,部署用 gunicorn + suervisor + nginx 在 ubuntu 下,每次搞一堆配置文件都不顺利,究其原因还是对原理不够了解,求详细解读,或求推荐其他的部署方案。
1
0xABCD 2018-08-20 20:44:41 +08:00
把报错信息贴出来,大家一起帮你看看。
|
2
tanglangshan 2018-08-20 20:47:53 +08:00
docker 就是解决这个问题的
|
3
vakara 2018-08-20 20:53:06 +08:00 via Android
docker 可以帮你解决这些问题。
|
4
pepesii 2018-08-20 20:53:30 +08:00 via iPhone
你写个 bash shell,或者 ansible,以后就一样的了
|
5
Cbdy 2018-08-20 21:10:44 +08:00
我一度认为,Docker 就是为 Python 而发明的技术
|
6
chengxiao 2018-08-20 23:38:48 +08:00 via iPhone
感觉就第一次部署有难度吧,后面熟了直接把配置文件 uwsgi 和 nginx 的配置文件路径参数一改就行了
|
7
dcalsky 2018-08-21 00:06:57 +08:00
练手小项目直接 python ./manage.py runserver 0.0.0.0:8000 够用。等你多了解了一个 wsgi,再用 uwsgi, gunicorn 之类的 web server.
|
8
julyclyde 2018-08-21 06:33:32 +08:00
如果你把文件拷贝过去不能运行,用了 docker 也照样不能运行
|
9
kios 2018-08-21 08:02:22 +08:00
docker~
|
10
lihongjie0209 2018-08-21 09:12:40 +08:00
换个语言喽, 用 docker 有必要吗?
|
11
nimdanoob 2018-08-21 10:11:52 +08:00
docker 了解一下
|
12
tt67wq 2018-08-21 10:20:41 +08:00
docker swarm
|
13
zhengxiaowai 2018-08-21 10:37:07 +08:00
Django 部署很简单啊,官网文档都有,另外写个 makefile。。。反正我这个 makefile 用了 2 年了。。
|
14
chengxiao 2018-08-21 10:55:42 +08:00
感觉就是楼主要分清楚 Nginx gunicorn suervisor 这三个都是负责干嘛的
一上来可以先不用 suervisor 这东西主要负责进程管理 快速重启和启动 gunicorn 和 nginx 的 搞清楚 nginx 和 gunicorn 或者 uwsgi 的关系 基本就能理清楚和排查错误了 |
15
scriptB0y 2018-08-21 10:56:08 +08:00
|
16
asuraa 2018-08-21 11:15:57 +08:00
我用的 dokku 部署的 也即是 heroke 每次部署只需要 push 一下就行了
|
17
xanthu 2018-08-21 11:23:10 +08:00 via Android
1.你可以试试 cookiecutter-django,命令行自动生成配置好的项目,也可以自己写 cookiecutter
2.建议开发环境和部署环境分开,可以继承 Configuration,写配置类,我一般是一个通常配置文件,一个开发配置文件,一个部署配置文件...然后每次只要在 manage.py 里指定下环境变量就可以了。 3.Pycharm 直接连接 docker 环境进行开发 有段时间没用 Django 开发了,可能有说错的地方.... |
18
sayhier OP 看来推荐 docker 的多
|
19
herozhang 2018-08-21 13:18:09 +08:00
用 docker 吧
|
20
warcraft1236 2018-08-21 13:21:35 +08:00
为啥不用 uwsgi 呢
|
22
zzlettle 2018-08-21 18:16:44 +08:00 via iPad
有谁用 systemd 来部署虚拟环境中的 gunicorn Django 的教程吗?
|
23
gladuo 2018-08-21 23:51:05 +08:00
gunicorn -d 其实都贼稳,不用担心
|
24
cosven 2018-08-22 21:57:16 +08:00
写了一个示例: https://gist.github.com/cosven/e308359b83df5cbbe7398b4a95247add
Python 3 + venv + gunicorn + NGINX + supervisor (配合其它原理文章食用更佳) |