LINUX.ORG.RU

Правильная установка сторонних программ в Debian

 , , ,


0

1

Поделитесь опытом, как правильно поставить на web-сервер nginx+uwsgi+django. Я посмотрел много разных ресурсов и везде это делают по разному: кто-то ставит nginx из репозитария debian, кто-то из репозитария nginx; uwsgi и django ставят через pip, ставят через apt, ставят в отдельный каталог и т.д… Плюс некоторые еще и сам питон скачивают отдельно и ставят в свой каталог. Скажите как это сделать лучше всего, чтоб потом не поиметь геморроя с обновлениями и зависимости.

В первую очередь интересует вариант без виртуализации и контейнеров.

Ставь всё, кроме Джанги, из реп Дебиана. Джангу через pip. Это самый простой вариант.

gruy ★★★★★
()
Последнее исправление: gruy (всего исправлений: 1)

В gentoo советуют избегать использовать pip напрямую, а если все же использовать, то от пользователя типа pip install --user <package>.

boowai ★★★★
()
Ответ на: комментарий от gruy

А если я, к примеру, создам в корне диска отдельный каталог, например /server, и поставлю туда отдельно python+uwsgi+django, к каким последствиям это может привести?

Ignis-z
() автор топика
Ответ на: комментарий от boowai

А какой профит от того, что я буду делать это от другого пользователя?

Ignis-z
() автор топика
Ответ на: комментарий от eternal_sorrow

venv на сколько я понимаю, это больше для разработки, его ведь вроде нельзя поставить на автозагрузку в systemd, или я ошибаюсь?

Ignis-z
() автор топика
Ответ на: комментарий от Ignis-z

venv на сколько я понимаю, это больше для разработки

неправильно понимаешь

его ведь вроде нельзя поставить на автозагрузку в systemd

что именно ты хочешь поставить на автозагрузку? и в чём проблема?

eternal_sorrow ★★★★★
()
Ответ на: комментарий от Ignis-z

Это СПО, тут слово «нельзя» неприменимо.
Всё льзя, вопрос только как это сделать.
С венвом всё просто — установи нужные переменные окружения и используй нужный бинарь изнутри своего венва.
Ну и ещё чего там у тебя может быть внутри активейта, но для джанги с увсги этого должно быть достаточно.

И это не только для системд, в любом менеджере сервисов так будет работать.

УПД: вообще надо венв указывать в конфиге увсги в таком тандеме, да.
Потому что системд спавнит его, а он уже спавнит джангу.

Goury ★★★★★
()
Последнее исправление: Goury (всего исправлений: 2)
Ответ на: комментарий от eternal_sorrow

К примеру у меня есть каталог /www в нем я запускаю python3 -m venv env, активирую его и накатываю через pip uwgi и django. Все настраиваю, проверяю и хочу теперь, чтобы при загрузке сервака вся эта связка стартовала автоматически. Я могу создать service-файл для systemd, который будет активировать виртуальное окружение и запускать uwsgi?

Ignis-z
() автор топика
Ответ на: комментарий от Goury

Я просто прочитал на Хабре статью «Django на production. uWSGI + nginx.» и там сначала все делают в venv, проверяют, а в конце устанавливают uwsgi глобально. В чем тогда смысл этого, если можно и в венве запускать?

Ignis-z
() автор топика
Ответ на: комментарий от Ignis-z

наверно можно, но проще установить uwsgi через apt, и уже в конфиге uwsgi указать путь к окружению.

а ещё лучше вместо uwsgi изпользовать gunicorn

eternal_sorrow ★★★★★
()
Ответ на: комментарий от eternal_sorrow

gunicorn я обязательно попробую. Сейчас-же вопрос не в том, что лучше uwsgi или gunicorn, а в том как это все лучше установить. Не получится ли так, что используя всё кроме джанги из официальных репозитариев, я потом столкнусь с тем, что какой-нибудь новой версии джанги понадобится новый питон или старый uwsgi будет плохо совместим с новой джангой и т.п…

Ignis-z
() автор топика
Ответ на: комментарий от Ignis-z

Именно так и будет.
Новой Джанге однажды понадобится более новый питон.
Не только по этому, но и по этому тоже держать её надо в венве.

Goury ★★★★★
()
Ответ на: комментарий от Goury

В том что автор — безграмотная рукожопая макака или просто менеджер

Бабушка в шоке. Вам вопрос задали, а вы - рукожоп. ДАвай выше отвечай, что да как, а мы почитаем.

BaBa_Galya
()
Ответ на: комментарий от Ignis-z

Всё правильно пишешь. Бабуся одобряет. Пацанчики выше советуют что-то. Я тоже присоединюсь.

еСть соф, написан на определенной версии Django, Python и так далее. Рекомендуется установить программы именно данной версии. Как? Читаем на сайтах ПО. Я всё сказала.

BaBa_Galya
()
Ответ на: комментарий от Ignis-z

даже если ты создашь /server, в помойку превратится всё, начиная с /

xavaco5033
()
Ответ на: комментарий от Ignis-z

Просто запускаешь /www/venv/bin/python yourapp.py

Если это какой-нибудь gunicorn установленный в venv тоже прописываешь /www/venv/bin/gunicorn

Окружение само подцепится

pawnhearts ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.