Skip to content

Latest commit

 

History

History
58 lines (46 loc) · 3.13 KB

File metadata and controls

58 lines (46 loc) · 3.13 KB
Как запустить на Stepic последнюю версию Django на Python 3 и всё это через конфигурационные файлы Gunicorn.

Python 3 в системе уже есть. Необходимо только установить для него последние версии Django и Gunicorn.

sudo pip3 install django
sudo pip3 install gunicorn

У меня установился Gunicorn версии 19.5.0 запомните это число. Теперь необходимо заменить встроенный в систему Gunicorn 17.0, работающий через Python 2, на наш новый. Для этого необходимо отредактировать содержимое 4 файлов (вероятно достаточно исправления только двух, но я исправлял все). Помните, что файлы системные и запускать команду на их изменение, например, nano нужно с префиксом sudo.

/usr/sbin/gunicorn-debian
/usr/bin/gunicorn
/usr/bin/gunicorn_django
/usr/bin/gunicorn_paster

В первом файле достаточно лишь заменить python на python3 в конце самой первой строки. В остальных помимо этого нужно ещё и заменить версию Gunicron 17.5 на 19.5.0 (или какая установилась у вас).

В комментариях на Stepic одной из самых обсуждаемых тем является запуск Gunicorn при помощи конфигурационных файлов. Но решения, в основном, сводятся к тому, как же обойтись вовсе без конфигурационного файла, и просто запустить его из командной строки, как это делается в сотнях руководств в сети Internet. Если вы всё же хотите запустить Gunicorn "правильно", то можете подсмотреть в мой конфигурационный файл. Обратите внимание, что последние версии Django следует запускать не в режиме 'django', а в режиме обычного 'wsgi', как вы делали со своим приложением на прошлой неделе.

  'mode': 'wsgi',

Для проверки того, что оба сервера (и ваше простейшее wsgi-приложение, и Django) нормально стартовали, можно использовать команды

curl http://127.0.0.1/hello/?a=bcd
curl http://127.0.0.1/question/123/

А для запуска Django вообще без Gunicorn (в целях отладки, а не для того, чтобы обмануть проверяющую систему и побыстрее сдать задание)

python3 manage.py runserver 0.0.0.0:8000