Apache2 и mod wsgi: целевой сценарий WSGI невозможно загрузить как модуль Python.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Apache2 и mod wsgi: целевой сценарий WSGI невозможно загрузить как модуль Python.

Сообщение Anonymous »

Я пытаюсь установить mod_wsgi на apache2, на ubuntu.
Поэтому я устанавливаю пакет libapache2-mod-wsgi и активирую его с помощью a2enmod.

У меня есть веб-сайт (languageAnalyz), который я пытаюсь использовать с mod_wsgi.
Когда я вызываю localhost/languageAnalyz, я получаю ошибку 500.

В журнале apache2 я вижу это:

Код: Выделить всё

[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 
[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
Я погуглил эту ошибку и нашел множество решений (в большинстве случаев для проекта Django).
Что я не понимаю, так это то, что мне нужно создать файл __init__.py.
Что я сделал, вот мой файл __init__.py:

Код: Выделить всё

__all__ = ['app','get_size_dir','get_nbrf_dir','getStats'] #name of my functions
import index # my three python files
import analyz
import test-wsgi
В списке __all__ это имена функций в трёх файлах.
Я просто пытаюсь запустить test-wsgi. py и получаю ту же ошибку 500.

Вот мой файл test-wsgi.py:

Код: Выделить всё

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()
Так что случилось?
Спасибо,

Редактировать:
вот мой конфигурация apache2:

Код: Выделить всё

WSGIPythonPath /var/www/languageAnalyz

...

Options +Indexes ExecCGI FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.py
SetHandler wsgi-script

...

Edit_bis:
Поэтому я стараюсь делать то, что прочитал в документе django.
Я меняю конфигурацию apache2 на:

Код: Выделить всё

WSGIPythonPath /var/www/languageAnalyz

...
WSGIScriptAlias /IPA /var/www/languageAnalyz/testwsgi.py

Options +Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex testwsgi.py


...

Я перезапускаю apache2 и получаю ту же ошибку и еще одну раньше:

Код: Выделить всё

[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 
[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:

Хорошо, я только что успешно запустил testwsgi.py. Я меняю функцию приложения на приложение и добавляю несколько строк в конце:

Код: Выделить всё

if __name__ == '__main__':
from wsgiref.simple_server import make_server
server = make_server('localhost', 8080, application)
server.serve_forever()
Я даже не знаю, почему это работает, почему это не работало раньше. ... И теперь у меня возникла проблема с открытием файлов по их пути (конфигурационные файлы или файлы шаблонов...)

Код: Выделить всё

[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')
Я пробовал использовать абсолютный путь, тоже не получилось...

Подробнее здесь: https://stackoverflow.com/questions/184 ... hon-module
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • В моем коде, почему это не работает: ans+=(((l*r)%mod*arr[i]%mod)%mod)%mod; но это работает-> ans = (ans + ((l * r) % mo
    Anonymous » » в форуме C++
    0 Ответы
    105 Просмотры
    Последнее сообщение Anonymous
  • Модуль Apache WSGI не запускается с помощью net start apache2.4, но работает с httpd.exe
    Anonymous » » в форуме Python
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • FileNotFoundError в приложении Python Flask, размещенном на Ubuntu-Apache с WSGI-Mod
    Anonymous » » в форуме Python
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous
  • Приложение Flask не работает с файлом apache2 wsgi
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Модуль nginx + django + docker — wsgi.py не может импортировать модуль
    Anonymous » » в форуме Python
    0 Ответы
    67 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»