程序已经写好了,现在就是要换一个地方放,可以考虑的方向有云端或是自架站台。
云端的话,比较简单,但是比较资安方面可能会比较让人担心,因为你的帐号,密码,都需要放到云端去,如果要交易功能的话,连金钥都要放到云端去,所以想走这条路的朋友要自己好好考虑。
另一条路就是自架站台,自架站台有几个关键
主机的话,我想应该是比较简单取得的,花钱就行,甚至树莓派 (raspberry pi) 就可以拿来用了,域名的话,如果不想买,也有免费的域名可以去申请,只是名称比较没那麽自由而已,https 凭证的话,可以使用免费的 let's encrypt,再来就是可以设定的 router,因为要设定 port forwarding,将相关的 request 指给我们的主机,最後就是 ip,如果有固定 ip 的话,可以直接指定给域名,如果没有固定 ip 的话,就需要 ddns 服务,在主机上还要执行一个程序,在 ip 变动的时候,去更新域名绑定的 ip。
这次的分享,主要还是在 Shioaji api,所以就先放到云端去,原本放在 gcp 的 app engine,可是测试了半天,发现在取得报价的时候,常常会失败,相关原因还不清楚,後来就改用了 Heroko。虽然还是有机会失败,不过拿来 demo 倒是还可以,之後如果正式使用,想要稳定一点的环境,可以考虑花点钱解决,免费版的规格大概如下,比较要注意的是 30 分钟没有操作的话,会进眠,再一次启动会花一些时间启动,反应会慢一点。
云端 | 自架 | |
---|---|---|
难易 | 易 | 难 |
安全 | 帐号密码放云端,要注意 | 网路的防火墙,主机的安全性漏洞要自己处理 |
前置技能 | 云端平台的操作技能 | 1. 主机, 2. 域名, 3. https 凭证 4. router 设定 5. 固定 ip 或是 ddns |
如果想要用 Heroku 试试的话,可以照以下的步骤来完成:
pip install gunicorn
web gunicorn main:app
# main 是我们程序的档案名称 (main.py)
# app 是 flask 的实体名称 app = Flask(__name__)
# 如果你的名字和我不一样,记得自己改喔
Procfile 是跟 heroku 指定部署完後,要执行什麽档案,如果你有其它的规画,可以改这个档
python-3.7.11
这个档案是指定我们要用哪个版本的 python 来执行,如果没有指定的话,没有指定的话,就是最新版,因为 shioaji 目前只有支援到 3.7,所以这里就指定 3.7.11
# 登入
heroku login
# 到自己的专案目录下
cd my-project/
# 初始化 git
git init
# 建立 heroku 远端分支
heroku git:remote -a [刚刚输入的 app name]
# stage 所有档案
git add .
# commit
git commit -am "[commit 备注]"
# 推送到 heroku
git push heroku master
在推送到 heroku 之後就会自动建置,然後执行我们在 procfile 指定的指令。结束後,可以看到以下画面
可以在那找到自己 app 的网址,把这个网址复制下来,贴到 Line Messaging API 里的 Webhook URL,就可以在 line 里使用了。
<<: EP20 - 整合 Jenkins 自动部署到 EKS
>>: Day17:终於要进去新手村了-Javascript-回圈-while简单举例练习
接续昨天写到一半的题目, 昨天还留下了 sys_sysinfo() 没有完成, 先来大致上分析一下这...
getCssProperty() 是 Nighwatch 中用来取得 DOM element 的 c...
大家应该也发现到了,目前点选 Navbar 项目并没有任何反应;但是点选公版中的 Home 和 Ab...
做事情都要有个为什麽 人是很奇怪的动物,心中会有很多对某些事情的想像,总是一件又一件的想去做。 决定...
前言 如果是从上一篇来的读者可能会很奇怪,不是说要用爬虫抓三大法人资料吗?怎麽换标题了,而且连题目的...