0
我想在使用wsgi的Ubuntu VPS中部署FLASK应用程序,但出现内部服务器错误。检查apache.log给了我以下错误:无法解析在WSGI/Apache上运行的Flask应用程序中的路径
No such file or directory: 'files/filesystem/filesystem.pickle'.
我的目录树是这个样子下/var/www/
:
dmft_seacrh_engine
files
filesystem
filesystem.pickle
dmft_search.wsgi
dmft_search
controllers
search.py
我试图打开filesystem.pickle
内search.py
如下:
with open('/files/filesystem/filesystem.pickle', 'rb') as handle:
filesystem = pickle.load(handle)
dmft.wsgi
文件的内容有:
activate_this = '/opt/dmft/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/dmft_search_engine")
from dmft_search import app as application
这是我的conf文件的外观:
<VirtualHost *:80>
ServerName dmft_search_engine.com
WSGIScriptAlias//var/www/dmft_search_engine/dmft_search.wsgi
<Directory /var/www/dmft_search_engine/dmft_search/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/dmft_search_engine/dmft_search/static
<Directory /var/www/dmft_search_engine/dmft_search/static/>
Order allow,deny
Allow from all
</Directory>
Alias /files /var/www/dmft_search_engine/files/$
<Directory /var/www/dmft_search_engine/files/>$
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
请帮助我。我还在.conf文件中添加了一个/files
的别名。 我该如何解决这个问题?