Heroku Buildpack: Python 使用教程
项目介绍
Heroku Buildpack: Python 是 Heroku 官方提供的用于 Python 应用的构建包。它支持多种流行的 Python 网络框架,如 Django 和 Flask。该构建包推荐使用 Gunicorn 作为网络服务器,并且没有限制使用哪些软件(只要它们可以通过 pip 安装)。应用的网络进程必须绑定到 $PORT
,并且只允许使用 HTTP 协议进行传入连接。
项目快速启动
环境准备
确保你已经安装了 Heroku CLI 和 Git。
克隆项目
首先,克隆 Heroku Buildpack: Python 项目到本地:
git clone https://github.com/heroku/heroku-buildpack-python.git
cd heroku-buildpack-python
创建 Heroku 应用
在 Heroku 上创建一个新的应用:
heroku create my-python-app
部署应用
将你的应用推送到 Heroku:
git push heroku main
查看应用
打开应用:
heroku open
应用案例和最佳实践
使用 Django 框架
以下是一个简单的 Django 应用部署示例:
-
创建一个新的 Django 项目:
django-admin startproject myproject cd myproject
-
在
requirements.txt
中添加 Django:Django gunicorn
-
创建
Procfile
文件,内容如下:web: gunicorn myproject.wsgi --log-file -
-
部署应用:
git init git add . git commit -m "Initial commit" heroku create heroku buildpacks:set heroku/python git push heroku main
使用 Flask 框架
以下是一个简单的 Flask 应用部署示例:
-
创建一个新的 Flask 项目:
mkdir myflaskapp cd myflaskapp
-
创建
app.py
文件,内容如下:from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Hello, World!" if __name__ == '__main__': app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 5000)))
-
在
requirements.txt
中添加 Flask:Flask gunicorn
-
创建
Procfile
文件,内容如下:web: gunicorn app:app
-
部署应用:
git init git add . git commit -m "Initial commit" heroku create heroku buildpacks:set heroku/python git push heroku main
典型生态项目
Django 和 PostgreSQL
Heroku 提供了对 PostgreSQL 的原生支持,可以轻松集成到 Django 应用中。在 settings.py
中配置数据库连接:
import os
import dj_database_url
DATABASES = {
'default': dj_database_url.config(default=os.environ.get('DATABASE_URL'))
}
Flask 和 Redis
Redis 是另一个常用的数据存储解决方案,可以与 Flask 应用集成。使用 Flask-Redis
扩展:
from flask import Flask
from flask_redis import FlaskRedis
app = Flask(__name__)
app.config['REDIS_URL'] = os.environ.get('REDIS_URL', 'redis://localhost:6379/0')
redis_store = FlaskRedis(app)
@app.route('/')
def hello():
redis_store.incr('hits')
return 'This page has been viewed %s time(s).' % redis_store.get('hits')
在 Heroku
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考