FlaskアプリをVPSにデプロイする基本手順!初心者向けにまとめ
生徒
「作ったFlaskアプリを、インターネット上でみんなに見てもらいたいんですけど、どうすればいいですか?」
先生
「それなら、VPS(ブイピーエス)というインターネット上のパソコンにアプリを置くと、どこからでもアクセスできるようになりますよ。」
生徒
「VPSって難しそうですが、プログラミング初心者でもできるんですか?」
先生
「大丈夫です。ひとつひとつ手順を分かりやすく説明していくので、一緒に進めていきましょう!」
1. Flask(フラスク)とは?
Flask(フラスク)は、Python(パイソン)というプログラミング言語で作られた、小さくてシンプルな「Webアプリケーションの作成ツール」です。
たとえば、自分で作った「お問い合わせフォーム」や「掲示板」などをインターネットで公開するのに使えます。
2. VPS(バーチャル・プライベート・サーバー)って何?
VPSとは、インターネット上にある「自分だけのパソコン」のようなものです。これを使うと、作ったFlaskアプリをネット上に公開できます。
有名なVPS会社には「さくらのVPS」や「ConoHa VPS」「Xserver VPS」などがあります。
3. VPSを契約して準備しよう
まずは、VPSを契約しましょう。ほとんどの会社では、ネットから申し込むだけでOKです。
契約後、IPアドレス(インターネット上の住所)とパスワードが送られてきます。
4. SSHでVPSにログインしよう
SSH(エスエスエイチ)という方法を使って、自分のパソコンからVPSにログインします。
Windowsの人は「Tera Term」や「Windows Terminal」、Macの人は「ターミナル」を使います。
ssh root@123.45.67.89
123.45.67.89の部分は、契約したVPSのIPアドレスに置き換えてください。
5. PythonとFlaskをインストールしよう
VPSにログインできたら、PythonとFlaskを入れます。これは、自分の家のパソコンにソフトを入れるようなものです。
apt update
apt install python3 python3-pip -y
pip3 install flask
6. Flaskアプリのファイルをアップロード
次に、作ったFlaskアプリをVPSに送ります。これは「荷物を宅配便で送る」ようなイメージです。
ファイルを送るには、WinSCP(Windows向け)やscpコマンドを使います。
scp -r myapp/ root@123.45.67.89:/root/
myappは自分のFlaskアプリのフォルダ名です。
7. Flaskアプリを動かしてみよう
アプリをアップロードしたら、まずはちゃんと動くか試してみましょう。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "こんにちは、世界!"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
python3 app.py
ブラウザで http://123.45.67.89:5000 にアクセスすると、画面が表示されます。
8. 本番用にgunicornを使おう
今の方法は「試す用」なので、本番ではもっとしっかりした方法で動かします。
gunicorn(ガンコーン)というツールを使うと、本番用の動作になります。
pip3 install gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 app:app
-w 4は、同時に4人までアクセスしても大丈夫なようにする設定です。
9. 外部から見えるようにファイアウォールを設定
サーバーの「防犯システム」であるファイアウォールに、外部からのアクセスを許可する設定も必要です。
ufw allow 8000
10. ブラウザでFlaskアプリにアクセス!
最後に、パソコンのブラウザを開いて、次のようにアクセスしてみましょう。
http://123.45.67.89:8000
Flaskアプリの画面が出れば成功です!
11. より安定させるための今後の工夫
今回の方法で基本的なデプロイは完了ですが、今後は「nginx(エンジンエックス)」「SSL設定」「常時稼働」などの設定を加えると、もっと安定して安全に動かすことができます。
まずはここまでの流れをしっかり覚えて、自分のアプリを公開できるようにしましょう!
まとめ
FlaskアプリをVPSへデプロイする一連の流れを振り返ると、インターネット上で自分のアプリケーションを公開するためには、いくつかの大切な工程を順番に進めていく必要があることがよく分かります。特に初めてVPSに触れる初心者にとっては難しそうに見えますが、実際にはひとつひとつ丁寧に進めればしっかり最終的な公開まで到達できます。まず、VPSというインターネット上の仮想のパソコンを契約し、SSHでログインして設定を進めるという全体の仕組みを理解することが重要です。自分のパソコンからVPSに接続して作業する感覚は、初めて触れる方にとって新鮮な技術となるはずです。 PythonやFlaskをインストールし、アプリをアップロードして動作確認を行う部分では、これまでローカル環境で実行していたアプリがインターネット上で動くという変化が大きな気づきになります。Flaskの開発用サーバーはあくまで動作確認用のため、本番環境には向かないという点も非常に大切なポイントです。実際の公開ではgunicornのような本番用アプリケーションサーバーを使い、効率良く高い安定性でアプリを動かす準備が必要になります。 また、ファイアウォール設定でアクセスを許可したり、VPSのIPアドレスで実際にブラウザからアクセスして動作を確認したりと、実際にユーザーが利用する導線を確かめる工程も欠かせません。本番公開後の安定運用には、nginxの導入やSSL設定、常時稼働の管理など、さらに高度な知識が必要になりますが、まず今回学んだ基礎を押さえれば、次のステップにも問題なく進めます。 以下に、今回の流れを再確認できるサンプルコードと設定例をまとめていますので、復習や実装時の参考に活用してください。
VPSデプロイ用Flaskアプリ(まとめサンプル)
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "VPSから配信中のFlaskアプリです!"
if __name__ == '__main__':
# 開発時はこれでOK。本番ではgunicornを使用。
app.run(host="0.0.0.0", port=5000)
gunicornでの本番起動例
gunicorn -w 4 -b 0.0.0.0:8000 app:app
scpを使ったファイルアップロード例
scp -r myapp/ root@123.45.67.89:/root/
これらの具体的な設定と手順を覚えることで、自分のアプリを世界中に公開するための基盤がしっかりと身につきます。VPSはアプリの自由度が高く、サーバー構成も自分好みにできるため、より深くWeb技術を学ぶための最適な環境といえるでしょう。今回の内容を理解することで、「どうしてVPSにデプロイするのか」「なぜgunicornを使うのか」といった部分も自然と整理でき、本格的なWebアプリ開発の第一歩を踏み出すことができます。 今後は、公開後のセキュリティ対策やアクセス負荷への対応など、より実践的な知識を順番に学ぶことで安定したサービス運用につながります。まずは今回の基礎手順を確実に習得して、次のステップへ進める準備を整えていきましょう。
生徒
「VPSにデプロイする流れって難しいと思っていましたが、順番に進めれば意外と分かりやすかったです。SSHでつなぐのも初めてで少し緊張しました。」
先生
「確かに最初は戸惑いますよね。でも一度経験すると “自分のアプリが世界に公開される仕組み” がよく理解できるはずです。手順を覚えれば誰でもできるようになりますよ。」
生徒
「gunicornを使う理由も納得しました。開発用のまま公開してしまうと危険なんですね。本番モードと開発モードの違いがよく分かりました!」
先生
「その通りです。本番環境は安全性や安定性がとても重要ですから、適切なツールや設定が欠かせません。次はnginxやSSLも学ぶと、さらにレベルアップできますよ。」
生徒
「はい!今回の流れをしっかり復習して、もっと本格的な環境を作れるようになりたいです!」
先生
「意欲的でとても良いですね。実際のプロジェクトでも役立つ知識なので、ぜひ積極的に試してみましょう。」