#動機
普段はunityでアプリを作っていますが、アプリをインストールしてくれない時代になってきたので
webアプリも習得したいが、個人的な勉強なので安価な環境が欲しい
最終的には、mediapipe、opencv 使いたい
GCP、IBMcloudでインスタンス停止し忘れた経験あるので、高額請求されるくらいなら止めて欲しい
#目指す環境
スマホカメラで撮影し、サーバーで処理し画像を返す
ubuntu18.14
flask
SSL
#コンテンツ
app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run( port=8000, debug=True)
#自宅のPCに環境を構築 ngrokで公開してみる
install.sh
./ngrok authtoken <your_auth_token>
./ngrok http 80
run.sh
cd app.pyがある場所
python3 app.py
遅すぎるのと、アクセス回数が限られていたので断念
#vpsを借りてみる
プリペイドが使え残金がなくなると停止するconohaを使う
VPSレンタル代 530 円/月
ドメイン代 ¥2000/年
###SSL設定
caddy2という、SSLが設定できるサーバーを見つけたので
設定してみる ネットで探すとほとんどV1で、情報がまざっていて大変でした
install.sh
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo tee /etc/apt/trusted.gpg.d/caddy-stable.asc
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
sudo nano /etc/caddy/Caddyfile
install.sh
www.sample.com:443
tls mail@gmail.com
reverse_proxy localhost:8000
encode zstd gzip
run.sh
sudo ufw allow 443
sudo ufw allow 80
sudo caddy run --config /etc/caddy/Caddyfile
###確認
install.sh
cd app.pyがある場所
python3 app.py
ブラウザから https://www.sample.com で
Hello World! と表示され
なんとか、できたので次回、画像認識をやっていきたい