2017-09-08 12 views
0

私のサーバーで2つのFlaskアプリケーションを実行しています。最初のものは/etc/nginx/sites-available/alpha-projectでnginxの設定ファイルを持っていますnginxが他のアプリケーションにリダイレクトする場合404

server { 
    listen 80; 
    location/{ 
     include uwsgi_params; 
     uwsgi_pass 127.0.0.1:3033; 
    } 
} 

私はmywebsite.comを訪れるたびしたがって、私は(alpha-projectと命名)は、このアプリケーションを使用することができます。私はmywebsite.com/betaを訪問whenver私beta-projectを使用したい

server { 
    listen 80; 
    location /beta { 
     include uwsgi_params; 
     uwsgi_pass 127.0.0.1:3034; 
    } 
} 

は今、私は別のフラスコapplicatonは、設定ファイル/etc/nginx/sites-available/beta-projectbeta-projectと呼ばれています。 しかし私がmywebsite.com/betaを訪問したとき、サーバーは常に404を返しました。私はまだalphaアプリケーションを使用していたようでした。

nginxをbetaアプリケーションにリダイレクトするにはどうすればよいですか?

答えて

1

問題は、両方のサーバーに仮想名がないことです。あなたは1つのコンフィグ

server { 
    listen 80; 
    location/{ 
     include uwsgi_params; 
     uwsgi_pass 127.0.0.1:3033; 
    } 

    location /beta { 
     include uwsgi_params; 
     uwsgi_pass 127.0.0.1:3034; 
    } 
} 

にそれらを結合するか必要とするか、またはあなたは、あなたがhttp://serverb/betahttp://servera/、もう一つのメインサーバーに到達できる2人の独立した仮想サーバー名

server { 
    listen 80; 
    server_name servera; 
    location/{ 
     include uwsgi_params; 
     uwsgi_pass 127.0.0.1:3033; 
    } 
} 

server { 
    listen 80; 
    server_name serverb; 
    location/{ 
     include uwsgi_params; 
     uwsgi_pass 127.0.0.1:3033; 
    } 
} 

を使用する必要があります。 serveraserverbの両方の名前は、 /etc/hostsまたはDNS名

を使用してIPに解決する必要があります
関連する問題