Привет, мир в mod_wsgi
После неудачного повторения в моем запросе, чтобы приложение моей флэшки запускалось на Apache с помощью mod_wsgi
, я решил попробовать запустить привет мирный пример, Вот что я имею -
Структура каталогов (я изменил apache по умолчанию /var/www
на ~/public_html
)
- public_html
- wsgi-scripts
- test_wsgi.wsgi
- test_wsgi
- test_wsgi.wsgi
файл test_wsgi.wsgi
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
Файл конфигурации VirtualHost (называемый testwsgi) - он находится в /etc/apache2/sites-enabled/
<VirtualHost *:80>
DocumentRoot ~/public_html/test_wsgi
<Directory ~/public_html/test_wsgi>
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias /wsgi ~/public_html/wsgi-scripts/test_wsgi.wsgi
<Directory ~/public_html/wsgi-scripts>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Когда я пытаюсь перейти к localhost/wsgi
в браузере, я получаю ошибку 404 Not Found. Что я делаю не так? Это первый раз, когда я пытаюсь развернуть приложение на производственном сервере. До сих пор я легко использовал Google App Engine. Я не могу приступить к развертыванию моего флеш-приложения, пока оно не будет запущено. Большое спасибо!
Ответы
Ответ 1
Вам нужно использовать абсолютный путь, т.е. не использовать ~
. Это отлично работает для меня...
[[email protected] public_html]$ sudo cat /etc/apache2/sites-available/wsgi_test
<VirtualHost *:80>
ServerName wsgihost
DocumentRoot /home/mpenning/public_html
WSGIScriptAlias / /home/mpenning/public_html/test.wsgi
</VirtualHost>
[[email protected] public_html]$
Сначала я установил имя хоста в /etc/hosts
, поэтому я мог убедиться, что могу использовать mux для имени хоста в запросе...
[[email protected] public_html]$ grep wsgihost /etc/hosts
127.0.1.1 tsunami.foo.net tsunami wsgihost
[[email protected] public_html]$
Перезапустите apache и выпустите wget...
[[email protected] public_html]$ wget http://wsgihost/
--2012-08-29 05:50:26-- http://wsgihost/
Resolving wsgihost... 127.0.1.1
Connecting to wsgihost|127.0.1.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12 [text/plain]
Saving to: âindex.html.3â
100%[======================================>] 12 --.-K/s in 0s
2012-08-29 05:50:26 (1.48 MB/s) - âindex.html.3â
[[email protected] public_html]$ cat index.html
Hello World![[email protected] public_html]$ # <------