You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:57:44