Колхозный хостинг или сколько памяти ест один инстанс nginx-а?

Фанат

oncle terrible
Команда форума
Я тут уже много лет держу впску для друзей.
И с каждым переездом все хуже понимаю, как его настраивать.
В первую очередь по разделению клиентов.
На старом, который ещё на iWhore, мне как-то удалось настроить такое разделение прав, что веб-сервер видит всех, но попытка в шелле перейти в чужой каталог вызывает ошибку доступа.
Но во-первых, мне не удаётся воспроизвести такой вариант на новом хосте, а во-вторых, я сильно подозреваю что это защита бумажная. Хотя люди все свои и особо закрываться не нужно. Скорее на случай, если кого-то одного поломают.

Отсюда возникла идея, поставить один нужникс проксей на 80/443 под www-data и несколько (штук 5-7) под собственно пользователями.
Тогда мы тупо делаем папки с доступом 700 и всем дасвидос.

И отсюда вопрос - а сколько вообще памяти кушает нужникс? Сколько их можно повесить с учетом того что еще база, а памяти 2 гига?
Как-то я с тем что показывает top/htop не дружу. там какие-то нереальные цифры, виртуальная память, и что с чем складывать я не понимаю.

Ну или как вариант - доскер, но только если я пойму его преимущество перед таким вот ручным костылём.
 

WMix

герр M:)ller
Партнер клуба
по идеи тебе не нужен прокси, все можно на одном nginx сделать (и инклудить настройки каждого сервера из нужной папки) как с докером так и без. можно даже одним fpm обойтись, если всех версия устраивает.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Отсюда возникла идея, поставить один нужникс проксей на 80/443 под www-data и несколько (штук 5-7) под собственно пользователями.
Тогда мы тупо делаем папки с доступом 700 и всем дасвидос.
А у тебя там пхп? Если да, то просто пулы разные под разными пользователями, не?
 

Фанат

oncle terrible
Команда форума
Хотя кажется сообразил.
Всем колхозникам назначается одна и та же группа, причем не та которая у веб-сервера.
и права доступа 701
таким образом соседи натыкаются на 0 и становятся посланы, а вёб-сервер перебирается через свою единичку, а дальше там унутре 666, и он нормально читает.
Это защищает колхозников друг от друга, но не от остальных ползователей сервера. Что меня вполне устраивает
 

Фанат

oncle terrible
Команда форума
А у тебя там пхп? Если да, то просто пулы разные под разными пользователями, не?
да пых-то под разными как раз, но толку-то? нужникс же не только проксирует пхп, но и статику отдаёт. То есть ему нужен доступ ко всем папкам. А если может один, то почему не могут другие? Ну то есть я выше написал, как они не могут, но это мне видится оч костыльным.
 

Фанат

oncle terrible
Команда форума
по идеи тебе не нужен прокси, все можно на одном nginx сделать (и инклудить настройки каждого сервера из нужной папки) как с докером так и без. можно даже одним fpm обойтись, если всех версия устраивает.
Так пользователь же у нужникса все равно один. ну и группа соответственно. как при одной и той же группе сделать разделение прав?
Тут весь вопрос в том чтобы один клиент не видел файлов другого. Ну то есть вечный вопрос всех шаред хостингов. Я помню во времена оппача был такой суекзек, но я так с ним и не разобрался.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
1. а для друзей точно нужен только самый дешевый хостинг? к $5 в месяц можно добавить еще $5, и за $10 в месяц получить не 2, а 4 Гб оперативки

2. управление памятью - вопрос таки сложный, в master-worker модели у процессов есть общая память, общие либы, часть либ может быть не загружена в память за ненадоностью, и есть отдельная память под каждый процесс

3. если у тебя один воркер nginx - посмотри значение RSS в top у мастера и воркера, у меня это 932 и 2956 КБ
[grigori@nitto ~]$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

[grigori@nitto ~]$ ps aux | grep ng
root 21 0.0 0.0 0 0 ? S 2020 0:21 [khungtaskd]
grigori 12349 0.0 0.2 112832 2268 pts/0 S+ 13:49 0:00 grep --color=auto ng
root 26265 0.0 0.0 57744 932 ? Ss 2021 0:00 nginx: master process nginx -g daemon off;
101 26470 0.0 0.2 58680 2956 ? S 2021 6:49 nginx: worker process

4. если вопрос уровня $5, с докером морочить себе голову не стоит

5. есть обратные прокси для embedded, например, http://tinyproxy.github.io/ который кушает 2 МБ - подойдет для балансировки между сайтами
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Так пользователь же у нужникса все равно один. ну и группа соответственно. как при одной и той же группе сделать разделение прав?
пользователи в группе с нджинксом состоят, но их корневые папки не в этой группе?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
та без разницы ж, один и тот же юзер ведь
дело вот в чем: для sftp можно включить ограничение доступа только в каталог юзера, но php будет видеть и другие папки,

с другой стороны, можно тупо запустить для каждого юзера свой php в контейнере, минимальное количество воркеров 0, монтировать в него только его домашнюю папку, и все хорошо - конфиг пишется за пол-часа, могу помочь, если хочешь
 

Фанат

oncle terrible
Команда форума
а для друзей точно нужен только самый дешевый хостинг?
Нннуууууу.... как сказать. По ресурсам там и пятидолларового хватает за глаза. А я мужик прижимистый! Иной раз пакет на кассе не возьму, и в руках продукты несу. не потому что 10 рублей нет, а потому что считаю что 10 за пакет - это дохера будет.

И только ради разделения доступа - ну вот не уверен что это имеет смысл, менять тариф.
 
  • Like
Реакции: AmdY

grigori

( ͡° ͜ʖ ͡°)
Команда форума
это не прижимистость, друг мой )))
реально, по прошлому сообщению выходит простой рабочий вариант
 

Фанат

oncle terrible
Команда форума
с другой стороны, можно тупо запустить для каждого юзера свой php в контейнере, монтировать в него только его домашнюю папку, и все хорошо - конфиг пишется за пол-часа, могу помочь, если хочешь
про sftp верно, это я забыл
но нет, тут все каналы желательно перекрыть. ну не то чтобы это прям так важно, но хочется уже сделать по-людски, а то я когда с ивхоры сбегал, там вообще ничего толком не настроил.

От помощи не откажусь, но вот опять не понимаю - пых-то как раз и так изолирован, фпм под юзером крутится.
ему-то зачем контейнер?
Вопрос именно в веб-сервере, которому нужен доступ ко всем членам кооператива.
 

Фанат

oncle terrible
Команда форума
пользователи в группе с нджинксом состоят, но их корневые папки не в этой группе?
Ну стандартный вариант конфигурации - это когда их корневые папки в одной группе с нжинксом и 770.
Плюс у меня есть вариант, который я описывал выше, корневые папки под другой группой и 701. Но мне это кажется костылём.
 

Фанат

oncle terrible
Команда форума
у меня это 932 и 2956 КБ
ну вот эти цифры меня очень даже вполне устраивают. 7х5=35 метров это вообще ни о чём.

и доскер тут имеет смысл рассматривать только в контексте простоты развертывания. но учитывая что он ест в 10 раз больше, то тут призадумаешься.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Ну стандартный вариант конфигурации - это когда их корневые папки в одной группе с нжинксом и 770.
Плюс у меня есть вариант, который я описывал выше, корневые папки под другой группой и 701. Но мне это кажется костылём.
проблема в том, что nginx не увидит файлы, которые не в его группе,
если всех юзеров добавить в его группу - они будут видеть файлы друг друга,
а если не добавить - они будут создавать файлы, которые не видит nginx
решить эту проблему можно, например, через мапинг ID юзеров, который есть у докера

можно просто забить, задать домашним каталогам другую группу, и сказать юзеры чтобы всем файлам разрешали общий доступ на чтение
 

Фанат

oncle terrible
Команда форума
проблема в том, что nginx не увидит файлы, которые не в его группе, решить эту проблему можно через мапинг ID юзеров, который есть у докера
Ну вот мы и пришли к исходному вопросу :)
У меня для него два решения:
то которое сейчас: если открыть доступ для всех, то это как-то работает :)
вариант с отдельными нжинксами
ну и третий - доскер. хотя с ним ничего мапить не нужно, это просто подвариант второго фактически: папка под юзером, контейнер под юзером, внешний нжинкс проксирует соединения.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
доскер тут имеет смысл рассматривать только в контексте простоты развертывания. но учитывая что он ест в 10 раз больше, то тут призадумаешься.
демон докера со свормом ест 120 метров, и метров 5 на контейнер,
разница в том, что шареные либы будут у каждого отдельные, но посчитать это невозможно

в соседней ветке на той неделе обсуждали редхатовские контейнеры без демона
 
Сверху