So hosten Sie mehrere Fläschchen Anwendungen unter einer einzigen domain mit Hosting auf nginx?

Was ich versuche zu erreichen:

Habe ich ein nginx web-server-hosting mydomain.com. Wenn jemand meine domain.com in Ihrer client möchte ich auf mein server zu dienen index.html von /var/www/mydomain/ Wenn Sie geben mydomain.com/flaskapp1 Sie sollten sehen, flaskapp1. Wenn Sie geben mydomain.com/flaskapp2 Sie sollten sehen, flaskapp2.

Habe ich es geschafft, die eine oder andere Flasche apps serviert, mit dem tutorial hier http://www.markjberger.com/flask-with-virtualenv-uwsgi-nginx/ aber wenn Sie versuchen, zu implementieren, dienen zwei separate Fläschchen apps, die ich laufen in Schwierigkeiten. Anstatt die Kolben app bekomme ich eine 404 Meldung, wenn ich versuche, auf die entweder der Kolben apps mit mydomain.co.uk/flaskapp oder mydomain.co.uk/flaskapp2 in einem browser.

Dies ist, was ich habe, so weit:

cat /etc/nginx/sites-available/mydomain.co.uk

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;
         }
 }

Den oben genannten conf-Datei wurde sim verbunden, die in /etc/nginx/sites-enabled.

cat /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

cat /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

Beide .ini-Dateien wurden symlinked in /etc/uwsgi/apps-enabled. UWSGI startet gut ohne irgendwelche Probleme und läuft. Beide flaskapp.Socke und flaskapp2.Socke sind im Besitz von www-data

cat /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')

cat /var/www/flaskapp2/flaskapp2.py

from 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')

cat /var/www/mydomain.co.uk/index.html

<!DOCTYPE html>
<html>
<body>

<h1>mydomain.co.uk</h1>

<p>This is the index page of my domain.co.uk</p>

</body>
</html>

Beiden virtuellen Umgebungen haben-Kolben installiert ist und führen Sie die Kolben-apps mit der Entwicklungs-server.

Ich hoffe, es ist etwas einfach, dass ich es verpasst habe.

  • Aber was ist dein problem? was nicht funktioniert? Was ist das Problem?
  • Ich bin immer Fehler 404 für beide Kolben-apps. die index.html ist in Ordnung.
InformationsquelleAutor Hoppo | 2016-01-09
Schreibe einen Kommentar