Nginx, Gunicorn, Virtualenv и Django - 403 Запрещено - PullRequest
1 голос
/ 04 октября 2011

Я не эксперт по Linux.Просто настраиваю свой собственный сервер для моих сайтов Django.

Насколько я понимаю, потому что у пользователя нет прав доступа?Если да, то о какой пользовательской программе мы говорим?

Неужели у "пользователя" нет прав на чтение этого каталога с приложением?

Я следовал этому уроку: Учебник

Ответы [ 2 ]

2 голосов
/ 04 октября 2011

Мы говорим о пользователе, под которым работает Gunicorn (ваш сервер приложений). Чтобы проверить, запустите htop в командной строке и найдите процесс gunicorn. В идеале он должен работать под своим собственным пользователем (gunicorn: gunicorn), и вы должны убедиться, что папка проекта вашего приложения должным образом защищена - большинство файлов должно быть только для чтения (для gunicorn), но вам также нужен gunicorn, чтобы иметь возможность записи в мультимедийная папка (в случае загрузки пользователем и т. д.) Вам просто нужно убедиться, что файлы не могут быть записаны никому, кроме gunicorn (т.е. 755)

фю:

Nginx - это веб-сервер / прокси, и он настроен на передачу любых соединений, которые запрашивают ваше приложение (например, через http://myapp.com), на сервер приложений, который является gunicorn. Gunicorn, в свою очередь, настроен для запуска Django, который сидит в прекрасном виртуальном окружении.

Supervisor (упомянутый в статье) - это приложение на Python для запуска, остановки и управления всеми вышеперечисленными процессами, которое очень удобно.

1 голос
/ 21 декабря 2011

Я нашел эту статью намного проще и понятнее.http://honza.ca/2011/05/deploying-django-with-nginx-and-gunicorn.Строго следуйте этому, и у вас не должно возникнуть проблем

...