Ich habe eine Linux-Apache 2.4.12 und mod_wsgi 4.5.2 (mod_wsgi.so in Apache installiert) unter Anwendung Konto. Apache läuft unter Port 8050 unter dem Anwendungskonto. Nach diesem Link zum Testen von mod_wsgi funktioniert: http://modwsgi.readthedocs.org/en/develop/user-guides/quick-configuration-guide.html#wsgi-application-script-file und ich meine URL eingegeben: http://mytest.mydomain.com:8050/myapp. Es zeigte "Hello World" an, also zeigte es an, dass meine mod_wsgi-Installation funktionierte. Als nächstes habe ich versucht zu sehen, ob ich die Kolbenapplikation durchführen kann.Konfigurieren Python-Kolben-Anwendung mit Apache und mod_wsgi in Linux
habe ich die einfache hello.py Datei unter/home/myuserid/wsgi:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
dann habe ich eine einfache wsgi Datei als:
import sys, os
sys.path.insert(0, "/home/myuserId/wsgi")
from hello import app as application
dann habe ich andere Vorschläge einschließlich dieser gefolgt
<VirtualHost *:8050>
# ServerName www.example.com
WSGIDaemonProcess hello user=appuser group=appuser threads=5
WSGIScriptAlias//home/myuserId/wsgi/hello.wsgi
<Directory /home/myuserId/wsgi>
WSGIProcessGroup hello
WSGIApplicationGroup %{GLOBAL}
Require all granted
Options +ExecCGI
AddHandler wsgi-script .wsgi
</Directory>
</VirtualHost>
I s: http://flask.pocoo.org/docs/0.10/deploying/mod_wsgi/ zu meinem apache http.conf Datei mit Virtualhost als konfigurieren aved die Datei httpd.conf und startete den apache w/o Fehler neu. Wenn ich die URL in Chrom eingegeben: http://mytest.mydomain.com:8050/hello oder http://mytest.mydomain.com:8050/hello_world, bekam ich diesen Fehler:
**Not Found**
The requested URL /hello was not found on this server.
Apache/2.4.12 (Unix) mod_wsgi/4.5.2 Python/2.7.9 Server at mytest.mydomain.com port 8050.
Meine Fragen sind:
- ist meine Konfiguration falsch?
- Wie lautet die richtige URL für die oben genannte Hello-Flask-Anwendung?
- versuchte
WSGIScriptAlias /hello /home/myuserId/wsgi/hello.wsgi
Hallo-Anwendung zu mounten, aber auch nicht gefunden. - für Kolben app, warum conf-Datei muss die App in VirtualHost Confe?
Ich habe VirtualHost Tag auskommentiert, es hat funktioniert. Dann habe ich mit VirtualHost den Servernamen mytest.mydomain.com hinzugefügt, aber es hat nicht funktioniert. Aber da Sie VirtualHost erwähnt haben, habe ich eine andere Web-Anwendung mit Reverse-Proxy wie folgt konfiguriert: ProxyPreserveHost Ein ProxyPass http: // localhost: 8040/mywebapp/ProxyPassReverse http: // localhost: 8040/mywebapp/ VirtualHost>. Als ich diesen VirtualHost auskommentiert habe, hat der wsgi virtualHost funktioniert. Wie kann ich beides zusammen arbeiten lassen? Vielen Dank für Ihre Antwort und Bereitstellung von mod_wsgi. –
user3400152
Stellen Sie für jeden if am gleichen Listener-Port, aber für unterschiedliche Hostnamen, unterschiedliche Servernamen ein. Andernfalls fügen Sie die beiden VirtualHosts in einen zusammen, wenn sie verschiedene Teile des URL-Namespace abdecken. –
Danke. Es klappt. – user3400152