2013-06-30 3 views
5

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 

궁금 해요,하지만 난 방법을 모르는 또는 그것을 고치기 위해 무엇을 수정할 것인가. 모든 제안을 부탁드립니다.

감사합니다.

답변

5

helloflask.mydomain.com은 어떤 IP를 가리 킵니까? 귀하의 호스트 파일에

127.0.0.1 helloflask.mydomain.com helloflask 

을 추가하고 현실을했다

http://helloflask.mydomain.com 
+0

에서 웹 브라우저를 사용해보십시오. 우스운 일은 누군가가 이것을 회신하기를 기다리는 동안/etc/hosts 문제로 다른 사람을 도왔습니다. 그는 분명히 "호스트 할 경로 없음"오류를 표시했지만 여전히 여기에서 고려해야했습니다. 나는 그것이 www.mydomain.com이 잘 작동했기 때문에 그것이 문제라고 생각하지 않았다. DNS 및 하위 도메인을 살펴볼 필요가 있습니다. 감사! – David

+0

아파치 문제만큼 DNS 문제가 많지 않았습니다. ServerName 지시어 때문에, 아파치는 helloflask.mydomain.com에 대한 요청을 찾고 있었지만, 127.0.0.1이나 localhost를 사용하고 있었다고 추측하고 있습니다. –