如果你有自己的固定IP,可以在本机进行部署,或着使用免费版本的Heroku Platform在云端建立你的服务器,方法没有一定,今天进行Python版本的建置流程
在这边建立你的Heroku Free Account
git clone https://github.com/heroku/python-getting-started.git
cd python-getting-started
如果你因为设定错了参数,想要重新使用已经创建的App,可以使用以下指令设定远端专案
heroku git:remote -a [the-app-name]
建立一个新App,并将当前的专案推送至Heroku
heroku create
git push heroku main
建置完成的App,在未启用前处於压缩的状态(slug),将其部属到节点(dynos),才能启用App,使用以下指令分配一个dynos给App:
heroku ps:scale web=1
完成资源分配後,你的App就能够使用分配到的资源开始运作,使用以下指令测试App:
heroku open
检视Log:
heroku logs --tail
Procfile,是App的启动指令,格式为
<process type>: <command>
# 测试App中的Procfile为
web: gunicorn gettingstarted.wsgi
只有web类型的程序能够进行HTTP传输,其他类型的则无法从Heroku的Router上接收传送资料
如果专案根目录存在requirements.txt,Heroku将会判断专案为Python语言,同时在部署时Heroku会读取内部的内容安装指定的套件
如果你没有虚拟环境,或虚拟环境有太多不相干的套件,可以使用pipreqs产生专案的requirements.txt
pip install pipreqs
pipreqs /path/to/project
在部署上去之前,可以在个人电脑进行模拟测试,以避免上船上去後发生编译错误或其他问题,由於是本机运作,如果系统为Windows需要设定专用的Procfile:
# Procfile.windows
python manage.py collectstatic
#以此指令在Windows上启动本机模式
heroku local web -f Procfile.windows
#以此指令在Unix系统上执行本机模式
heroku local web
使用浏览器打开http://localhost:5000,如果正常,应该可以看到App产生的网页
Heroku使用与Git同样的格式进行版本控管,以下为范例
修改requirements.txt,新增reequests套件使用
在hello/views.py加入import requests,并修改index函式为:
def index(request):
r = requests.get('http://httpbin.org/status/418')
print(r.text)
return HttpResponse('<pre>' + r.text + '</pre>')
完成本机测试後,与Git相同
git add .
git commit -m "new Index"
部署
git push heroku main
开启
heroku open
Heroku鼓励使用config vars作为变数的储存方式,可以通过网页的控制台页签中的Setting-Config Vars进行设定,或使用CLI
#显示专案环境变数
heroku config
#取得特定的变数值
heroku config:get [Key]
#设定环境变数
heroku config:set [Key]=[Val]
#移除环境变数
heroku config:unset [Key]
今天简单的过一遍基础的Heroku使用方式,明天进入将Line机器人部署的教学
>>: Day 9 - Laravel 8.0的Error Handling
昨天介绍了velero的概念,今天来配置一套velero出来看看吧。 配置velero非常的简单,只...
前言 在开始进入我们各式各样的深度模型之前,我们要先来介绍一个非常 Powerful 的 Deep ...
哈罗我是Todd,是一个比较喜欢写前端的全端工程师,工作上大部分是使用 React 及 Node.j...
DocsPage DocsPage 是由 Storybook Docs 所提供的页面,无需任何的设定...
urls.py str有可以用int path('personal_info<str:name...