2014-11-02 36 views
0

嗨,大家好,我在这里有一些麻烦,所以我要求一些建议。金字塔从本地主机生活

我构建了一个金字塔应用程序,它可以在localhost上完美工作,现在我将它上传到vps,我遇到了各种麻烦。我的网站托管在mercurial上。

请不要引用此:http://docs.pylonsproject.org/projects/pyramid/en/latest/tutorials/modwsgi/index.html

我已经试过了很多次,Google搜索了很多,这就是为什么我问的问题在这里。

我对蟒蛇2.7

  1. 我创建的virtualenv
  2. 激活的virtualenv
  3. PIP -r要求下载所有要求
  4. 那么Python的setup.py安装

我现在有这样的文件夹结构:

appname_dir/ 
    appname_module/ 
     static/ 
     template/ 
     __init__.py 
     views.py 

请记住,我没有将我的文件夹命名为appname_dir和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 [email protected] 
     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> 

的一个没有按”虚拟主机文件我appname_module文件夹中t工作

我试着添加类似于下面的自定义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> 

仍然没有去。通常,他们的500错误与此代码在Apache的错误日志文件

Target WSGI script cannot be loaded as Python module 

任何人都可以帮助解释发生了什么或者我怎么能解决这个问题。请把我指向其他SO的答案是没有帮助的我花了整整一天的时间来弄清楚这一点。

+0

您不要求引用您链接的文档页面,但我注意到您的版本和他们的版本之间存在问题,有什么建议吗? – Doobeh 2014-11-02 12:20:02

+0

我指的是人们只是说,阅读....我今天花了整整一天的时间阅读mod_wsgi文档,而且我仍然处于0的范围内,只要把事情做好并运行起来。你有任何建议来帮助解决这个问题吗?您的'application = get_app(ipath,'main')'行中的 – steffan 2014-11-02 12:43:26

+0

- 您使用的ipath是一个目录,而在文档中,它是一个指向.ini配置文件的链接。阅读文档第7点。 – Doobeh 2014-11-02 12:47:49

回答

0

那么我可以通过从apache和mod_wsgi移开来解决问题,我设置了nginx和uwsgi。如果我需要apache,我可以代理从nginx到apache的连接,但是我没有看到我需要很快就走这条路线。