質問するログイン新規登録
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

376閲覧

PythonのFlaskでの本番環境について

ngh_orange

総合スコア17

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/11/19 12:49

0

0

実現したいこと

・Flaskでwebアプリを作ったのでそれを身内に向けて公開したい。
・Flaskで本番環境に移行するときの注意点ややっておいたほうがいいことを聞きたいです。

前提

Python3.9.13
flask2.2.2
webアプリは作り終え、UbuntuServerを搭載している自宅のPCにおいて動作確認ができている状態です。
開放しているので外部からもアクセスできることを確認しています。

具体的な質問

現在起動方法としてメインPCからのSSHで直接python3を叩いて実行しています。
しかし、この方法で起動すると、SSHを接続終了してしまうとFlaskも同時に終了してしまいます。
どうすれば持続的にサーバーを起動できるのでしょうか?systemctlなど使えばいいのでしょうか?

また、ここからは答えていただけたら嬉しいぐらいなのですが、
・Flaskで本番環境に移行するときの注意点
・Flask限らず、サーバーを公開するときに皆様が当たり前にやられているセキュリティ面について
など、気をつけておいたほうがいいことを教えていただきたいです。

当方ただの学生でエンジニアではないのでセキュリティ面に不安が残ります。
よろしければ回答の方お願い致します。

補足情報(FW/ツールのバージョンなど)

メインPC windows10
サーバー ubuntuserver 20.04.6LTS

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melian

2023/11/19 13:08 編集

> どうすれば持続的にサーバーを起動できるのでしょうか?systemctlなど使えばいいのでしょうか? はい、その通りです。"linux systemd python flask" で検索すれば具体的な設定手順を解説した記事が見つかるでしょう。
ngh_orange

2023/11/19 13:45

ありがとうございます。 あくまでも身内用途考えたとき、WSGIでApacheなどに接続する必要性はありますでしょうか? なければそのままsytemctlで直接Pythonファイルを叩いてしまいたいのですが
melian

2023/11/19 13:55

> あくまでも身内用途考えたとき、 身内用途であればアクセス負荷はそれほど高くないと思われますので、必ずしも Apache や Nginx といったミドルウェアは必要ないかと思います。一方、アクセス負荷が高い、静的ファイル(画像やダウンロード目的のデータファイルなど)が大量にある場合には、Apache に負荷分散と静的ファイルの取り扱いを任せてしまう方がよいかと思います。
hoshi-takanori

2023/11/19 21:15

本番稼働なら systemctl とか使うのがいいと思いますが、とりあえず試しに動かしてみる場合はバックグラウンド実行すれば ssh 接続を切っても動かし続けることができます。 https://qiita.com/inosy22/items/341cfc589494b8211844
guest

回答1

0

Flaskの開発サーバーは本番向けではないので、gunicornやuWSGIを使用したほうがいいでしょうか。

投稿2024/11/07 11:41

isai

総合スコア158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問