Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 27, 2011 07:25:54

Семён
От:
Зарегистрирован: 2011-12-27
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Pyton2.6+mod_pymssql(ver. 1.0.2)+Apache2.2+Centos 6+MS SQL Server 2008

Понимаю,что тупой вопрос, но не могу понять почему не работает написанный скрипт через web(url:www.localhost/py/sw.py),когда в консольном режиме работает всё нормально, как только пытаюсь исполнить скрипт через web, то клиент получает ошибку 500 internal server error.

С нуля всё устанавливал:
1)использовал centos 6.0
2)pymssql v.1.0.2
3)httpd v.2.2.15

——
Скрипт:
/var/www/html/py/sw.py
—-
import pymssql

def application(environ, start_response):
status = ‘200 OK’
response_headers =
start_response(status, response_headers)
r=tet()
return r

def tet():
konn=pymssql.connect(host='SEM', user='user1', password='wer', database='baza1', as_dict=True)
cur=konn.cursor()
myquery=“SELECT * FROM dbo.tabl1 ”
cur.execute(myquery)
data=cur.fetchall()
s=“”
for rec in data:
s=s+rec
konn.close
return str(s)

Пробую обратиться через браузер прямо с этой же host'a к данному скрипту(url:www.localhost/py/sw.py). Выходит ошибка 500
Смотрю логи WEB-сервера.
Логирование возникших ошибок:
/var/log/httpd/error_log
————
mod_wsgi (pid=3768): Exception occurred processing WSGI script ‘/var/www/html/py/sw.py’.
Traceback (most recent call last):
File “/var/www/html/py/sw.py”, line 7, in application
r=tet()
File “/var/www/html/py/sw.py”, line 12, in test
konn=pymssql.connect(host='SEM', user='user1', password='wer', database='baza1', as_dict=True)
File “/usr/lib/python2.6/site-packages/pymssql.py”, line 607, in connect
raise OperationalError, e
OperationalError: DB-Lib error message 20009, severity 9:
Server is unavailable or does not exist.



———-
конфига Apach'a:
———————————————————–
/etc/httpd/conf/httpd.conf
—-
отрывок:
…..
Include conf.d/*.conf
…..
<Directory /var/www/html/>
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>

WSGIScriptAlias /py /var/www/html/pt/sw.py
….
—————————————————————-
/etc/httpd/conf.d/wsgi.conf
———–
LoadModule wsgi_module modules/mod_wsgi.so
—————————————————————–


ранее с питоном дело не имел…что я сделал не так или что необходиом ещё сделать.чтобы скрипт мог исполняться черeз web.
цель всего-это разобраться как реализовывается связка python2.6+pymssql+httpd2.2+centos6.0+mssql server 2008, чтобы получать результат sql-запросов клиенту
Заранее благодарен за любую информацию в данном направлении.



Офлайн

#2 Дек. 27, 2011 09:24:53

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Pyton2.6+mod_pymssql(ver. 1.0.2)+Apache2.2+Centos 6+MS SQL Server 2008

OperationalError: DB-Lib error message 20009, severity 9:
Server is unavailable or does not exist.
?

Офлайн

#3 Дек. 28, 2011 00:02:23

Семён
От:
Зарегистрирован: 2011-12-27
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Pyton2.6+mod_pymssql(ver. 1.0.2)+Apache2.2+Centos 6+MS SQL Server 2008

А что здесь?
это я пивёл содержание лога ошибок web-cервера apache , который установлен на Centos 6.0
вот где он распологается:
/var/log/httpd/error_log

не могу понять почему не получаю результат в браузере( вданном случае браузер использую прямо на самом сервере,где крутится apache , т.е. от localhost'a), а если в скрипте в конце дописать print tet() и запустить скрипт в консольном режиме, т.е. #python /var/www/html/py/sw.py , то результат вываливается в терминал без проблем…почему же web не жуёт не пойму.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version