2011-01-05 2 views
3

: 우분투 10.04, 아파치, 파이썬 2.6, mod_python을하고 mod_wsgi에 설치.CGI 실행하지 파이썬 - 500 내부 서버 오류 내가 실행하고 싶은 몇 가지 파이썬 스크립트와 다음과 같은 구성이

http://bytes.com/topic/python/answers/474462-apache-python-ubuntu

http://apache.active-venture.com/cgi-configure.html

http://modpython.org/live/current/doc-html/inst-testing.html

http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide

http://wiki.apache.org/httpd/DistrosDefaultLayout

:

나는 다음 사이트의 지시를 따랐습니다

사이트-사용할 수있는 기본 파일 :

<VirtualHost *:80> 
    ServerAdmin [email protected] 

    DocumentRoot /var/www 
    <Directory /> 
      Options FollowSymLinks 
      AllowOverride None 
    </Directory> 

    <Directory /var/www/> 
      Options Indexes FollowSymLinks MultiViews 
      AllowOverride None 
      Order allow,deny 
      allow from all 
    </Directory> 

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
    <Directory "/usr/lib/cgi-bin"> 
      AddHandler mod_python .py 
      AddHandler cgi-script .cgi py 
      AllowOverride None 
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
      Order allow,deny 
      Allow from all 
    </Directory> 

나는 500 내부 서버 오류가 발생합니다. 또한 파일 권한을 755로 변경했습니다.

py 파일은 페이지에 표시되어야하는 텍스트를 단순히 인쇄합니다. 어떻게해야합니까? 감사

[편집] : 업데이트, 그것은 아래의 평 파일 오류 로그의 버그에 관련이.

Traceback (most recent call last): 
    File "/usr/lib/cgi-bin/amissa2.py", line 80, in <module> 
    zoom_factor = int(parms.getfirst('zoom')) * int(parms.getfirst('zsize')) 
TypeError: int() argument must be a string or a number, not 'NoneType' 

여기, int로 없음으로 변환에 오류가 나타납니다 :

zoom_factor = int(parms.getfirst('zoom')) * int(parms.getfirst('zsize')) 

이이 같은 변환 할 수있는 방법에 대한 힌트를?

+2

정말 많은 sysadmin 질문이 있습니다. 로그를 확인하십시오. 그들은 충분히 말하지 않는 경우, 상세도를 높일 수 있습니다. – wds

+2

당신은 아파치 오류 로그에서 자세한 정보를 제공 할 수 있습니까? 'LogLevel debug'를 설정하십시오. – scoffey

답변

1

parms.getfirst ('zoom') 또는 parms.getfirst ('zsize')가 None을 반환하면 URL에 이러한 정보를 제공하지 않는 것입니다 (이 구문은 무엇인지 추측). 이 누락 된 경우 원하는 동작을 정의합니다 (그것은 "0"줌을 의미한다, 또는 당신이 증식되기 때문에, "1"더 의미?).

그런 다음() (정의 된 행동에 따라)를 INT INT 대신 호출하는 것도 번역하지하는 방법을 알고 자신의 변환 기능을 만들 수 있습니다.

def convert(value): 
    if value is None: 
     return 0 # or 1, or whatever 
    else: 
     return int(value) 
1

당신은 WSGI 모듈을로드 아닙니다.

LoadModule wsgi_module modules/mod_wsgi.so 

또한 mod_wsgi 또는 mod_python 만 설치하면됩니다. 특정해야 할 필요가없는 한 둘 다.