2017-11-06 10 views
0

these instructions을 사용하여 소프트웨어 검토 도구 ReviewBoard에 대한 서버를 설정하려고합니다. 나는 우분투 16.04.3이고 파이썬 2.7, apacahe2, 포스트그레스를 사용하고있다. 필자는 setup 스크립트를 사용하여 문서 루트와이 구성을 생성했습니다.ReviewBoard 사이트를 설정할 때 WSGI 처리 오류가 발생했습니다.

<VirtualHost *:80> 
    ServerName http://mywebsite-here.com 
    DocumentRoot "/var/www/reviewboard/htdocs" 

    # Error handlers 
    ErrorDocument 500 /errordocs/500.html 

    WSGIPassAuthorization On 
    WSGIScriptAlias "/" "/var/www/reviewboard/htdocs/reviewboard.wsgi/" 

    <Directory "/var/www/reviewboard/htdocs"> 
     AllowOverride All 
     Options -Indexes +FollowSymLinks 
     Allow from all 
    </Directory> 

    # Prevent the server from processing or allowing the rendering of 
    # certain file types. 
    <Location "/media/uploaded"> 
     SetHandler None 
     Options None 

     AddType text/plain .html .htm .shtml .php .php3 .php4 .php5 .phps .asp 
     AddType text/plain .pl .py .fcgi .cgi .phtml .phtm .pht .jsp .sh .rb 

     <IfModule mod_php5.c> 
      php_flag engine off 
     </IfModule> 

     # Force all uploaded media files to download. 
     <IfModule mod_headers.c> 
      Header set Content-Disposition "attachment" 
     </IfModule> 
    </Location> 

    # Alias static media requests to filesystem 
    Alias /media "/var/www/reviewboard/htdocs/media" 
    Alias /static "/var/www/reviewboard/htdocs/static" 
    Alias /errordocs "/var/www/reviewboard/htdocs/errordocs" 
    Alias /favicon.ico "/var/www/reviewboard/htdocs/static/rb/images/favicon.png" 
</VirtualHost> 

인덱스 WSGI 스크립트는 내가 메인 페이지로드를 시도 500 오류가 계속하고 로그가있는 경우,

[Mon Nov 06 11:26:37.499681 2017] [wsgi:error] [pid 4908:tid 140377516406528] [client <ip address>:64883]  working_set = WorkingSet._build_master(), referer: http://mywebsite-here.com 
[Mon Nov 06 11:26:37.499699 2017] [wsgi:error] [pid 4908:tid 140377516406528] [client <ip address>:64883] File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 664, in _build_master, referer: http://mywebsite-here.com 
[Mon Nov 06 11:26:37.499704 2017] [wsgi:error] [pid 4908:tid 140377516406528] [client <ip address>:64883]  ws.require(__requires__), referer: http://mywebsite-here.com 
[Mon Nov 06 11:26:37.499709 2017] [wsgi:error] [pid 4908:tid 140377516406528] [client <ip address>:64883] File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 981, in require, referer: http://mywebsite-here.com 
[Mon Nov 06 11:26:37.499715 2017] [wsgi:error] [pid 4908:tid 140377516406528] [client <ip address>:64883]  needed = self.resolve(parse_requirements(requirements)), referer: http://mywebsite-here.com 
[Mon Nov 06 11:26:37.499719 2017] [wsgi:error] [pid 4908:tid 140377516406528] [client <ip address>:64883] File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 867, in resolve, referer: http://mywebsite-here.com 
[Mon Nov 06 11:26:37.499725 2017] [wsgi:error] [pid 4908:tid 140377516406528] [client <ip address>:64883]  raise DistributionNotFound(req, requirers), referer: http://mywebsite-here.com 
[Mon Nov 06 11:26:37.499795 2017] [wsgi:error] [pid 4908:tid 140377516406528] [client <ip address>:64883] DistributionNotFound: The 'idna>=2.1' distribution was not found and is required by cryptography, referer: http://mywebsite-here.com 
[Mon Nov 06 11:27:37.620929 2017] [wsgi:error] [pid 4909:tid 140377390515968] [client <ip address>:64904] mod_wsgi (pid=4909): Target WSGI script '/var/www/reviewboard/htdocs/reviewboard.wsgi' cannot be loaded as Python module., referer: http://mywebsite-here.com 
[Mon Nov 06 11:27:37.620989 2017] [wsgi:error] [pid 4909:tid 140377390515968] [client <ip address>:64904] mod_wsgi (pid=4909): Exception occurred processing WSGI script '/var/www/reviewboard/htdocs/reviewboard.wsgi'., referer: http://mywebsite-here.com 
[Mon Nov 06 11:27:37.621027 2017] [wsgi:error] [pid 4909:tid 140377390515968] [client <ip address>:64904] Traceback (most recent call last):, referer: http://mywebsite-here.com 
[Mon Nov 06 11:27:37.621144 2017] [wsgi:error] [pid 4909:tid 140377390515968] [client <ip address>:64904] File "/var/www/reviewboard/htdocs/reviewboard.wsgi", line 3, in <module>, referer: http://mywebsite-here.com 
[Mon Nov 06 11:27:37.621202 2017] [wsgi:error] [pid 4909:tid 140377390515968] [client <ip address>:64904]  import pkg_resources, referer: http://mywebsite-here.com 
[Mon Nov 06 11:27:37.621237 2017] [wsgi:error] [pid 4909:tid 140377390515968] [client <ip address>:64904] File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 72, in <module>, referer: http://mywebsite-here.com 
[Mon Nov 06 11:27:37.621270 2017] [wsgi:error] [pid 4909:tid 140377390515968] [client <ip address>:64904]  from . import py31compat, referer: http://mywebsite-here.com 
[Mon Nov 06 11:27:37.621305 2017] [wsgi:error] [pid 4909:tid 140377390515968] [client <ip address>:64904] ImportError: cannot import name py31compat, referer: http://mywebsite-here.com 
[Mon Nov 06 11:28:41.695761 2017] [wsgi:error] [pid 4909:tid 140377373730560] [client <ip address>:64912] mod_wsgi (pid=4909): Target WSGI script '/var/www/reviewboard/htdocs/reviewboard.wsgi' cannot be loaded as Python module., referer: http://mywebsite-here.com 

그러나 이러한 오류를 포함

import __main__ 
__main__.__requires__ = ['ReviewBoard'] 
import pkg_resources 

import os 
import sys 

os.environ['DJANGO_SETTINGS_MODULE'] = "reviewboard.settings" 
os.environ['PYTHON_EGG_CACHE'] = "/var/www/reviewboard/tmp/egg_cache" 
os.environ['HOME'] = "/var/www/reviewboard/data" 
os.environ['PYTHONPATH'] = '/var/www/reviewboard/conf:' + os.environ.get('PYTHONPATH', '') 

sys.path = ['/var/www/reviewboard/conf'] + sys.path 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

입니다/usr/bin/python에서 WSGI 스크립트의 처음 세 줄을 실행하면 오류가 발생하지 않습니다. 또한 이러한 패키지는 존재하는 것으로 보입니다

$ locate py31compat 
/usr/local/lib/python2.7/dist-packages/pkg_resources/py31compat.py 
/usr/local/lib/python2.7/dist-packages/pkg_resources/py31compat.pyc 
/usr/local/lib/python2.7/dist-packages/setuptools/py31compat.py 
/usr/local/lib/python2.7/dist-packages/setuptools/py31compat.pyc 
$ python 
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import idna 
'2.6' 
>>> 

답변

0

Python 가상 환경에서 ReviewBoard를 설치하고 실행하기 시작했습니다.