在 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)
- 我的 Web 服务器的主要任务是响应
index来自路由的请求,提供相应的页面/。同样,也会响应python2来自/python-2路由python3的请求/python-3。整体文件结构如下所示:
如果您只想专注于教程的部署部分,请随意使用我的代码仓库。
配置托管项目文件夹
-
使用虚拟环境:
我们将使用虚拟环境,以避免不同模块版本之间的冲突。
要创建虚拟环境,请按照以下命令操作。$ python3 -m venv venv # create the virtual environment $ source venv/bin/activate # activate the virtual environment $ pip install <package name> # install the required package -
将未版本化的项目转换为 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/ -
创建 requirements.txt 文件:
按照以下命令自动创建该requiremnt.txt文件。$ pip3 freeze > requirements.txt你会注意到
requirements.txt系统会创建一个文件,其中列出了一些依赖项及其版本。我建议你添加这行新代码
gunicorn==20.1.0,我稍后会解释原因。 -
提交所有更改并将其推送到远程存储库:
您的存储库将类似于这样。 -
现在该告诉服务器如何启动我们的应用程序了:
首先,在我们的本地系统中,服务器运行在 [localhost此处应填写本地系统名称],但当我们讨论托管环境时,情况就不同了。好的!我们将使用gunicorn,这是一个用于托管或生产环境的Python Web 服务器网关。
为了告诉服务器如何处理我们的项目,我的意思是,你需要对项目执行哪些命令,我们需要创建一个名为 的新文件Procfile,其中基本上包含了启动我们项目的命令。
web: gunicorn app:app
现在我们的项目已经完全配置完毕,可以进行托管了。让我们把项目托管到Railway上吧。
托管 Flask 服务器
首先在Railway 系统中创建账户,并配置您的 GitHub 账户。然后:
-
返回首页
-
然后您可以选择您创建或派生的项目(如果您使用的是我的项目) 。

-
在这里,您可以看到部署完成的情况。您会收到一条消息
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



