您的 Django 服务器上安装什么?
- Django 6.1 和 Gunicorn 26,位于 /home/app/proje/venv 的虚拟环境中
- 使用 psycopg 3 的 PostgreSQL:一个名为 django 的数据库,仅可通过 127.0.0.1 访问
- proje/uretim.py 中的生产环境设置:关闭 DEBUG,密钥存放在 /etc/seturack-django.env
- 一个现成的 yonetici 超级用户,管理站点位于 /admin/
- 一个名为 uygulama 的 systemd 服务:127.0.0.1:8000 上的 2 个 Gunicorn 工作进程
- 通过 Caddy 提供 HTTPS,并直接在 /static/ 提供静态文件
- 防火墙开放 22、80 和 443 端口,8000 和 5432 端口仅限内部使用
Django 需要多大的配置?
Django 文档没有给出 RAM 数值。本安装在同一台服务器上运行两个 Gunicorn 工作进程和 PostgreSQL。经验上,小项目 1 GB 起步,使用 Celery、图像处理或更多工作进程时适合 2 到 4 GB。Gunicorn 文档建议从 (2 x 核心数) + 1 个工作进程开始,所以增加 CPU 之后,请在服务文件中调高数量。在面板中调整配置时,您的数据和 IP 保持不变。
| 用途 | 配置 | 价格 | 选择 |
|---|---|---|---|
| 入门 | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.59/月 | |
| 中等 | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.02/月 | |
| 强劲 | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.91/月 |
适合谁?
- 把 Django 项目从 runserver 迁到生产环境的开发者
- 构建 REST API 或后台管理为主的业务应用的人
- 想直接从写代码开始、不想自己配置 Gunicorn、Caddy 和 PostgreSQL 的人
- 用户在土耳其、希望从伊斯坦布尔运行的 Python 应用
下单之后会发生什么?
- 设定配置并完成付款。
- 服务器启动后,Django 会自行安装。在我们的真实服务器测试中,这大约用了 3.5 分钟。
- 在“概览”标签页上,打开“管理地址”链接,使用“登录名”和“密码”两行中的值登录。
- 通过 SSH 连接,运行 su - app 和 cd ~/proje,然后加载设置:set -a; . /etc/seturack-django.env; set +a
- 添加您的应用,用 venv/bin/pip install 安装软件包,然后运行 venv/bin/python manage.py migrate 和 collectstatic。
- 以 root 身份运行 systemctl restart uygulama。
每台服务器都包含
- 价格含每日备份
- 不限流量
- 完整 root 权限
- 之后可升级或降配 RAM 和 CPU,并扩大磁盘
- 位置:Istanbul · IST-1。
须知
- 把新应用添加到 proje/settings.py 的 INSTALLED_APPS 中。uretim.py 继承自该文件,并覆盖 DEBUG 和数据库设置。
- manage.py 命令需要这些环境变量。每次会话中请先加载 /etc/seturack-django.env。
- 连接域名时,还要修改 /etc/seturack-django.env 中的 DJANGO_ALAN 和 DJANGO_ADRES,否则 Django 会因为 ALLOWED_HOSTS 而拒绝请求。
- PostgreSQL 不对外开放。在服务器上,以 django 用户连接 127.0.0.1:5432,密码在 DJANGO_DB_SIFRE 中。
- 本安装不会设置邮件和用户上传(MEDIA_ROOT)。这两项都需要您在 uretim.py 中自行定义。
- Django、Python 软件包和您的代码都需要您自己更新。上线前请先运行 manage.py check --deploy。
Django 常见问题
如何在 VPS 上部署 Django 项目?
通过 SSH 连接,运行 su - app,在 ~/proje 中加载设置文件,添加您的代码,然后运行 migrate 和 collectstatic。接着以 root 身份运行 systemctl restart uygulama。Gunicorn 和 Caddy 已经装好,不需要再设置别的。
Django 主机需要多少 RAM?
Django 没有官方的 RAM 数值。经验上,两个 Gunicorn 工作进程加 PostgreSQL 的小型项目从 1 GB 起步就不错,有后台任务或图像处理则用 2 到 4 GB。如果不够,可以在面板中升级配置。
服务器上是哪些 Python 和 Django 版本?
已安装 Django 6.1 和 Ubuntu 24.04 自带的 Python 3.12,软件包位于 /home/app/proje/venv 虚拟环境中。Django 6.1 官方支持 Python 3.12 及更高版本。新软件包请用 venv/bin/pip 添加。
如何连接 Django 的数据库?
PostgreSQL 只在服务器本机运行,不对外开放。数据库和用户都是 django,地址是 127.0.0.1:5432,密码是 /etc/seturack-django.env 中的 DJANGO_DB_SIFRE。在您的电脑上,可以用 ssh -L 5432:127.0.0.1:5432 root@IP 建立隧道。
如何把自己的域名连接到 Django?
把 A 记录指向您的服务器,替换 /etc/caddy/Caddyfile 中所有的旧名称,并更新 /etc/seturack-django.env 中的 DJANGO_ALAN 和 DJANGO_ADRES。然后以 root 身份运行 systemctl reload caddy 和 systemctl restart uygulama。
Django 可以使用 WebSocket 或 Channels 吗?
本安装通过 Gunicorn 和 proje.wsgi 运行 WSGI。若要使用 WebSocket,请把 /etc/systemd/system/uygulama.service 中的 ExecStart 一行指向 ASGI 服务器。Caddy 会放行 WebSocket 连接。