Я пытаюсь запустить приложение web.py
на моем сервере Apache. Но я получил ошибку wsgi, когда пытаюсь вызвать любую услугу REST. Ниже мой код:Не удается вызвать приложение web.py: wsgifunc() failed
urls = (
'/publication/(.*)', 'PublicationStats',
'/author/(.*)', 'AuthorStats',
'/department/(.*)', 'DepartmentStats'
)
application = web.application(urls, globals()).wsgifunc()
...
if __name__ == "__main__":
#web.config.debug = True
application.run()
Когда я попытался назвать мой REST API как /author/Smith, John
, мой сервер Apache генерировать странную ошибку о WSGI:
[Thu Oct 27 15:54:28.614753 2016] [cgi:error] [pid 2979] [client 130.104.xxx.xxx:62194] AH01215: Traceback (most recent call last):, referer: http://test.dial.uclouvain.be/swagger/
[Thu Oct 27 15:54:28.614841 2016] [cgi:error] [pid 2979] [client 130.104.xxx.xxx:62194] AH01215: File "/var/www/html/api/dilbert/api.py", line 377, in <module>, referer: http://localhost/swagger/
[Thu Oct 27 15:54:28.614856 2016] [cgi:error] [pid 2979] [client 130.104.xxx.xxx:62194] AH01215: application.run(), referer: http://localhost/swagger/
[Thu Oct 27 15:54:28.614877 2016] [cgi:error] [pid 2979] [client 130.104.xxx.xxx:62194] AH01215: AttributeError: 'function' object has no attribute 'run', referer: http://localhost/swagger/
[Thu Oct 27 15:54:28.636844 2016] [cgi:error] [pid 2979] [client 130.104.xxx.xxx:62194] End of script output before headers: api.py, referer: http://localhost/swagger/
Если я использую только «web.application(urls, globals())
» он работает. Но мне нужно использовать wsgifunc, потому что мне нужно получить доступ к web.ctx.env
variable.
mod_wsgi
хорошо установлен на Apache. Кажется, прекрасно работает ... Надеюсь.
Спасибо за вашу помощь
Renaud
Для меня это звучит как соответствующий обработчик не используется для сценария , В вашем файле '.htaccess' у вас есть' SetHandler wsgi-script' для этого скрипта? – sytech