達成しようとしているもの:nginxでホストされている単一のドメインの下で複数のフラスコアプリをホストするには?
私はmydomain.comをホストしているnginx Webサーバーを持っています。誰かが私のdomain.comを自分のクライアントに入力すると、自分のサーバがindex.htmlを/var/www/mydomain/
から提供したいと思います。mydomain.com/flaskapp1と入力すると、flaskapp1が表示されます。 mydomain.com/flaskapp2と入力すると、flaskapp2が表示されます。
私は1つを得るために管理しているか、他のフラスコのアプリは、私が困難に遭遇する二つの別々のフラスコのアプリを提供する実装しようとしたときに、ここでhttp://www.markjberger.com/flask-with-virtualenv-uwsgi-nginx/チュートリアルを使用しますが務めました。フラスコのアプリを見る代わりに、ブラウザでmydomain.co.uk/flaskappまたはmydomain.co.uk/flaskapp2のいずれかのフラスコアプリにアクセスしようとすると、404メッセージが表示されます。
これは私がこれまで持っているものです:
server {
listen 80;
server_name www.mydomain.co.uk mydomain.co.uk;
location/{
root /var/www/html/;
index index.html index.htm;
}
location /flaskapp {
include uwsgi_params;
uwsgi_pass unix:/tmp/flaskapp.sock;
}
location /flaskapp2 {
include uwsgi_params;
uwsgi_pass unix:/tmp/flaskapp2.sock;
}
}
上記のconfファイルはSIM /etc/nginx/sites-enabled
にリンクされている/etc/nginx/sites-available/mydomain.co.uk
猫。
猫/etc/uwsgi/apps-available/flaskapp.ini
[uwsgi]
vhost = true
socket = /tmp/flaskapp.sock
venv = /var/www/flaskapp/venv
chdir = /var/www/flaskapp
module = flaskapp
callable = app
/etc/uwsgi/apps-available/flaskapp2.ini
[uwsgi]
vhost = true
socket = /tmp/flaskapp2.sock
venv = /var/www/flaskapp2/venv
chdir = /var/www/flaskapp2
module = flaskapp2
callable = app
両方猫。 iniファイルは/etc/uwsgi/apps-enabled
にシンボリックリンクされています。 UWSGIは何の問題もなく再起動し、起動しています。 flaskapp.sockとflaskapp2.sockの両方がWWW-データ
猫/var/www/flaskapp/flaskapp.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World from flaskapp1!'
if __name__ == '__main__':
app.run(host='0.0.0.0')
猫/var/www/flaskapp2/flaskapp2.pyによって所有されています
01 /var/www/mydomain.co.uk/index.htmlfrom flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World from flaskapp2!'
if __name__ == '__main__':
app.run(host='0.0.0.0')
猫
両方の仮想環境にフラスコがインストールされており、開発サーバーを使用してフラスコアプリを実行します。
私はそれが私が逃したシンプルなものだと願っています。
あなたの問題は何ですか?何がうまくいかないの?どうした? – GwynBleidD
両方のフラスコのアプリケーションでエラー404が表示されます。 index.htmlは正常に動作しています。 – Hoppo