mod_wsgi를 사용하여 아파치에 간단한 플라스크 응용 프로그램을 개발하고 배포하려면 http://www.enigmeta.com/2012/08/16/starting-flask/의 튜토리얼을 따르고 있습니다. 나는 내 아파치 설정의 결함으로 그것을 좁혔다 고 생각한다. 명령 줄에서 helloflask.py를 실행하면 정상적으로 작동합니다. localhost : 5000의 다른 쉘에서 wget을 통해 액세스 할 수 있으며 올바른 응답을 얻습니다. 나는 또한 다른 가상 호스트 (비 WSGI) 및 실행, 그래서 내가 아파치를 실행하고 포트에서 다른 요청에 응답 알고 80Hello World - Flask/Apache/mod_wsgi - Apache에서 응답 없음
I의 구조는 다음과 같습니다
/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
아파치 설정 : /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>
나는 가상 호스트를 활성화 아파치를 다시 시작하고 브라우저에서 응답을 얻을. "서버를 찾을 수 없습니다", 아니 500 응답, 아무것도. 액세스/오류 로그에 항목이 없습니다 (이 가상 호스트에만 해당). 나는 다시 시작할 때마다 로그인 무엇보다 중요한 아파치 오류에 다음을받을 수 있나요 : 그 두 내 문제는 파이썬의 다른 버전을 나타내는 라인을 [경고] 경우
[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
궁금 해요,하지만 난 방법을 모르는 또는 그것을 고치기 위해 무엇을 수정할 것인가. 모든 제안을 부탁드립니다.
감사합니다.
에서 웹 브라우저를 사용해보십시오. 우스운 일은 누군가가 이것을 회신하기를 기다리는 동안/etc/hosts 문제로 다른 사람을 도왔습니다. 그는 분명히 "호스트 할 경로 없음"오류를 표시했지만 여전히 여기에서 고려해야했습니다. 나는 그것이 www.mydomain.com이 잘 작동했기 때문에 그것이 문제라고 생각하지 않았다. DNS 및 하위 도메인을 살펴볼 필요가 있습니다. 감사! – David
아파치 문제만큼 DNS 문제가 많지 않았습니다. ServerName 지시어 때문에, 아파치는 helloflask.mydomain.com에 대한 요청을 찾고 있었지만, 127.0.0.1이나 localhost를 사용하고 있었다고 추측하고 있습니다. –