Django: различия между версиями

Содержимое удалено Содержимое добавлено
м <source> -> <syntaxhighlight> (phab:T237267)
 
Строка 91:
Конфигурирация /etc/lighttpd/lighttpd.conf:
 
<sourcesyntaxhighlight lang="apache">
# lighttpd configuration file
server.modules= (
Строка 115:
"^(/.*)$" => "/mysite.fcgi$1",
)
</syntaxhighlight>
</source>
===== Запуск =====
Запускаем lighttpd
Строка 128:
 
Запустился ли fast-cgi сервер
<sourcesyntaxhighlight lang="bash">
[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>
</source>
 
Внимание файл /tmp/mysite.sock должен быть разрешен для чтения и записи пользователю, от которого запущен lighttpd (обычно тоже lighttpd)
<sourcesyntaxhighlight lang="bash">
[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>
</source>
 
Проверяем работу приложения
 
Фрагмент /tmp/mysite/urls.py
<sourcesyntaxhighlight lang="python">
...
(r'^search/$', 'mysite.books.views.search'),
...
</syntaxhighlight>
</source>
И /tmp/mysite/books/views.py
<sourcesyntaxhighlight lang="python">
...
def search(request):
Строка 160:
"query": query
})
</syntaxhighlight>
</source>
В строку адреса браузера вводим http://127.0.0.1/search/
Должна показаться страница поиска.
Строка 170:
 
Остальные опции можно получить по команде:
<sourcesyntaxhighlight lang="bash">
[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>
</source>
Последние 2 параметра удобны для поиска ошибок.
 
Строка 188:
Надо проверить что в /etc/httpd/conf/httpd.conf есть строчка
<code>Include conf.d/*.conf</code>
<sourcesyntaxhighlight lang="apache">
Listen 8080 #подслушивать порт 8080
<VirtualHost localhost:8080>
Строка 203:
 
LoadModule python_module modules/mod_python.so #загрузка модуля mod_python
</syntaxhighlight>
</source>
Можно обращаться по адресу http://localhost:8080/django/search/ выдаётся страница поиска.
 
Строка 210:
== Запуск httpd + mod_wsgi ==
Надо создать файл <code>/tmp/mysite/django.wsgi</code>
<sourcesyntaxhighlight lang="python">
#!/usr/bin/env python
 
Строка 220:
 
application = django.core.handlers.wsgi.WSGIHandler()
</syntaxhighlight>
</source>
 
И конфиг для <code>/etc/httpd/conf.d/wsgi.conf</code>
<sourcesyntaxhighlight lang="apache">
LoadModule wsgi_module modules/mod_wsgi.so
Listen 7080
Строка 229:
WSGIScriptAlias / /tmp/mysite/django.wsgi
</VirtualHost>
</syntaxhighlight>
</source>
 
Проверяем по адресу http://localhost:7080/search/ выдаётся страница поиска.