基于Nixpacks在Railway部署Django项目的分步指南求助
基于Nixpacks在Railway部署Django项目分步指南
1. 关联GitHub仓库到Railway
- 打开Railway控制台,用GitHub账号完成登录
- 点击「New Project」,选择「Deploy from GitHub repo」选项
- 在仓库列表中找到你已上传的Django项目,授权Railway访问该仓库
2. 调整Django项目核心配置
修改settings.py
- 将
DEBUG设为False:DEBUG = False - 更新
ALLOWED_HOSTS:ALLOWED_HOSTS = ['*', '.railway.app'] - 配置静态文件收集路径:添加
STATIC_ROOT = BASE_DIR / 'staticfiles'(确保STATIC_URL = '/static/'已存在) - 替换数据库配置为读取Railway环境变量:
import os DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': os.getenv('PGDATABASE'), 'USER': os.getenv('PGUSER'), 'PASSWORD': os.getenv('PGPASSWORD'), 'HOST': os.getenv('PGHOST'), 'PORT': os.getenv('PGPORT'), } }
添加必要文件
- 在项目根目录创建
Procfile,内容为:web: gunicorn <你的项目名称>.wsgi(替换<你的项目名称>为实际项目名,比如myproject) - 确保根目录存在
requirements.txt,包含所有依赖包(本地可执行pip freeze > requirements.txt生成后上传至GitHub),至少包含django、gunicorn、psycopg2-binary
3. 配置Railway环境变量
- 进入Railway项目的「Variables」标签页
- 添加以下环境变量:
SECRET_KEY:复制你本地Django项目settings.py中的密钥值PYTHON_VERSION:指定与本地一致的Python版本(例如3.11)
4. 启动部署
- 切换到Railway项目的「Deployments」标签页,系统会自动检测GitHub仓库的最新代码并启动部署;若未自动触发,点击「Deploy Now」手动启动
- 等待部署完成,查看部署日志确认无报错
5. 验证部署效果
- 部署完成后,Railway会分配一个专属域名(格式类似
<项目名>.railway.app),访问该域名确认项目正常运行 - 若静态文件无法加载,可修改
Procfile为web: python manage.py collectstatic --noinput && gunicorn <你的项目名称>.wsgi,提交到GitHub后重新触发部署
内容的提问来源于stack exchange,提问作者Stefan Glova
相关产品推荐
相关产品推荐

