Django: различия между версиями
Содержимое удалено Содержимое добавлено
DannyS712 (обсуждение | вклад) м <source> -> <syntaxhighlight> (phab:T237267) |
|||
Строка 91:
Конфигурирация /etc/lighttpd/lighttpd.conf:
<
# lighttpd configuration file
server.modules= (
Строка 115:
"^(/.*)$" => "/mysite.fcgi$1",
)
</syntaxhighlight>
===== Запуск =====
Запускаем lighttpd
Строка 128:
Запустился ли fast-cgi сервер
<
[mapcuk@fabrica-35 tmp]$ ps ax | fgrep python
5170 ? S 0:00 python ./mysite/manage.py runfcgi socket=/tmp/mysite.sock
5171 ? S 0:00 python ./mysite/manage.py runfcgi socket=/tmp/mysite.sock
...
</syntaxhighlight>
Внимание файл /tmp/mysite.sock должен быть разрешен для чтения и записи пользователю, от которого запущен lighttpd (обычно тоже lighttpd)
<
[mapcuk@fabrica-35 tmp]$ ps aux | fgrep lighttpd
lighttpd 4853 0.0 0.1 6584 1124 ? S 11:37 0:00 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
mapcuk 5134 0.0 0.0 4244 704 pts/3 S+ 13:32 0:00 fgrep lighttpd
</syntaxhighlight>
Проверяем работу приложения
Фрагмент /tmp/mysite/urls.py
<
...
(r'^search/$', 'mysite.books.views.search'),
...
</syntaxhighlight>
И /tmp/mysite/books/views.py
<
...
def search(request):
Строка 160:
"query": query
})
</syntaxhighlight>
В строку адреса браузера вводим http://127.0.0.1/search/
Должна показаться страница поиска.
Строка 170:
Остальные опции можно получить по команде:
<
[mapcuk@fabrica-35 ~]$ python /tmp/mysite/manage.py help runfcgi
protocol=PROTOCOL fcgi, scgi, ajp, ... (default fcgi)
Строка 179:
outlog=FILE write stdout to this file.
errlog=FILE write stderr to this file.
</syntaxhighlight>
Последние 2 параметра удобны для поиска ошибок.
Строка 188:
Надо проверить что в /etc/httpd/conf/httpd.conf есть строчка
<code>Include conf.d/*.conf</code>
<
Listen 8080 #подслушивать порт 8080
<VirtualHost localhost:8080>
Строка 203:
LoadModule python_module modules/mod_python.so #загрузка модуля mod_python
</syntaxhighlight>
Можно обращаться по адресу http://localhost:8080/django/search/ выдаётся страница поиска.
Строка 210:
== Запуск httpd + mod_wsgi ==
Надо создать файл <code>/tmp/mysite/django.wsgi</code>
<
#!/usr/bin/env python
Строка 220:
application = django.core.handlers.wsgi.WSGIHandler()
</syntaxhighlight>
И конфиг для <code>/etc/httpd/conf.d/wsgi.conf</code>
<
LoadModule wsgi_module modules/mod_wsgi.so
Listen 7080
Строка 229:
WSGIScriptAlias / /tmp/mysite/django.wsgi
</VirtualHost>
</syntaxhighlight>
Проверяем по адресу http://localhost:7080/search/ выдаётся страница поиска.
|