Форум сайта python.su
Запускаю скрипт типа helloworld под mod_wsgi. Выполняется. Вношу небольшие изменения, обновляю страницу, изменений нет.
Ладно, дописываю в url дополнительный произвольный параметр. Изменения появляются. Значит, есть какое-то кэширование.
Пытаюсь читать документацию к mod_wsgi. Там много написано про режим, что mod_wsgi может работать в embedded или daemon режиме. Что в разных режимах перезагрузка происходит по разному. Сделал вывод, что мне надо, чтобы скрипт работал в режиме embedded.
Выставил настройки в sites-available:
WSGIScriptReloading Onне помогает. Значит, не понял, что делаю.
WSGIReloadMechanism Module
Офлайн
touch run_file.wsgi
Офлайн
и что мне с этим “run_file.wsgi” делать?
Офлайн
А покажиите весь конфиг и скрипт.
Офлайн
<Directory /var/www/dev_python/wsgi>
Options ExecCGI
AddHandler wsgi-script .py
WSGIScriptReloading On
WSGIReloadMechanism Module
DirectoryIndex index.html index.py
PythonDebug On
Order allow,deny
Allow from all
</Directory>
Офлайн
# -*- coding: utf-8 -*-
from wsgilog import log
import sys
@log(tohtml=True, tostream=True, toprint=True)
def application(environ, start_response):
status = '200 OK'
output = str( sys.path )
response_headers = [('Content-type', 'text/html')]
#('Content-Length', str(len(output)))]
start_response(status, response_headers)
return output
<type ‘exceptions.NameError’>: global name ‘sys’ is not defined
args = (“global name ‘sys’ is not defined”,)
message = “global name ‘sys’ is not defined”
Офлайн
или вот так, если делать другую ошибку:
9 a = 1/0
10 response_headers =
11 #('Content-Length', str(len(output)))]
a undefined
<type ‘exceptions.ZeroDivisionError’>: integer division or modulo by zero
args = ('integer division or modulo by zero',)
message = ‘integer division or modulo by zero’
Офлайн
slav0nicпрочитал про touch.
touch run_file.wsgi
Офлайн
попробуй такой конфиг апача, он у меня стабильн работает
Офлайн