これまで作成してきたWebアプリをインターネットで公開されているサーバーにアップして、世界中どこからでも使えるようにしてみましょう。
今回、使用するサーバー
弊社(株式会社SARATEC.Me)でレンタルしているXServerVPSを利用して演習を行います。
演習でアップしたアプリは、演習終了3日後に削除いたしますのでご了承ください。
弊社のバーチャルプライベートサーバー(仮想の個人サーバー)はLinuxというOS(普段、みなさんはWindowsやMacOSという綺麗な画面でマウス操作できる環境のOS)です。
※Linuxの中でもUbuntu 22.04という名前の製品を使います。
Linuxは特別に綺麗な画面で操作をするXWindowという機能を追加しないかぎり、黒い画面に白い文字だけで操作するCLI(コマンドラインインターフェイス)です。
これまで演習で登場した「パワーシェル」や「コマンドプロンプト」と同じです。
サーバーに接続する
サーバーに接続して操作するにはSSHという仕組みを使います。
SSHでサーバーに接続すると、手元のパソコンに表示されている黒い画面に白い文字のCLIの画面でサーバーを操作することになります。
まずはあなたのWindowsパソコンから、遠隔地にあるUbuntuサーバーの中に入ります。
1.Windowsのスタートボタンを右クリックし、「ターミナル」(または「Windows PowerShell」「コマンドプロンプト」)を開きます。
2.以下のコマンドを入力して Enter キーを押します。(ユーザー名とIPアドレスはご自身の環境に合わせて変更してください)
ssh -i [秘密鍵のファイル名] [ユーザー名]@[サーバーのIPアドレス]
今回ご準備させていただいたユーザー名は
kagawa パスワードは202608305kaime
ishikawa パスワードは202608305kaime
です。サーバーのIPアドレスは「85.131.249.127」となります。
ssh -i c:\ServerConnect\flask-training kagawa@85.131.249.127
ssh -i c:\ServerConnect\flask-training ishikawa@85.131.249.127
となります。
[ユーザー名]@x85-131-249-127:~$
と、入力待ちになっているでしょうか?
サーバーにFlaskが動く環境を作る
Flaskを動かしたり、安全に通信を受け付けるための基本ソフトをまとめてインストールします。
sudo apt install python3-venv python3-dev python3-pip nginx ufw -y
環境確認
次のコマンドを入力して確認します。
nginx -v
nginx version: nginx/1.18.0 (Ubuntu)などバージョンがでましたか?
ufw version
ufw 0.36.1などバージョンはでましたか?
pip3 --version
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)などバージョンはでましたか?
python3 -m venv --help
usage: venvの使い方説明文みたいなものが表示されればOKです。
ファイル転送先としてサーバーと接続する
接続することが確認できたら、次はファイルのアップロードなどの準備をします。
ファイルのアップロードは、次のアプリを利用しましょう。
Windows版の64bitの方を選択しダウンロード、インストールしてください。
接続設定をします。

次に設定をクリックし、認証をクリック。秘密鍵の最後尾の・・・をクリックします。

ファイルを選択画面で秘密鍵のファイルを選択⇒「flask-training」です。OKとし、


ファイル名はそのままで「保存」

以上です。OKボタンを押し、戻った画面で保存しましょう。
左側がWindowsの画面、右側がサーバーの画面となります。
アップロードする
app.pyファイルを中心に、アップロードするべきファイルをClaudeCodeに聞いて、もれなくアップデートしましょう。
アップロードしたら。サーバーにログオンして、仮想環境を構築します。
cd [アプリのapp.pyのあるディレクトリに移動します]
python3 -m venv venv
source venv/bin/activate
pip install flask gunicorn
アプリを実行します
nohup gunicorn --workers 3 --bind 127.0.0.1:[ここの番号は打ち合わせ] app:app &
5174は香川さん、5178は石川さんでお願いします。
