Подтвердить что ты не робот

Развертывание проекта Django с помощью Gunicorn и nginx

Я новичок в django, я хотел бы знать, как настроить проект django с nginx и gunicorn. Я прочитал это руководство: http://michal.karzynski.pl/blog/2013/06/09/django-nginx-gunicorn-virtualenv-supervisor/ но это не работает для моего проекта. Я думаю, что это связано с конкретной структурой моего проекта, то есть:

├──icecream
│   ├── settings
│   |    ├── __init.py
│   |    ├── base.py
│   |    ├── local.py
│   |    ├── production.py
│   ├── __init__.py
│   ├── urls.py
│   ├── wsgi.py
├── manage.py

Я получил этот макет: https://github.com/twoscoops/django-twoscoops-project. Кто-нибудь может мне помочь? спасибо

4b9b3361

Ответ 1

Я просто суммирую шаги для развертывания приложения django с nginx и gunicorn здесь:

1. Установите nginx и добавьте его в /etc/nginx/sites-enabled/default

server {

  server_name 127.0.0.1 [email protected];
  access_log /var/log/nginx/domain-access.log;

  location / {
    proxy_pass_header Server;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_set_header X-Forwarded-For  $remote_addr;
    proxy_set_header X-Scheme $scheme;
    proxy_connect_timeout 10;
    proxy_read_timeout 10;

    # This line is important as it tells nginx to channel all requests to port 8000.
    # We will later run our wsgi application on this port using gunicorn.
    proxy_pass http://127.0.0.1:8000/;
  }

}

2. Установить оружие-стрелок

$ pip install gunicorn

3. Запустите проект django с использованием gunicorn и файла wsgi.py

$ cd </path/to/djangoproject_subdirectory_with_wsgi.py>

$ gunicorn wsgi -b 127.0.0.1:8000 --pid /tmp/gunicorn.pid --daemon

# --daemon parameter tells gunicorn to run in the background
# So that gunicorn continues to run even if you close your ssh session
# (You cannot remain ssh-ed into your server all the time right!)

Пожалуйста, не используйте "wsgi.py"; вам просто нужно использовать wsgi без расширения ".py" при вызове gunicorn. Это запустит ваше приложение wsgi в фоновом режиме.

4. Посетите "[email protected]" в своем браузере

Теперь ваше приложение должно быть запущено и запущено на вашем экземпляре. Посещение:

http://[email protected]/

и посмотрите, работает ли ваше приложение. Не забудьте повторно перенести ваш[email protected] в выше и в файле конфигурации nginx.

5. (Дополнительно) Дополнительные примечания

  • На шаге 1, если запутать; удалите все существующие строки из файла /etc/nginx/sites-enabled/default и поместите в него вышеуказанный код. (Или удалите и создайте новый пустой файл и добавьте код)

  • Если вы используете virtualenv, и вы выполнили pip install gunicorn внутри virtualenv на шаге 2, запустите команду Step 3 с соответствующим активированным виртуальным пользователем.

  • pid процесса стрельбы хранится в /tmp/gunicorn.pid; если вы хотите убить существующий процесс увольнения и перезапустить его.

  • supervisord может использоваться в сочетании, что помогает автоматически перезапустить демона пушки, если он по какой-то причине умирает. Это полезно в производственных средах.

Ответ 3

Пожалуйста, используйте эту ссылку для простого руководства. который помогает вам легко развертываться, и вы также можете найти, как с ним работать. ССЫЛКА ЗДЕСЬ