Страница 1 из 1

apache + mod_python

Добавлено: 2008-06-23 18:50:25
shtirmuz
Добрый день !
установлен апач 2.2.х и питон 2.5 (модулем) необходимо подключить
ресурс конфиг прилагаю

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

NameVirtualHost *:8080
<VirtualHost *:8080>
    ServerName              http://www.server.ru
 


    HostnameLookups Off
    DocumentRoot            /home/dir/www
    AddDefaultCharset utf-8

    CustomLog               /home/dir/logs/apache.access.log combined
    ErrorLog                /home/dir/logs/apache.error.log

    ScriptAlias             /ed /home/dir/code/edit.py
    #ScriptAlias             /download /home/dir/code/download.py

    <Location /view>
        #SetHandler python-program
        SetHandler mod_python
        #PythonHandler mod_python.cgihandler
        PythonHandler view::handler
        PythonPath "['/home/dir/code']+sys.path"
        PythonDebug On
        PythonAutoReload Off
    </Location>
</VirtualHost>
на урл http://www.server.ru/view
выводит

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

MOD_PYTHON ERROR

ProcessId:      84745
Interpreter:    'www.server.ru'

ServerName:     'www.server.ru'
DocumentRoot:   '/home/dir/www'

URI:            '/view'
Location:       '/view'
Directory:      None
Filename:       '/home/dir/www/view'
PathInfo:       ''

Phase:          'PythonHandler'
Handler:        'view::handler'

Traceback (most recent call last):

  File "/usr/local/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch
    default=default_handler, arg=req, silent=hlist.silent)

  File "/usr/local/lib/python2.5/site-packages/mod_python/importer.py", line 1206, in _process_target
    object = apache.resolve_object(module, object_str, arg, silent=silent)

  File "/usr/local/lib/python2.5/site-packages/mod_python/apache.py", line 696, in resolve_object
    raise AttributeError, s

AttributeError: module '/home/dir/code/view.py' contains no 'handler'
Помогите разобратся с питоном дела не имел ранее

Re: apache + mod_python

Добавлено: 2008-06-23 19:01:21
hizel

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

AttributeError: module '/home/dir/code/view.py' contains no 'handler'
неможет найти точку входа handler в view.py

Re: apache + mod_python

Добавлено: 2008-06-23 19:21:19
Alex Keda
сообщения нормально оформляйте

Re: apache + mod_python

Добавлено: 2008-06-23 21:34:47
hizel
есть сЭр! :"":

Re: apache + mod_python

Добавлено: 2008-06-24 0:20:39
zingel
обновите питон

Re: apache + mod_python

Добавлено: 2010-01-12 22:52:02
ronin
Не могу запустить поддержку python в Apache
Т.е. питоновские скрипты обрабатываются как обычный текст.


Вот данные :
Apache/2.2.3 (FreeBSD) mod_ssl/2.2.3 OpenSSL/0.9.7e-p1 DAV/2 PHP/5.1.6 with Suhosin-Patch mod_fastcgi/2.4.2 mod_scgi/1.11 mod_python/3.2.10 Python/2.5

В конце в конфиге апачи добавил строчки

AddHandler mod_python .py
SetHandler mod_python
PythonDebug On

Что делаю не так? Пните куда следует меня

Re: apache + mod_python

Добавлено: 2010-01-13 10:28:53
ProFTP

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

LoadModule usertrack_module libexec/apache22/mod_python.so
?

Re: apache + mod_python

Добавлено: 2010-01-13 23:44:58
ronin
ProFTP писал(а):

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

LoadModule usertrack_module libexec/apache22/mod_python.so
?
Всем добрый день
Возникли некоторые проблемы при обработки python скриптов
в режиме fastcgi
Они или отображаются как текст или после правки апач выбивает ошибку 500 или 403
------------------------------
Уже измучался, так и не поборол. Прошу вашей помощи.
Данные, есть апач+мод-питон, сам питон2.5, mod_fastcgi, mod_fcgid, mod_rewrite

Вот что по системе Код:

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

FreeBSD *.net.ua 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Fri May 1 08:49:13 UTC 2008 root@*
--------------------------
Код:
httpd -V

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

Server version: Apache/2.2.11 (FreeBSD) 
Server built: Jul 3 2009 15:34:51 
Server's Module Magic Number: 20051115:21 
Server loaded: APR 1.3.3, APR-Util 1.3.4 
Compiled using: APR 1.3.3, APR-Util 1.3.4 
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_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" 
-D SUEXEC_BIN="/usr/local/sbin/suexec" 
-D DEFAULT_PIDLOG="/var/run/httpd.pid" 
-D DEFAULT_SCOREBOARD="/var/run/apache_runtime_status" 
-D DEFAULT_LOCKFILE="/var/run/accept.lock" 
-D DEFAULT_ERRORLOG="/var/log/httpd-error.log" 
-D AP_TYPES_CONFIG_FILE="etc/apache22/mime.types" 
-D SERVER_CONFIG_FILE="etc/apache22/httpd.conf" 
====================================

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

Apache/2.2.11 
> (FreeBSD) mod_ssl/2.2.3 OpenSSL/0.9.7e-p1 DAV/2 PHP/5.1.6 with 
> Suhosin-Patch mod_fastcgi/2.4.2 mod_scgi/1.11 mod_python/3.2.10 
> Python/2.5
=====================
В виртуал хостах накуевертил что сам уже не понял что делал.
Если брать
PythonHandler mod_python.testhandler
То работает тестовый скрипт из директории /usr/local/lib/python25/site-packages/mod_python

Мой же тестовый скрипт
зависает иили выдает пач 500 ошибку или 403

Код:

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

<Directory /usr/local/www/tr.*.net.ua/www> 
> Allow from All 
> #SetHandler fcgid-script 
> Options +ExecCGI 
> AllowOverride None 
> <IfModule mod_fcgid.c> 
> SetHandler fcgid-script 
> </IfModule> 
> </Directory> 
> 
> </VirtualHost>
Вот лог еррор: Код:

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

[Thu Jan 14 11:57:03 2010] [error] [client 10.10.27.83] FastCGI: comm with server "/usr/local/www/apache22/data/test_fcgi/test.py" aborted: idle timeout (30 sec) 
[Thu Jan 14 11:57:03 2010] [error] [client 10.10.27.83] FastCGI: incomplete headers (0 bytes) received from server "/usr/local/www/apache22/data/test_fcgi/test.py" 
[Thu Jan 14 11:57:03 2010] [error] [client 10.10.27.83] File does not exist: /usr/local/www/apache22/data/test_fcgi/favicon.ico, referer: http://192.168.8.21/test.py 
[Thu Jan 14 12:01:35 2010] [warn] FastCGI: server "/usr/local/www/apache22/data/test_fcgi/test.py" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds

Re: apache + mod_python

Добавлено: 2010-01-25 11:08:36
ronin
UP, помогите кто-то решить проблемку

Re: apache + mod_python

Добавлено: 2010-01-25 11:14:11
hizel
что вы запускаете? вы в курсе как работает fastcgi?

Re: apache + mod_python

Добавлено: 2010-01-25 12:10:49
ronin
hizel писал(а):что вы запускаете? вы в курсе как работает fastcgi?
Запускаю тестовый скрипт. Который должен отрабатываться фронтед сервером FastCGI
Но не отрабатывается, выдает ошибку 500 или 403

Re: apache + mod_python

Добавлено: 2010-01-25 12:22:54
hizel
скрипт покажите :-)

Re: apache + mod_python

Добавлено: 2010-01-25 12:26:58
ronin
hizel писал(а):скрипт покажите :-)

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

#!/usr/bin/env python
import fcgi

def app(environ, start_response):
     start_response('200 OK', [('Content-Type', 'text/html')])
     return('''<html>
     <head>
          <title>Hello World!</title>
     </head>
     <body>
          <h1>Hello world!</h1>
     </body>
</html>''')

fcgi.WSGIServer(app, bindAddress = '/tmp/fcgi.sock').run()

Re: apache + mod_python

Добавлено: 2010-01-25 12:56:02
hizel
если fcgid, то

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

LoadModule fcgid_module modules/mod_fcgid.so
<IfModule mod_fcgid.c>
    SocketPath /tmp/fcgid_sock/
    AddHandler fcgid-script .fcgi
    SharememPath /tmp/fcgid_shm
</IfModule>

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

<VirtualHost *:80>
    ServerAdmin webmaster@myvhost.org
    DocumentRoot /var/www/myapp
    ServerName www.myvhost.org

    <Location />
        Options Indexes FollowSymLinks ExecCGI Includes
        Order allow,deny
        Allow from all
        AddHandler fcgid-script .fcgi        
    </Location>

</VirtualHost>
и переобозвать в .fcgi

я правда что-то плохо понимаю, зачем тащить дуру apache для запуска fastcgi

Re: apache + mod_python

Добавлено: 2010-01-25 13:32:46
ronin
я правда что-то плохо понимаю, зачем тащить дуру apache для запуска fastcgi
Сервак заточен и работает исправно на индейце. Переводить все хосты на другой вэб-сервер нет времени и желания.

Проделал то, что вы посоветовали. Теперь мой тестовый скрипт при обращении к нему просит его открыть чем-то(закачать).
Т.е. формат py неизвестен

Re: apache + mod_python

Добавлено: 2010-01-25 13:37:41
hizel
ээ, переименовать ваш py в fcgi

Re: apache + mod_python

Добавлено: 2010-01-25 13:45:43
ronin
hizel писал(а):ээ, переименовать ваш py в fcgi
Переименовал, запустил. Индеец выдал Internal Server Error
Логи:
access_log

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

10.10.х.х - - [25/Jan/2010:13:23:50 +0000] "GET /app.fcgi HTTP/1.1" 500 543
10.10.х.х - - [25/Jan/2010:13:23:51 +0000] "GET /favicon.ico HTTP/1.1" 200 -
-------------------------
error_log

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

[Mon Jan 25 13:23:50 2010] [warn] (53)Software caused connection abort: mod_fcgid: read data from fastcgi server error.
[Mon Jan 25 13:23:50 2010] [error] [client 10.10.х.х] Premature end of script headers: app.fcgi, referer: http://*.*.net.ua/

Re: apache + mod_python

Добавлено: 2010-01-25 14:20:12
hizel
а этот скрипт у вас из консоли запускается?

Re: apache + mod_python

Добавлено: 2010-01-25 15:17:36
ronin
hizel писал(а):а этот скрипт у вас из консоли запускается?
Висит скрипт

Re: apache + mod_python

Добавлено: 2010-01-25 15:38:16
hizel
я посмотрел что это за fcgid, оказывается это демонятко который из cgi делает fastcgi, тоесть скрипты ему надо писать в стиле cgi :shock:

Re: apache + mod_python

Добавлено: 2010-01-25 16:01:24
ronin
hizel писал(а):я посмотрел что это за fcgid, оказывается это демонятко который из cgi делает fastcgi, тоесть скрипты ему надо писать в стиле cgi :shock:
А по-русски для особых можно написать более доступно?

Re: apache + mod_python

Добавлено: 2010-01-25 17:01:17
hizel
по русски сложно :-)

вам нужен mod_fastcgi, тут http://www.electricmonk.nl/docs/apache_ ... ython.html разжовано

Re: apache + mod_python

Добавлено: 2010-01-25 17:06:52
ronin
hizel писал(а):по русски сложно :-)

вам нужен mod_fastcgi, тут http://www.electricmonk.nl/docs/apache_ ... ython.html разжовано
В точности делал по мануалу. На Сьюзи 10.2 работает ,на Фри 7.2 и 6.2 не пашет

Re: apache + mod_python

Добавлено: 2010-01-26 16:59:57
ronin
UP