apache2 und mod-wsgi : Ziel WSGI-Skript nicht geladen werden kann als Python-Modul

Ich versuche zu installieren mod_wsgi auf apache2 auf ubuntu.
So ich install libapache2-mod-wsgi-Paket, aktiviere ich ihn mit a2enmod.

Bekam ich eine web-site (languageAnalyz), dass ich bin versucht, mit mod_wsgi.
Wenn ich localhost/languageAnalyz, bekam ich einen Fehler 500.

Im apache2-log kann ich sehen :

[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1] mod_wsgi (pid=4993): Target WSGI script '/var/www/languageAnalyz/test-wsgi.py' cannot be loaded as Python module.
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1] mod_wsgi (pid=4993): SystemExit exception raised by WSGI script '/var/www/languageAnalyz/test-wsgi.py' ignored.
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1] Traceback (most recent call last):
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1]   File "/var/www/languageAnalyz/test-wsgi.py", line 10, in <module>
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1]     WSGIServer(app).run()
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/flup/server/fcgi.py", line 112, in run
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1]     sock = self._setupSocket()
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 997, in _setupSocket
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1]     req.run()
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 572, in run
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1]     self._end(appStatus, protocolStatus)
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 601, in _end
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1]     sys.exit(appStatus)
[Sun Aug 25 11:28:21 2013] [error] [client 127.0.0.1] SystemExit: 0

Habe ich gegoogelt dieser Fehler, und ich finde viele Lösungen (die meisten der Zeit für Django-Projekt).
Was ich undsertand, ist, dass ich die Notwendigkeit der Schaffung eines __init__.py - Datei.
Was ich getan habe, hier ist mein __init__.py Datei :

__all__ = ['app','get_size_dir','get_nbrf_dir','getStats'] #name of my functions
import index # my three python files
import analyz
import test-wsgi

In der __all__ Liste, dies ist der name der Funktionen, die in den drei Dateien.
Ich bin gerade versucht zu starten test-wsgi.py und bekomme den gleichen Fehler 500.

Hier ist meine test-wsgi.py Datei :

import os,sys
sys.path.append(os.path.dirname(__file__))
from cgi import escape,parse_qs
from flup.server.fcgi import WSGIServer
def app(environ, start_response):
  start_response('200 OK',[('Content-Type','text/plain; charset=utf-8')])
   yield "hello world!"
WSGIServer(app).run()

Also, was ist falsch ?
Danke,

Bearbeiten :
hier ist mein apache2 conf :

WSGIPythonPath /var/www/languageAnalyz
<VirtualHost *:80>
  ...
  <Directory /var/www/languageAnalyz/>
    Options +Indexes ExecCGI FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
    DirectoryIndex index.py
    SetHandler wsgi-script
  </Directory>
  ...
</VirtualHost>

Edit_bis :
Also versuche ich zu tun, wie ich gelesen habe auf django doc.
Ich mein apache2 conf :

WSGIPythonPath /var/www/languageAnalyz
<VirtualHost *:80>
  ...
   WSGIScriptAlias /IPA /var/www/languageAnalyz/testwsgi.py
    <Directory /var/www/languageAnalyz/>
            Options +Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            Allow from all
            DirectoryIndex testwsgi.py
    </Directory>

  ...
</VirtualHost>

Ich starten Sie apache2 neu und ich habe den gleichen Fehler, und eine weitere vor :

[Sun Aug 25 12:47:18 2013] [notice] caught SIGTERM, shutting down
[Sun Aug 25 12:47:19 2013] [notice] FastCGI: wrapper mechanism enabled (wrapper: /usr/lib/apache2/suexec)
[Sun Aug 25 12:47:19 2013] [notice] FastCGI: process manager initialized (pid 7879)
[Sun Aug 25 12:47:19 2013] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[Sun Aug 25 12:47:19 2013] [notice] mod_python: using mutex_directory /tmp
[Sun Aug 25 12:47:19 2013] [warn] mod_wsgi: Compiled for Python/2.7.3.
[Sun Aug 25 12:47:19 2013] [warn] mod_wsgi: Runtime using Python/2.7.4.
[Sun Aug 25 12:47:19 2013] [notice] Apache/2.2.22 (Ubuntu) mod_fastcgi/mod_fastcgi-SNAP-0910052141 PHP/5.4.9-4ubuntu2.2 mod_python/3.3.1 Python/2.7.4 mod_ruby/1.2.6 Ruby/1.8.7(2012-02-08) mod_wsgi/3.4 configured$
[Sun Aug 25 12:47:19 2013] [error] WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI!
[Sun Aug 25 12:47:19 2013] [error] WSGIServer: missing FastCGI param SERVER_NAME required by WSGI!
[Sun Aug 25 12:47:19 2013] [error] WSGIServer: missing FastCGI param SERVER_PORT required by WSGI!
[Sun Aug 25 12:47:19 2013] [error] WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI!
[Sun Aug 25 12:47:19 2013] [error] Status: 200 OK\r
[Sun Aug 25 12:47:19 2013] [error] Content-Type: text/plain; charset=utf-8\r
[Sun Aug 25 12:47:19 2013] [error] \r
[Sun Aug 25 12:47:19 2013] [error] hello world!
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1] mod_wsgi (pid=7884): Target WSGI script '/var/www/languageAnalyz/testwsgi.py' cannot be loaded as Python module.
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1] mod_wsgi (pid=7884): SystemExit exception raised by WSGI script '/var/www/languageAnalyz/testwsgi.py' ignored.
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1] Traceback (most recent call last):
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1]   File "/var/www/languageAnalyz/testwsgi.py", line 10, in <module>
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1]     WSGIServer(app).run()
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/flup/server/fcgi.py", line 112, in run
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1]     sock = self._setupSocket()
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 997, in _setupSocket
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1]     req.run()
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 572, in run
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1]     self._end(appStatus, protocolStatus)
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1]   File "/usr/local/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 601, in _end
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1]     sys.exit(appStatus)
[Sun Aug 25 12:47:19 2013] [error] [client 127.0.0.1] SystemExit: 0

Edit_ter :

Ok, ich habe gerade erfolgreich starten testwsgi.py. Ich mein app-Funktion in der Anwendung, und ich fügen Sie einige Zeilen am Ende :

if __name__ == '__main__':
  from wsgiref.simple_server import make_server
  server = make_server('localhost', 8080, application)
  server.serve_forever()

Ich Falle weiß nicht, warum es funktioniert, warum es nicht vor der Arbeit. ... Und nun habe ich ein problem Dateien zu öffnen, deren Pfad (config-Dateien, Vorlagen oder Dateien ...)

[Sun Aug 25 13:10:51 2013] [error] [client 127.0.0.1]   File "/var/www/languageAnalyz/analyz.py", line 22, in getStats
[Sun Aug 25 13:10:51 2013] [error] [client 127.0.0.1]     flangs=open('config/languages.yml')

Ich versuche mit absoluten Pfad, es hat nicht zu arbeiten ...

Möglicherweise möchten Sie auch auf diese Fragen suchen: stackoverflow.com/questions/17766595/... und stackoverflow.com/questions/3749331/...

InformationsquelleAutor vekah | 2013-08-25

Schreibe einen Kommentar