发布于 2026-01-06 2 阅读
0

在 Railway 上托管 Flask Web 服务器 [免费]

在 Railway 上托管 Flask Web 服务器 [免费]

介绍

欢迎来到本博客!👋 您是否想在生产环境中完全免费地托管或部署Flask Web 服务器,并希望使用各种生产环境功能,例如配置环境变量、选择不同版本的框架或语言等等?那么您来对地方了。在本博客中,我将向您展示如何在Railway中部署/托管 Flask Web 服务器。

Railway 本质上是一个部署平台,您可以在该平台上部署您的项目并执行许多任务

Flask Web 服务器

首先,我们创建一个 Flask Web 服务器用于部署。

您可能会注意到,这个 Flask Web 服务器比较基础,只执行一些基本功能。我这样做是为了简化本教程,但您可以自由构建任何类型的 Flask Web 服务器,并按照教程进行操作。最后,您也可以自行托管该 Web 服务器。

这是 Flask Web 应用程序的业务逻辑代码。

from flask import Flask, render_template

app = Flask(__name__)


@app.route('/', methods=['GET'])
def hello():
    return render_template('index.html')

@app.route('/python-2', methods=['POST'])
def python2():
    return render_template('python2.html')

@app.route('/python-3', methods=['POST'])
def python3():
    return render_template('python3.html')

if __name__ == '__main__':
    app.run(debug=True)
Enter fullscreen mode Exit fullscreen mode
  • 我的 Web 服务器的主要任务是响应index来自路由的请求,提供相应的页面/。同样,也会响应python2来自/python-2路由python3的请求/python-3。整体文件结构如下所示:文件结构图像 如果您只想专注于教程的部署部分,请随意使用我的代码仓库。

配置托管项目文件夹

  1. 使用虚拟环境:
    我们将使用虚拟环境,以避免不同模块版本之间的冲突。
    要创建虚拟环境,请按照以下命令操作。

    
    $ python3 -m venv venv # create the virtual environment
    $ source venv/bin/activate # activate the virtual environment
    $ pip install <package name> # install the required package
    
    
  2. 将未版本化的项目转换为 Git 仓库:
    为此,请运行以下命令:

    
    $ git init
    hint: Using 'master' as the name for the initial branch. This default branch name
    hint: is subject to change. To configure the initial branch name to use in all
    hint: of your new repositories, which will suppress this warning, call:
    hint: 
    hint:   git config --global init.defaultBranch <name>
    hint: 
    hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
    hint: 'development'. The just-created branch can be renamed via this command:
    hint: 
    hint:   git branch -m <name>
    Initialized empty Git repository in /home/ankur/Desktop/development/hosting-flask-app/.git/
    
    
  3. 创建 requirements.txt 文件
    按照以下命令自动创建该requiremnt.txt文件。

    
    $ pip3 freeze > requirements.txt
    
    

    你会注意到requirements.txt系统会创建一个文件,其中列出了一些依赖项及其版本。

    我建议你添加这行新代码gunicorn==20.1.0,我稍后会解释原因。

  4. 提交所有更改并将其推送到远程存储库
    您的存储库将类似于这样。

  5. 现在该告诉服务器如何启动我们的应用程序了:
    首先,在我们的本地系统中,服务器运行在 [localhost此处应填写本地系统名称],但当我们讨论托管环境时,情况就不同了。好的!我们将使用gunicorn,这是一个用于托管或生产环境的Python Web 服务器网关。

为了告诉服务器如何处理我们的项目,我的意思是,你需要对项目执行哪些命令,我​​们需要创建一个名为 的新文件Procfile,其中基本上包含了启动我们项目的命令。

web: gunicorn app:app
Enter fullscreen mode Exit fullscreen mode

现在我们的项目已经完全配置完毕,可以进行托管了。让我们把项目托管到Railway上吧。

托管 Flask 服务器

首先在Railway 系统中创建账户,并配置您的 GitHub 账户。然后:

  1. 返回首页

  2. 您会在首页看到“开始新项目”按钮。点击此按钮。
    首页

  3. 选择从 GitHub 仓库部署
    从仓库部署

  4. 然后您可以选择您创建或派生的项目(如果您使用的是我的项目) 。
    选择你的项目

  5. 现在只需点击“立即部署” :
    点击立即部署

  6. 您将被重定向到此用户界面
    用户界面

  7. 在这里,您可以看到部署完成的情况。您会收到一条消息Add a Domain,提示您公开此 Web 服务器,或者点击“添加自定义域名”按钮,Add a Domain即可获得您自己的托管链接。
    这是我的链接:https://hosting-flask-app-production.up.railway.app/

您可以在评论区分享您的项目链接或提供任何类型的反馈。

🎉 你做得太棒了!

您已经学会了如何从零开始部署或托管 Flask 后端 Web 服务器。现在是时候托管您自己的 Web 服务器/应用程序,并将链接分享给其他人了。

感谢阅读!如果您喜欢这篇文章,并且正在寻找一位才华横溢的写手,欢迎随时与我联系:

📧 邮箱:ankursingh91002@gmail.com

🔗 LinkedIn:Ankur Singh

🔗 Twitter:@ankur_136

让我们携手合作,共同创造美好未来!

文章来源:https://dev.to/ankur0904/hosting-a-flask-web-server-on-railway-free-1049