Найти - Пользователи
Полная версия: python2.6+apache+wsgi помогите разобраться
Начало » Web » python2.6+apache+wsgi помогите разобраться
1
Mistral
Здравствуйте!
Есть проект написанный на python. Его суть в том что по таймеру в таблицу, в веб-браузере, добавляется строчка, путем запроса на сервер и обработки запроса wsgi скриптом.

Файл хоста:
 <VirtualHost *:80>
ServerAdmin webmaster@localhost
##Каталог с вашими документами
DocumentRoot /var/www/test/
##Имя сервера
ServerName test
##Логфайлы
ErrorLog /var/log/apache2/hosts/test-error.log
CustomLog /var/log/apache2/hosts/test-access.log combined
##Показывать или нет сигнатуру сервера
ServerSignature Off
WSGIProcessGroup nice
WSGIDaemonProcess nice user=nice group=nice threads=2 maximum-requests=1000
WSGIScriptAlias /indexl.html /var/www/test/index.wsgi
##Доступ к файлам
<Directory /var/www/test/>
Order Deny,Allow
Deny from all
#Allow from 127.0.0.0/24
Allow from all
</Directory>
</VirtualHost>
Файл index.wsgi
#!/usr/bin/python

def my_wsgi_application(environ,start_response):
import sys

s= 'Hello'
status = '200 OK'
test = 'welcome YA.RU'
s='<?xml version="1.0"?><HI>Hello =) \n</HI>'

output = s

response_headers = [('Content-type','text/xml')]
start_response(status,response_headers)
return [output]
application=my_wsgi_application
Проблема в том, что при обращении к проекту с другого компьютера wsgi скрипт не выполняется. В чем проблема или Ваши идеи? Заранее спасибо!
Была выполнена операция chmod a+x index.wsgi поэтому доступ на выполнения скрипта есть.
o7412369815963
если локально работает, а с другого компа - нет, то может фаервол режет или ещё что…
а вообще вот рабочий пример wsgi+apache
Mistral
фаервол здесь не причем… просто скрипт WSGI не хочет исполнятся по каким то причинам связанным с настройками Apache и WSGI … ошибок в лог файле нет…
Александр Кошелев
На каком адресе и порту слушает апач?
Mistral
порт и адрес указаны в файлах port.conf и /etc/hosts: 80 и IP получаемый от DHCP
Apache был пере установлен и проводился тест на другом компьютере, результат один и тот же. Вместо результата работы скрипта Apache выдает #!/usr/bin/python
Lexander
Судя по всему не отрабатывает строка WSGIScriptAlias /indexl.html /var/www/test/index.wsgi

Попробуйте указать не отдельный скрипт, а всю директорию или сделать то же альтернативным способом через Alias или

<Directory /var/www/test/index.wsgi>
SetHandler wsgi-script
Options ExecCGI
</Directory>
Mistral
данная рекомендация не дала результата….
Mistral
Проблема была решена таким образом:

<VirtualHost 192.168.0.183:80>
ServerAdmin webmaster@localhost
т.е. просто был указан конкретный IP компьютера сервера.

Остался вопрос можно ли решить эту проблему как то по другому?
o7412369815963
если: ServerName test

то подключаться нужно по адресу http://test
и он должен быть прописан в dns, либо в /etc/hosts если нужно подключаться с локального компа
o7412369815963
это сделано для того что-бы на одном порту одного ip, можно было повесить 2 и более виртуал хоста
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB