GCPにpythonサーバをデプロイしていたが、料金が高くなりそうなので、月額料金が決まっているさくらのVPSにデプロイしてみる。
ゴール
さくらインターネットのVPSでpythonサーバをたてて、hello worldを出力させる。
VPS
初めにVPSを契約する。VPSの選択肢は色々ある。
最安(おそらく)の WebARENA Indigo にしようと思っていたが、インスタンスの在庫不足。
「Indigo Linux全インスタンスの在庫不足」せっかく登録したが、インスタンスの作成ができないらしいので諦めて、すぐに解約。
少し高くなるが、さくらインターネットを契約する。643円/月。初回に2ヶ月分契約する必要がある。
会員登録して、VPSの申し込みを行う。契約中のサービス一覧–>VPSのコントロール画面を開く。
さくらVPSにssh接続する
- 各種設定 –> OSのインストール
- $ssh ubuntu@your_IP
必要なソフトをインストール
$sudo apt-get update
$sudo apt-get install libapache2-mod-wsgi python-dev
$sudo apt-get install libapache2-mod-wsgi-py3 python3-dev
$sudo apt install python3-pip
参考サイト。「How To Deploy a Flask Application on an Ubuntu VPS | DigitalOcean」、「さくらVPS, Ubuntu 18.04, apache2, flask – Qiita」
tmuxとvimもついでにインストールする。
ポートの開放
必要があれば開放する。
$sudo ufw allow 443
sshを許可
$sudo ufw allow ssh
確認。
$sudo ufw status verbose
Apache Webサーバーを起動
「Ubuntu 20.04にApache Webサーバーをインストールする方法 | DigitalOcean」
Flaskを使用してHello Woldを出力させる
- 「Flaskで「Hello World」を出力させる – Qiita」を参考にpythonコードをかく
- ポートは443にする(さくらサーバーでは443と80が開いている。)
- $sudo python3 -m pip install flask
- $sudo python3 main.py
- ブラウザから your_IP:443 にアクセスする
pythonやpipを使用するときに、ログインユーザとrootユーザで違う環境かもしれないので、sudoをつけてflaskのインストールを行う。
参考「Python – ターミナルでsudo python 〇〇.pyとするとモジュールがないと言われる。|teratail」
終わりに
python環境は改善の余地がありそうだが、さくらVPSでpythonサーバを立てることができた。
これから徐々にアプリを公開していきたい。
Comments