Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 18, 2009 06:43:52

TheDeadOne
От: Иркутск
Зарегистрирован: 2009-12-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с deamon-режимом mod_wsgi

mrBerns# uname -a
FreeBSD mrBerns.local 6.3-RELEASE FreeBSD 6.3-RELEASE #0: Sat Mar 15 13:22:11 IRKT 2008 irk-gornostaev@pcbsd:/usr/src/sys/i386/compile/mrBerns i386

mrBerns# /usr/local/apache2/bin/httpd -v
Server version: Apache/2.2.11 (Unix)
Server built: Apr 14 2009 12:48:52

mrBerns# python -V
Python 2.5.1

mrBerns# pkg_info | grep django
py25-django-1.0.2 High-level Python Web framework
mrBerns#

mrBerns# ls Tmp/
mod_wsgi-3.1
mod_wsgi-3.1.tar.gz

mrBerns# tail -n 24 /usr/local/apache2/conf/httpd.conf
Alias /mysite/site_media "/home/irk-gornostaev/Projects/Python/djcode/mysite/media"
<Directory "/home/irk-gornostaev/Projects/Python/djcode/mysite/media">
Order allow,deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</Directory>

Alias /mysite/media "/usr/local/apache2/htdocs/media"
<Directory "/usr/local/apache2/htdocs/media">
Order allow,deny
Options Indexes FollowSymLinks
Allow from all
IndexOptions FancyIndexing
</Directory>

#WSGIDaemonProcess mysite display-name=django user=www group=www processes=5 threads=10 maximum-requests=1000 stack-size=524288
#WSGIProcessGroup mysite
WSGIPythonOptimize 2

WSGIScriptAlias /mysite "/home/irk-gornostaev/Projects/Python/djcode/mysite/apache/ep.wsgi"
<Directory "/home/irk-gornostaev/Projects/Python/djcode/mysite/apache">
Allow from all
</Directory>

mrBerns# cat /home/irk-gornostaev/Projects/Python/djcode/mysite/apache/ep.wsgi
import os, sys
sys.path.append("/usr/local/lib/python2.5/site-packages/django")
sys.path.append("/home/irk-gornostaev/Projects/Python/djcode")
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
В embeded-режиме работает отлично. Если раскоментировать строчку WSGIDaemonProcess и попытаться обратиться к http://mrBerns.local/mysite, браузер ждёт ответа около 30 секунд (в логах apache в этот момент ошибок нет), а потом выдаёт 500-ую ошибку. В этот момент в error_log появляется строка
[Thu Dec 17 19:07:55 2009] [error] [client 10.18.4.119] Premature end of script headers: ep.wsgi
Длятельные поиски в Инете ничего не дали, кроме этой ссылки http://groups.google.com/group/modwsgi/browse_thread/thread/34a4703dfef5a927/1b813142112058a8?lnk=raot Насколько я понял, у человека те же самые проблемы и решения он не нашёл.

Никто с подобным не сталкивался?



——
Один гриф, за свою жизнь, может съесть три поколения львов.

Офлайн

#2 Дек. 18, 2009 12:42:32

tezro
От:
Зарегистрирован: 2009-12-09
Сообщения: 90
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с deamon-режимом mod_wsgi

Ну так ведь там есть в теме возможные проблемы и вопросы по их поводу.

1. What is the Apache configuration you are using for mod_wsgi?

2. What is the URL you are using to make requests against the application?

3. Do you have an existing AddHandler for .py extension denoting it is
a cgi-script?

4. Have you disabled use of mod_python in same Apache installation?

5. Have you disable SELinux extensions?

6. Have you tried with a hello world WSGI application rather than some
fat Python web application/framework with lots of dependencies?



Офлайн

#3 Дек. 18, 2009 13:52:14

TheDeadOne
От: Иркутск
Зарегистрирован: 2009-12-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с deamon-режимом mod_wsgi

Методом тыка выяснил, что проблема в параметре threads. Если threads больше еденицы, возникают проблемы.



——
Один гриф, за свою жизнь, может съесть три поколения львов.

Офлайн

#4 Дек. 18, 2009 16:03:41

tezro
От:
Зарегистрирован: 2009-12-09
Сообщения: 90
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с deamon-режимом mod_wsgi

TheDeadOne
Методом тыка выяснил, что проблема в параметре threads. Если threads больше еденицы, возникают проблемы.
Хм, не верю. У меня на проекте на одном стоит processes=1 threads=5. Также работает, если 2-5 процессов по 2-5 потоков.



Офлайн

#5 Дек. 19, 2009 04:29:56

TheDeadOne
От: Иркутск
Зарегистрирован: 2009-12-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с deamon-режимом mod_wsgi

tezro
TheDeadOne
Методом тыка выяснил, что проблема в параметре threads. Если threads больше еденицы, возникают проблемы.
Хм, не верю. У меня на проекте на одном стоит processes=1 threads=5. Также работает, если 2-5 процессов по 2-5 потоков.
Может у меня что-то не работает с потоками? ОСь, Apache, Python? Сейчас, к сожалению, проверить не могу. Теперь только в понедельник.



——
Один гриф, за свою жизнь, может съесть три поколения львов.

Офлайн

#6 Дек. 21, 2009 05:17:05

TheDeadOne
От: Иркутск
Зарегистрирован: 2009-12-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с deamon-режимом mod_wsgi

Нашёл. Моя ошибка. Вот ответ:

> /usr/local/apache2/bin/httpd -V
Server version: Apache/2.2.11 (Unix)
Server built: Apr 14 2009 12:48:52
Server's Module Magic Number: 20051115:21
Server loaded: APR 1.2.8, APR-Util 1.2.8
Compiled using: APR 1.2.8, APR-Util 1.2.8
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with….
-D APACHE_MPM_DIR=“server/mpm/prefork”
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT=“/usr/local/apache2”
-D SUEXEC_BIN=“/usr/local/apache2/bin/suexec”
-D DEFAULT_PIDLOG=“logs/httpd.pid”
-D DEFAULT_SCOREBOARD=“logs/apache_runtime_status”
-D DEFAULT_LOCKFILE=“logs/accept.lock”
-D DEFAULT_ERRORLOG=“logs/error_log”
-D AP_TYPES_CONFIG_FILE=“conf/mime.types”
-D SERVER_CONFIG_FILE=“conf/httpd.conf”
>



——
Один гриф, за свою жизнь, может съесть три поколения львов.

Отредактировано (Дек. 21, 2009 05:18:02)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version