質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Flask

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

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

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

Q&A

解決済

1回答

4330閲覧

Flaskの公開について

Y.NINOMIYA

総合スコア32

Flask

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

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

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

0グッド

0クリップ

投稿2020/02/05 08:56

編集2020/02/07 07:56

実現したいこと

Flaskを公開する

発生している問題

localhostにアクセスしFlaskの動作確認はできたのですがFlaskの公開ができません。

/etc/apache2/sites-available/flask.conf

conf

1<VirtualHost *:5000> 2 ServerName example.jp:5000 //質問に際してexample.jpに変更 3 4 WSGIDaemonProcess flask_app user=www-data group=www-data threads=5 5 WSGIScriptAlias / /var/www/flask/flask_app.wsgi 6 7 <Directory /var/www/flask> 8 WSGIProcessGroup flask_app 9 WSGIApplicationGroup %{GLOBAL} 10 Order deny,allow 11 Allow from all 12 </Directory> 13</VirtualHost> 14 15<VirtualHost *:80> 16  ServerName example.jp     //質問に際してexample.jpに変更 17 DocumentRoot /var/www/html 18 ErrorLog ${APACHE_LOG_DIR}/html.error.log 19 CustomLog ${APACHE_LOG_DIR}/html.access.log combined 20 LogLevel warn 21</VirtualHost> 22

80番ポートではサイトを動かしています。

https://teratail.com/questions/238780
これは前回の私の質問ですがlocalhostでのアクセスについてですがソースコードはそのままです。

外部公開にあたって他にも何か手順を踏む必要があるのでしょうか。

よろしくお願いします。

###補足① 環境
OS:ubuntu 18.04.3 LTS
Python 3.6.9
Apache/2.4.29 (Ubuntu)

サーバーにはSSHで接続しています。

補足② 関連するソースコード

app.py

/var/www/flask/app.py

Python

1from flask import Flask 2 3app = Flask(__name__) 4 5@app.route("/") 6def index(): 7 return "Hello World!" 8 9if __name__ == '__main__': 10 app.run(debug=False, host='0.0.0.0', port=5000)

flask_app.wsgi

/var/www/flask/flask_app.wsgi

wsgi

1import os,sys 2 3sys.path.insert(0, os.path.abspath(os.path.dirname(__file__))) 4 5from app import app as application

/etc/apache2/ports.confListen 5000も追加しました。

また、/var/log/apache2/error.logを参照しエラーを確認しまししたがエラーは確認されませんでした。

80番ポートで外部からアクセスすると通常通りflask.confの下のvirtualhostで指定した任意のディレクトリに行きサイトが動作(flaskなどはしていない静的なHTML)しますが5000番ポートでアクセスすると「このサイトにアクセスできませんexample.jp からの応答時間が長すぎます。」と返されてしまいます。

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

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

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

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

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

y_waiwai

2020/02/05 11:04

自分のPCの中のものを公開したいという話かな?
Y.NINOMIYA

2020/02/05 13:04

いえ、ubuntuのサーバが別にありその中のアプリケーションを公開したいということです。 すみません、質問本文に明記しておきます。
nskydiving

2020/02/07 06:13

「公開ができません」だけでは何が起こっているのか分かりませんので、どのような操作をして何が起こったのかを質問欄に記載をお願いします。 エラーが出ているなら、エラーメッセージも提示するようにしてください。
Y.NINOMIYA

2020/02/07 07:58

失礼しました。質問本文に補足させていただきました。
hayataka2049

2020/02/08 01:22

flaskが動くかどうか以前に、5000番で外部からそのサーバにアクセスできますか? apacheがListenしてないかもしれないしOSが閉じてるかもしれないしネットワークが弾いてるかもしれないし、いろんな状況がありえるので、まずは5000番で静的なページを表示できるようにするところからだと思います。
guest

回答1

0

自己解決

flaskアプリケーションは80番ポートで動かすことができました。
5000番ポートはOS側のファイアウォールで許可されていませんでした

投稿2020/02/09 07:12

Y.NINOMIYA

総合スコア32

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問