大家好,我在这里遇到了一些麻烦,所以我要求提供一些建议。
我构建了一个金字塔应用程序,它在localhost上完美运行,现在我将它上传到vps,我遇到了各种各样的麻烦。我的网站托管在mercurial上。
请不要参考此:http://docs.pylonsproject.org/projects/pyramid/en/latest/tutorials/modwsgi/index.html
我已经尝试了很多次并且用Google搜索了很多,这就是为什么我在这里问这个问题。
我在python 2.7上
我现在有这样的文件夹结构:
appname_dir/
appname_module/
static/
template/
__init__.py
views.py
请记住,我没有将文件夹命名为appname_dir和appname_module。
我在appname_module文件夹中创建了我的app.wsgi文件,它看起来像这样
from pyramid.paster import get_app, setup_logging
ipath = '/path/to/appname_dir/production.ini'
application = get_app(ipath, 'main')
我尝试过创建类似于下面的虚拟主机文件
<VirtualHost *:80>
ServerAdmin contact@domain.com
ServerName domain.com
ServerAlias www.domain.com
UseCanonicalName On
WSGIScriptAlias / /path/to/my/app.wsgi
<Directory /path/to/folder/that/contains/app.wsgi>
Order allow,deny
Allow from all
</Directory>
Alias /static /path/to/app/static/folder
<Directory /path/to/app/static/folder>
Order allow,deny
Allow from all
</Directory>
ErrorLog /path/to/app/folder/logs/error.log
LogLevel warn
CustomLog /path/to/app/folder/logs/access.log combined
</VirtualHost>
不起作用
我尝试添加类似于下面的自定义apache conf文件
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
WSGIDaemonProcess pyramid user=username group=groupname threads=6 \
python-path=/path/to/virtualenv/site-packages
WSGIScriptAlias / /path/to/app.wsgi
<Directory /path/to/appname_dir>
WSGIProcessGroup pyramid
Order allow,deny
Allow from all
</Directory>
仍然没有去。通常,他们在apache错误日志文件中使用此代码时出现500错误
Target WSGI script cannot be loaded as Python module
任何人都可以帮助解释发生了什么或如何解决这个问题。请指点我其他SO答案没有帮助我花了一整天时间试图解决这个问题。
答案 0 :(得分:0)
我能够通过远离apache和mod_wsgi来解决问题,我设置了nginx和uwsgi。如果我需要apache,我可以代理从nginx到apache的连接,但我不认为我很快就需要采用这条路线。