カテゴリ: Flask 更新日: 2025/12/24

FlaskアプリをVPSにデプロイする基本手順!初心者向けにまとめ

FlaskアプリをVPSにデプロイする基本手順!初心者向けにまとめ
FlaskアプリをVPSにデプロイする基本手順!初心者向けにまとめ

先生と生徒の会話形式で理解しよう

生徒

「作ったFlaskアプリを、インターネット上でみんなに見てもらいたいんですけど、どうすればいいですか?」

先生

「それなら、VPS(ブイピーエス)というインターネット上のパソコンにアプリを置くと、どこからでもアクセスできるようになりますよ。」

生徒

「VPSって難しそうですが、プログラミング初心者でもできるんですか?」

先生

「大丈夫です。ひとつひとつ手順を分かりやすく説明していくので、一緒に進めていきましょう!」

1. Flask(フラスク)とは?

1. Flask(フラスク)とは?
1. Flask(フラスク)とは?

Flask(フラスク)は、Python(パイソン)というプログラミング言語で作られた、小さくてシンプルな「Webアプリケーションの作成ツール」です。

たとえば、自分で作った「お問い合わせフォーム」や「掲示板」などをインターネットで公開するのに使えます。

2. VPS(バーチャル・プライベート・サーバー)って何?

2. VPS(バーチャル・プライベート・サーバー)って何?
2. VPS(バーチャル・プライベート・サーバー)って何?

VPSとは、インターネット上にある「自分だけのパソコン」のようなものです。これを使うと、作ったFlaskアプリをネット上に公開できます。

有名なVPS会社には「さくらのVPS」や「ConoHa VPS」「Xserver VPS」などがあります。

3. VPSを契約して準備しよう

3. VPSを契約して準備しよう
3. VPSを契約して準備しよう

まずは、VPSを契約しましょう。ほとんどの会社では、ネットから申し込むだけでOKです。

契約後、IPアドレス(インターネット上の住所)とパスワードが送られてきます。

4. SSHでVPSにログインしよう

4. SSHでVPSにログインしよう
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をインストールしよう

5. PythonとFlaskをインストールしよう
5. PythonとFlaskをインストールしよう

VPSにログインできたら、PythonとFlaskを入れます。これは、自分の家のパソコンにソフトを入れるようなものです。


apt update
apt install python3 python3-pip -y
pip3 install flask

6. Flaskアプリのファイルをアップロード

6. Flaskアプリのファイルをアップロード
6. Flaskアプリのファイルをアップロード

次に、作ったFlaskアプリをVPSに送ります。これは「荷物を宅配便で送る」ようなイメージです。

ファイルを送るには、WinSCP(Windows向け)scpコマンドを使います。


scp -r myapp/ root@123.45.67.89:/root/

myappは自分のFlaskアプリのフォルダ名です。

7. Flaskアプリを動かしてみよう

7. 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を使おう

8. 本番用にgunicornを使おう
8. 本番用にgunicornを使おう

今の方法は「試す用」なので、本番ではもっとしっかりした方法で動かします。

gunicorn(ガンコーン)というツールを使うと、本番用の動作になります。


pip3 install gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 app:app

-w 4は、同時に4人までアクセスしても大丈夫なようにする設定です。

9. 外部から見えるようにファイアウォールを設定

9. 外部から見えるようにファイアウォールを設定
9. 外部から見えるようにファイアウォールを設定

サーバーの「防犯システム」であるファイアウォールに、外部からのアクセスを許可する設定も必要です。


ufw allow 8000

10. ブラウザでFlaskアプリにアクセス!

10. ブラウザでFlaskアプリにアクセス!
10. ブラウザでFlaskアプリにアクセス!

最後に、パソコンのブラウザを開いて、次のようにアクセスしてみましょう。


http://123.45.67.89:8000

Flaskアプリの画面が出れば成功です!

11. より安定させるための今後の工夫

11. より安定させるための今後の工夫
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も学ぶと、さらにレベルアップできますよ。」

生徒

「はい!今回の流れをしっかり復習して、もっと本格的な環境を作れるようになりたいです!」

先生

「意欲的でとても良いですね。実際のプロジェクトでも役立つ知識なので、ぜひ積極的に試してみましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Flaskアプリをインターネットに公開するにはどうすればいいですか?

Flaskアプリをインターネットで公開するには、VPS(バーチャル・プライベート・サーバー)を使ってアプリを配置するのが基本です。VPSにFlaskアプリをアップロードし、公開用のサーバー設定を行えば誰でもアクセス可能になります。
カテゴリの一覧へ
新着記事
New1
Django
Djangoのプロジェクトとアプリの違いを徹底解説!初心者でも迷わない構造の考え方
New2
Flask
FlaskでRQ(Redis Queue)を使って非同期タスク管理を行う方法|初心者向けやさしい解説
New3
Flask
FlaskでCookieを安全に使う方法!HttpOnly・Secureフラグの使い方を徹底解説
New4
Flask
Flask‑RESTfulでREST APIを構築する手順まとめ!初心者向けにやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Django
DjangoとFlaskの違いを完全比較!初心者でもわかるPythonフレームワーク入門
No.3
Java&Spring記事人気No3
Flask
Flaskアプリの環境変数設定方法!安全で柔軟な構成を実現しよう
No.4
Java&Spring記事人気No4
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本
No.5
Java&Spring記事人気No5
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.6
Java&Spring記事人気No6
Python
Pythonでリストをコピーする方法!copy()・スライス・list()の使い方を比較
No.7
Java&Spring記事人気No7
Python
Pythonのmatch文(パターンマッチング)とは?switch文の代替としての使い方をやさしく解説
No.8
Java&Spring記事人気No8
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説