-1
我有一個Apache(版本2.2.15)服務器(在Linux CentOS上運行),其中有很多.cgi腳本位於/ var/www/cgi-斌,別名:Apache和Flask:試圖調用目錄作爲腳本
ScriptAlias /cgi-bin "/var/www/cgi-bin"
而當我進入MYDOMAIN/cgi-bin目錄/ something.cgi它工作正常。
現在我想讓Flask應用程序在80端口的Apache服務器上運行。該應用程序位於/ var/www/cgi-bin/app中。所以,我創建簡單的瓶的應用程序 - a.py:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
和a.wsgi文件:
import sys
import site
sys.path.insert(0, '/var/www/cgi-bin/app')
site.addsitedir('/var/www/cgi-bin/app:/<my_python_path>/Lib/site-packages')
from app import app as application
此外,在/etc/httpd/conf/httpd.conf中我有創建所需的虛擬主機:
<VirtualHost *:80>
ServerName app.<mydomain>:80
WSGIDaemonProcess app python-path=/var/www/cgi-bin/app:/<my_python_path>/Lib/site-packages user=user1 group=user1 threads=5
WSGIScriptAlias /cgi-bin/app /var/www/cgi-bin/app/a.wsgi
<Directory /var/www/cgi-bin/app>
WSGIProcessGroup app
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
ErrorLog /var/www/cgi-bin/app/logs/error.log
CustomLog /var/www/cgi-bin/app/logs/custom.log combined
</VirtualHost>
但每次我嘗試打開MYDOMAIN/cgi-bin目錄/應用/在error.log文件中我看到這個錯誤:
(...) attempt to invoke directory as script: /var/www/cgi-bin/app/
你知道我在這裏做錯了什麼嗎?
謝謝你的回答。我沒有想過。現在燒瓶應用程序被移至/home/user/app/a.py。 wsgi文件(位置沒有任何變化:/var/www/cgi-bin/app/a.wsgi)和httpd.conf現在看起來像這樣:http://pastebin.com/tWcupwCv 但是,不幸的是它似乎不工作。我的路上有更多的錯誤嗎? – mchfrnc