2014-11-02 65 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的連接,但是我沒有看到我需要很快就走這條路線。