Mod_wsgi'yi kullanarak Apache'ye basit bir flask uygulaması geliştirmek ve dağıtmak için http://www.enigmeta.com/2012/08/16/starting-flask/ adresindeki eğiticiyi takip ediyorum. Sanırım Apache konfigürasyonumdaki bir bozukluğa daralttım. Komut satırından helloflask.py dosyasını çalıştırırsam, iyi çalışır. Localhost: 5000'de başka bir kabuktan wget ile erişebilirim ve doğru yanıtı alırım. Ayrıca diğer sanal konakları (non WSGI) ve çalışıyor var, bu yüzden Apache çalıştıran ve bağlantı noktasında diğer isteklere yanıt olduğunu 80.Merhaba Dünya - Flask/Apache/mod_wsgi - Apache'den yanıt yok
aşağıdaki yapıya sahiptir:
/sites/helloflask.mydomain.com
/helloflask
application.wsgi
helloflask.py
(rest of env from virtualenv)
/log
access.log
error.log
helloflask.py:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
application.wsgi:
import os, sys, logging
logging.basicConfig(stream=sys.stderr)
PROJECT_DIR = '/sites/helloflask.mydomain.com/helloflask'
activate_this = os.path.join(PROJECT_DIR, 'bin', 'activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
sys.path.append(PROJECT_DIR)
from helloflask import app as application
Apache konfigürasyon: /etc/apache2/sites-available/helloflask.mydomain.com
<VirtualHost *:80>
ServerName helloflask.mydomain.com
WSGIDaemonProcess helloflask user=myuser group=myuser threads=5
WSGIScriptAlias//sites/helloflask.mydomain.com/helloflask/application.wsgi
<Directory /sites/helloflask.mydomain.com/helloflask>
WSGIProcessGroup helloflask
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
LogLevel warn
ErrorLog /sites/helloflask.mydomain.com/log/error.log
CustomLog /sites/helloflask.mydomain.com/log/access.log combined
</VirtualHost>
Ben, sankonu etkinleştirmek apache yeniden başlatın ve tarayıcıdan hiçbir yanıt almak. "Sunucu bulunamadı", yani 500 yanıt yok, hiçbir şey. Erişim/hata kayıtlarında giriş yok (bu sanal alana özgü). Ben her yeniden başlattığınızda oturum kapsayıcı Apache hata aşağıdaki alabilirim: Bu iki Sorunum sensin Python farklı sürümlerini gösteren çizgiler [uyarmak] eğer
[Sat Jun 29 20:07:58 2013] [notice] caught SIGTERM, shutting down
[Sat Jun 29 20:07:59 2013] [warn] mod_wsgi: Compiled for Python/2.7.2+.
[Sat Jun 29 20:07:59 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Sat Jun 29 20:07:59 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.6 with Suhosin-Patch mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
merak ediyorum, ama nasıl olduğunu bilmiyorum veya düzeltmek için ne değiştirilmelidir. Herhangi bir öneri takdir edilir.
Teşekkürler!
adresinden web tarayıcısını deneyin. Komik olan, birisinin buna cevap vermesini beklerken,/etc/hosts sorunu olan başka bir adama yardım ettim. Onun daha açıktı - o "ev sahibi bir rota" hatası alıyordu, ama yine de .. Bunu burada düşünmeliydim. Bir sorun olduğunu düşünmedim çünkü www.mydomain.com iyi çalışıyordu. Sanırım DNS ve alt alanlara bakmam lazım. Teşekkürler! – David
Bir Apache sorunu olduğu kadar bir dns sorunu değildi. ServerName yönergesinden dolayı Apache, helloflask.mydomain.com için gelen bir istek arıyordu, ancak sanırım 127.0.0.1 veya localhost kullanıyordunuz. –