LVE (Lightweight Virtual Environment) Ограничения
CloudLinux използва LVE технология, за да не позволява на един сайт да използва прекалено много ресурси на сървъра. Това гарантира, че ако един сайт “натоварва”, няма да засегне другите на същия сървър.
Може да се ограничават:
- Скорост на процесора (CPU SPEED)
- Оперативна памет (Memory)
- Дисков вход/изход (IO и IOPS)
- Процеси (Entry processes и обикновени процеси)
- Брой файлове (Inodes)
- Мрежов трафик
MySQL Governor
Това е инструмент за контрол на използването на MySQL от различни потребители на сървъра. Особено полезен за споделен хостинг, където много сайтове използват една база данни.
Какво прави:
- Следи натоварването на базата за всеки потребител.
- Може да спре заявки, които отнемат прекалено дълго време (напр. бавни SELECT-и).
- Поддържа различни режими: само наблюдение или активен контрол.
Може да ограничава:
- CPU в % – напр. 150% = 1.5 ядра.
- Прочетени байтове от диска – кешираното не се брои.
- Записани байтове на диска – също само реално записаното.
Гъвкави периоди: Можеш да настроиш различни лимити за 1 секунда, 1 минута и т.н. Така се позволява кратко натоварване, но не и продължително претоварване.
Когато потребител прекали с ресурсите, се мести в специална група с ограничени ресурси и до 30 MySQL връзки, за да не блокира целия сървър.
Инсталиране и Настройка
Инсталация в Ubuntu:
Работи само с cl-MySQL80 (вкл. cPanel).
Команди за инсталация:
bash
КопиранеРедактиране
apt install governor-mysql
/usr/share/lve/dbgovernor/mysqlgovernor.py –install –yes
След инсталацията, трябва да се настрои файл, който казва коя MySQL база е на кой потребител. Това става автоматично при control panel-и, но на ръка при сървъри без панел.
Примерен формат:
db_user1 account1 UID1
db_user2 account2 UID2
За проверка на текущото натоварване:
dbtop
Премахване на MySQL Governor
/usr/share/lve/dbgovernor/mysqlgovernor.py –delete
Уеб интерфейс – CloudLinux Manager
Dashboard (Табло): Бърз преглед на:
- Колко потребители са достигнали лимити
- Колко реселъри са надвишили ресурси
- PHP версия, статус на CageFS (защита на файловата система)
Интерфейси:
- Администратор: вижда всичко, контролира лимити, статистики, пакети, PHP версии и др.
- Реселър: вижда потребителите си и тяхното използване.
- Краен потребител: вижда собственото си използване на ресурси и може да сменя PHP версия чрез PHP Selector.
LVE Wrappers
Това са команди, които позволяват изпълнението на скриптове вътре в LVE средата (например lve_wrapper, lve_suwrapper).
CageFS
CageFS изолира потребителите един от друг. Така всеки потребител “вижда” само своята част от системата и не може да достъпва или повлияе на другите.
PHP Selector
Позволява на потребителите да избират PHP версията си (от 5.5 до 8.2), както и кои модули да се включат или изключат.
mod_hostinglimits
Това е модул за Apache, който вкарва всяка заявка в LVE контейнер. Ако сайт използва прекалено много ресурси, започва да връща грешки като:
- 508 — когато достигне броя allowed връзки.
- 500/503 — когато няма достатъчно памет или процеси.
Различни варианти за PHP
- ea-php81 с php-fpm:
bash
КопиранеРедактиране
apt install ea-php81*
- alt-php с suphp или cgi:
apt install ea-apache24-mod-suphp ea-apache24-mod-suexec
apt install alt-php74
mod_lsapi (по-бърза работа на PHP)
По-бърза алтернатива на suPHP. Инсталация:
apt install liblsapi liblsapi-dev
apt install ea-apache24-mod-lsapi
/usr/bin/switch_mod_lsapi –setup
service apache2 restart
Проблеми с 503: Увери се, че /opt има правилни права:
chmod 755 /opt
Защити на файловата система
CloudLinux включва допълнителна защита:
- Срещу опасни symlink връзки
- Ограничаване на линковете само до собственика
- Защита при препратки между файлове и директории