2016-12-10 3 views
0

Раньше я получал страницу Apache. Тогда я изменилNameError: глобальное имя 'start_responses' не определено после изменения моего файла myapp.wsgi.

/etc/apache2/sites-enabled/000-default.conf

Я добавил в верхней части, за пределами тега VirtualHost

ServerName 127.0.0.1 

Тогда прямо перед закрывающим тегом, Я добавил это:

WSGIScriptAlias//var/www/html/myapp.wsgi 
</VirtualHost> 

Это мой myapp.wsgi файл

def application(environ, start_response): 
status = '200 OK' 
output = 'Hello World!' 

response_headers= [('Content-type', 'text/plain'),('Content-Length', 
        str(len(output)))] 
start_responses(status,response_headers) 

Теперь я получаю ошибку 500 Internal Server при переходе на мой общедоступный IP-адрес.

Это мой error.log

[Sat Dec 10 16:05:36.698052 2016] [:error] [pid 12468:tid 140408204646144] [client 108.49.103.204:56866] File "/var/www/html/myapp.wsgi", line 7, in application, referer: http://35.164.22.192/ 
[Sat Dec 10 16:05:36.698079 2016] [:error] [pid 12468:tid 140408204646144] [client 108.49.103.204:56866]  start_responses(status,response_headers), referer: http://35.164.22.192/ 
[Sat Dec 10 16:05:36.698096 2016] [:error] [pid 12468:tid 140408204646144] [client 108.49.103.204:56866] NameError: global name 'start_responses' is not defined, referer: http://35.164.22.192/ 

ответ

1

Как ошибка указывает на то, что вы назвали функцию, которую вы звоните неправильно. Параметр application равен start_response, а не start_responses.

Кроме того, ServerName никогда не должен быть IP-адресом в конфигурации Apache. Предположительно, у вас есть только одно определение VirtualHost, потому что в этом случае не имеет значения, как неправильно, или Apache не может правильно соответствовать виртуальному хосту, он всегда будет обрабатывать ваш запрос в первом VirtualHost в любом случае.

+0

Спасибо. Это исправило это. Я был озадачен пока об этой ошибке. Я также удалил ServerName из конфигурации Apache, как было предложено. – John

 Смежные вопросы

  • Нет связанных вопросов^_^