Установка и настройка VPS c ОС Ubuntu или Debian
Еще не купили / арендовали VPS? Изучите статью “Как выбрать VPS, панель управления и Web-сервер“. Пришло время настроить VPS на максимальную производительность. Рассмотрим процесс настройки сервера на базе Debian / Ubuntu. ОС установлена (это делается в панели управления хостингом).
Обновление и настройка ПО на сервере
Вход через ssh:
Пользователь – чаще всего root (не является безопасным). Вместо ip вводите адрес сервера. Все данные входа должен дать хостер. У серьезных хостеров вход по ssh ключам. Команда подключения:
ssh пользователь@ip
Подключение успешно:

Обновите сервер:
apt update && apt upgrade
apt install atop mc
Файловая система
Настройте файловую систему. VPS, внезапное отключение электричества не грозит. Некоторое снижение надежности файловой системы не критично. Прирост скорости операций с диском – 10-15 процентов.
Существует три разных варианта журналирования файловой системы ext4:
- Journal Mode (медленный, наиболее безопасный)
- Ordered Mode (средняя скорость, безопасный, опция по умолчанию)
- Writeback Mode (быстрый, относительно безопасный)
Узнаем имя диска на виртуальной машине:
df -h
Наш диск – /dev/vda2. Тюним его:
tune2fs -o journal_data_writeback /dev/vda2
Открываем /etc/fstab, вносим изменения. Добавляем noatime, nodiratime, noacl, data=writeback, commit=15, barrier=0. Файл до редактирования:
/dev/vda2 / ext4 errors=remount-ro 0 1
После редактирования:
/dev/vda2 / ext4 noatime,nodiratime,noacl,data=writeback,commit=15, barrier=0,errors=remount-ro 0 1
Редактируем /etc/default/grub – добавляем rootflags=data=writeback.
Новая версия: GRUB_CMDLINE_LINUX_DEFAULT=”quiet elevator=noop fsck.repair=yes rootflags=data=writeback”
mcedit /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet elevator=noop fsck.repair=yes rootflags=data=writeback"
Обновляем загрузчик, перезагружаем систему:
update-grub
reboot
Если файловая система не доступна для записи…
mount -no remount,rw /dev/vda1(vda1 замените на свой диск) – файловая система теперь доступна для записи.
Подключаемся к серверу, продолжаем настройку. Значения параметров определяющих быстродействие измените на оптимальные. Установите лимиты открытия файлов, потребления ресурсов:
Лимиты
Внесем изменения в файл /etc/sysctl.conf
mcedit /etc/sysctl.conf
Добавим в конец файла (не забыв сохранить):
vm.swappiness = 1
fs.file-max = 130000
fs.nr_open=1048576
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
net.core.somaxconn = 300000
net.core.netdev_max_backlog = 8192
net.core.netdev_budget=600
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_fin_timeout = 10
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_fack = 1
net.ipv4.tcp_sack = 0
net.ipv4.tcp_mem = 8388608 12582912 16777216
net.ipv4.udp_mem = 8388608 12582912 16777216
net.ipv4.udp_rmem_min = 16384
net.ipv4.udp_wmem_min = 16384
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.tcp_wmem = 8192 87380 16777216
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_keepalive_time = 180
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_tw_buckets = 1000000
net.ipv4.ip_local_port_range = 1024 65535
net.nf_conntrack_max = 1000000
Почему именно так? Хотите разобраться (очень похвально) – изучите документацию [1]. Редактируем /etc/security/limits.conf:
mcedit /etc/security/limits.conf
* soft nofile 130000
* hard nofile 130000
root soft nofile 130000
root hard nofile 130000
mysql soft core unlimited
mysql hard core unlimited
mysql soft nofile unlimited
mysql hard nofile unlimited
Перезагружаем сервер, изменения вступили в силу. Можно обойтись без перезагрузки, но так надежнее. Система полностью готова к развертыванию Web сервера.
Установка Cyberpanel и Web сервера Open LiteSpeed
sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)
Initializing...
Valid IP detected...
Checking server...
Checking OS...
Detecting Ubuntu 18.04...
Checking virtualization type...
Checking root privileges...
You are runing as root...
CyberPanel Installer v1.94
1. Install CyberPanel.
2. Addons and Miscellaneous
3. Exit.
Please enter the number[1-3]: 1
Установить панель – выбираем пункт 1.
CyberPanel Installer v1.94
RAM check : 71/5960MB (1.19%)
Disk check : 2/20GB (14%) (Minimal 10GB free space)
1. Install CyberPanel with OpenLiteSpeed.
2. Install Cyberpanel with LiteSpeed Enterprise.
3. Exit.
Please enter the number[1-3]: 1
Снова выбираем пункт 1
Install Full service for CyberPanel? This will include PowerDNS, Postfix and Pure-FTPd.
Отвечаем y(yes) на предложение полной установки:
Full installation [Y/n]: y
Жмем для установки последней версии:
Full installation selected...
Press Enter key to continue with latest version or Enter specific version such as: 1.9.4 , 1.9.5 ...etc
Устанавливаем пароль. Вводим сложный пароль (8 символов минимум). Повторяем ввод пароля.
Branch name set to v1.9.4
Please choose to use default admin password 1234567,
randomly generate one (recommended) or specify the admin password?
Choose [d]fault, [r]andom or [s]et password: [d/r/s] s
Please enter your password:
12325812
Please confirm your password:
12325812
Устанавливаем memcahed,redis, сторожевой таймер:
Do you wish to install Memcached extension and backend?
Please select [Y/n]: y
Do you wish to install Redis extension and backend?
Please select [Y/n]: y
Would you like to set up a WatchDog (beta) for Web service and Database service ?
The watchdog script will be automatically started up after installation and server reboot
If you want to kill the watchdog , run watchdog kill
Please type Yes or no (with capital Y):y
Время установки 15 – 20 минут.
###################################################################
CyberPanel Successfully Installed
Current Disk usage : 7/20GB (42%)
Current RAM usage : 256/5960MB (4.30%)
Installation time : 0 hrs 17 min 7 sec
Visit: https://193.164.16.49:8090
Panel username: admin
Panel password: 12325812
WebAdmin console username: admin
WebAdmin console password: TakewFU1f5K7OJDS
Please change your default admin password
If you need to reset your panel password, please run:
adminPass YOUR_NEW_PASSWORD
If you change mysql password, please modify file in
/etc/cyberpanel/mysqlPassword with new password as well
Website : https://www.cyberpanel.net
Forums : https://forums.cyberpanel.net
Wikipage: https://docs.cyberpanel.net
Enjoy your accelerated Internet by
CyberPanel & OpenLiteSpeed
###################################################################
If your provider has a network-level firewall
Please make sure you have opened following port for both in/out:
TCP: 8090 for CyberPanel
TCP: 80, TCP: 443 and UDP: 443 for webserver
TCP: 21 and TCP: 40110-40210 for FTP
TCP: 25, TCP: 587, TCP: 465, TCP: 110, TCP: 143 and TCP: 993 for mail service
TCP: 53 and UDP: 53 for DNS service
Would you like to restart your server now? [y/N]: y
Сохраните логины, пароли для доступа в CyberPanel и WebAdmin, перезагрузите сервер. CyberPanel и WebAdmin, Open LiteSpeed Server, ftp, mail,dns сервера, firewall и многое другое установлены “в один клик”.
Есть все, что нужно для создания нового сайта, переноса существующего. Вы можете даже организовать свой виртуальный хостинг и продавать услуги по размещению сайтов.
Уже сейчас сервер полностью функционален, минимум впятеро быстрее Apache и Nginx. Можно начать работать, но я предлагаю заняться настройкой и тюнингом OLS, SQL и PHP.
Настройка и оптимизация Open LiteSpeed
Настраивать OLS и хосты можно текстовыми конфигурационными файлами. На мой взгляд гораздо удобнее и нагляднее настраивать сервер из WebAdmin в браузере. он доступен по адресу https://ip-servera:7080/ . Вы получите сообщение о том, что ваше соединение не защищено.

Жмем <Advanced>. Подтверждаем согласие продолжить использовать небезопасное соединение. (Не составляет труда установить ssl сертификат, но это можно сделать и позже). Вводим логин и пароль (они у вас были созданы на этапе создания сервера).
Проблема доступа в WebAdmin
- Log in to Cyber Panel – Security – Firewall
- Add Rule Name ” webpanel “
- Select TCP
- IP Address ” 0.0.0.0/0 “
- Port ” 7080 “
- Click on Add – Then, Reload The Page and Confirm Port 7080 is Added.
Или в терминале:
firewall-cmd --zone=public --permanent --add-port 7080/tcp
firewall-cmd --reload
WebAdmin
Пришло время познакомиться с интерфейсом и возможностями WebAdmin. Несмотря на кажущуюся сложность на самом деле все просто, функционально и логично.

Следите за появлением новых версий
wget https://raw.githubusercontent.com/litespeedtech/ openlitespeed/master/dist/admin/misc/lsup.sh
./lsup.sh
Сервер обновлен, можно продолжить настройку.
Настройка сервера
Рассмотрим базовые настройки сервера – параметры прямо или косвенно влияющие на скорость.Очевидно, что на работу сервера влияет в с ё. Откроем вкладку Server Configuration > General
Много – не значит хорошо

Для достижения максимальной производительности необходимо установить / изменить некоторые параметры:
- Number of Workers (количество процессов) – по умолчанию для этого параметра установлено значение «Не установлено», что соответствует 1 ядру процессора.
Установите максимальное значение этого значения не более, чем количество ядер / потоков процессора, которые поддерживает ваш сервер.
Соблюдайте баланс
Установите этот параметр в соответствии с вашими потребностями (или пока оставьте по умолчанию).
Увеличение количества процессов не всегда ведет к увеличению производительности.
Простое правило расчета количества процессов:
- меньше 4 cpu threads = 1/2
- 6-12 cpu threads = 1/3
- 13-16 cpu threads = 1/4
- 17-24 cpu threads = 1/6
- 25-32+ cpu threads = 1/8
- Priority (приоритет серверных процессов) : Очень важный параметр. Определяет приоритет процессов сервера. Диапазон значений от -20 до 20. Меньшее число означает более высокий приоритет.
Этот параметр напрямую зависит от параметра nice SQL (как его установить мы еще поговорим). В идеале они должны совпадать. Оптимальное значение -10. В том случае когда SQL слишком “тяжел” лучшим решением будет дать ему больший приоритет (например установить его в -15).
- CPU Affinity (“привязка” к процессору): связывает процесс с одним или несколькими процессорами (ядрами). Для процесса всегда полезно использовать один и тот же процессор, потому что тогда процесс может использовать данные, оставленные в кэше процессора.
Если процесс перемещается на другой ЦП, кэш-память ЦП не используется, и возникают дополнительные накладные расходы ресурсов CPU.
Минимальное значение равно 0, что отключит эту функцию. Максимальное значение – количество ядер на сервере. Как правило, 1 является наилучшим параметром, поскольку он обеспечивает наиболее строгое использование привязки к процессору и, таким образом, максимально использует кэш-память процессора.
- Memory I/O Buffer: Задает максимальный размер буфера, который используется для хранения тела запроса и его динамически генерируемого ответа. Когда этот лимит будет достигнут, сервер начнет создавать временные файлы подкачки.
Установите буфера, чтобы вместить все одновременные запросы / ответы, чтобы избежать сброса памяти на диск. Оптимальное значение для начала 120M (при условии, что у вас >= 2 Гб ОЗУ).
- Swapping Directory: Определяет каталог в который следует поместить файлы подкачки.
Сервер использует собственную виртуальную память, чтобы уменьшить использование системной памяти. Виртуальная память и подкачка диска используются для хранения больших тел запросов и динамически генерируемых ответов. Каталог подкачки должен быть размещен на диске с достаточным свободным пространством.
Поместите каталог подкачки на отдельный диск или увеличьте максимальный размер буфера ввода-вывода (смотрите выше – Memory I/O Buffer) , чтобы избежать подкачки. По умолчанию это каталог /tmp/lshttpd/swap.
Теперь можно заняться тюнингом OLS. Переходим во вкладку Server Configuration > Tuning и приводим параметры вашего сервера к тем, что приведены ниже.

Следующая вкладка требующая нашего внимания Server Configuration > External App

Изменяем некоторые настройки (возможно вам в зависимости от нагрузки на сервер придется их не раз корректировать):
- Max Connections = 45 (при не нагруженном сервере можно уменьшить до 30)
- Environment:
PHP_LSAPI_CHILDREN=45 (ВСЕГДА совпадает с Max Connections )
LSAPI_AVOID_FORK=200M
Другие настройки окружения примененяются только в специфических случаях использования сервера. Стоит установить следующие значения:
- Priority = -5. Диапазон значений от -20 до 20. Меньшее число означает более высокий приоритет. Процесс внешнего приложения не может иметь более высокий приоритет, чем веб-сервер.
- Memory Soft Limit (bytes) = 2047M
- Memory Hard Limit (bytes) = 2047M
- Process Soft Limit = 1400
- Process Hard Limit = 1500
Первоначальная настройка параметров сервера завершена. Теперь можно настроить хосты (сайты).
Настройка сайтов в Open LiteSpeed
У вас нет ни одного хоста кроме Example. Когда вы создадите свой первый сайт (это легко сделать в CyberPanel), то вам потребуется изменить некоторые параметры.
Вкладка Virtual Host ваш_домен > General:
- Enable Compression = Yes
- Enable Expires = Yes
- Expires By Type = image/=A604800,text/css=A604800,application/x-javascript=A604800,application/javascript=A604800,font/=A604800,application/x-font-ttf=A604800
Virtual Host ваш_домен External App:
- Max Connections = 30 (при не нагруженном сайте можно уменьшить до 20)
- Environment: PHP_LSAPI_CHILDREN=30 (ВСЕГДА совпадает с Max Connections, но должно быть МЕНЬШЕ этого значения на сервере)
- Memory Soft Limit (bytes) = 2047M
- Memory Hard Limit (bytes) = 2047M
- Process Soft Limit = 1400
- Process Hard Limit = 1500
Устанавливать эти параметры необходимо для каждого хоста. Настройка сервера / хостов этим не исчерпывается. Но для дальнейшего функционирования они не принципиальны (пока). Теперь можно перейти к настройке PHP и SQL.
Настройка PHP
Многие параметры PHP явно или косвенно влияют на функциональность и производительность. OLS поддерживает одновременную работу нескольких версий PHP.
Правки в php.ini надо вносить для конкретной версии. Пример: файл php.ini для версии 7.4 будет находиться /usr/local/lsws/lsphp74/etc/php/7.4/litespeed.
Изменения в php. ini:
max_execution_time = 300
max_input_time = 120
max_input_vars = 3000
memory_limit = 256M ; можно увеличить при необходимости
post_max_size = 80M
upload_max_filesize = 60M
Значения PHP можно изменить глобально (на уровне сервера) и “локально” – на уровне хоста. Параметры Opcache и memory_limit лучше устанавливать на уровне хоста.
Настройка MySQL / MariaDB server
От правильной настройки MySQL / MariaDB зависит насколько быстро будет работать ваш сервер / сайт. Все, что вы делали раньше может “превратиться в тыкву” если оставить параметры по умолчанию. Настройки mysql можно найти в /etc/mysql/my.cnf. Перед тем как вы будете создавать базы данных или переносить существующие стоит выполнить несколько простых действий:
- Решите какой “движок” будет по умолчанию. Если у вас таблицы MyISAM, возможно стоит перейти на Aria, но лучше использовать InnoDB.
- Установите последнюю версию MySQL / MariaDB
- Отредактируйте /etc/mysql/my.cnf:
[mysqld]
sql-mode="NO_ENGINE_SUBSTITUTION"
tmpdir = /dev/shm
skip-external-locking
skip_name_resolve
skip-host-cache
skip-log-bin
skip-networking
skip-innodb_doublewrite
bind-address=localhost
max_connections = 60
symbolic-links=0
sync_binlog = 0
wait_timeout = 60
interactive_timeout = 5
performance_schema = ON
low-priority-updates = 1
table_open_cache = 32000
tmp_table_size = 200M
max_heap_table_size = 200M
max_allowed_packet = 64M
thread_cache_size = 60
innodb_file_format=Barracuda
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT_NO_FSYNC
innodb_buffer_pool_instances = 1
innodb_buffer_pool_size = 1536M
innodb_log_file_size = 256M
innodb_file_per_table = 1
innodb_log_buffer_size = 256M
innodb_log_file_size = 192M
innodb_log_files_in_group=2
innodb_stats_on_metadata = 0
innodb_open_files = 65536
innodb_doublewrite = 0
innodb_support_xa = 0
innodb_read_io_threads = 8
innodb_write_io_threads = 8
#innodb_io_capacity=6000
#innodb_io_capacity_max=10000
innodb_thread_concurrency = 4
innodb_checksum_algorithm=crc32
innodb_log_checksum_algorithm=crc32
table_open_cache_instances = 4
[mysqldump]
quick
quote-names
max_allowed_packet = 64M
default-character-set = utf8mb4
[mysql]
no-auto-rehash
default-character-set = utf8mb4
Данные параметры оптимальны для VPS с 3 гб оперативной памяти и двумя CPU. Для серверов с большим количеством оперативной памяти и CPU некоторые значения стоит изменить. Если используются NVMe диски то можно включить задокументированные параметры.
Нам осталось только изменить (увеличить) приоритет mysql и увеличить лимит на открытие файлов. Раньше это можно было сделать параметром nice и open_file_limits в my.cnf. В новых версиях это не работает.
Часть настроек теперь находится в /lib/systemd/system/. Отредактируйте файлы mariadb.service и mariadb@.service:
open-file-limit LimitNOFILE=130000
Nice=-10
Проблема настроек SQL server
Сохраните и перезапустите systemd:
systemctl daemon-reload
Не знаю, баг это или фича, но настройки сбрасываются “по умолчанию” после обновления SQL сервера. Так что будьте внимательны.
В идеале, если вы все сделали правильно, mysqltuner должен выдавать вот такую информацию:
------- Performance Metrics -----------------------------------------------------------------------
[--] Up for: 1d 8h 1m 26s (3M q [31.352 qps], 20K conn, TX: 36G, RX: 660M)
[--] Reads / Writes: 98% / 2%
[--] Binary logging is disabled
[--] Physical Memory : 2.9G
[--] Max MySQL memory : 2.4G
[--] Other process memory: 132.9M
[--] Total buffers: 2.2G global + 3.6M per thread (50 max threads)
[--] P_S Max memory usage: 80M
[--] Galera GCache Max memory usage: 0B
[OK] Maximum reached memory usage: 2.3G (79.28% of installed RAM)
[OK] Maximum possible memory usage: 2.4G (84.25% of installed RAM)
[OK] Overall possible memory usage with other process is compatible with memory available
[OK] Slow queries: 0% (0/3M)
[OK] Highest usage of available connections: 18% (9/50)
[OK] Aborted connections: 0.02% (5/20914)
[--] Skipped name resolution test due to skip_networking=ON in system variables.
[OK] Query cache efficiency: 45.7% (2M cached / 6M selects)
[OK] Query cache prunes per day: 49
[OK] Sorts requiring temporary tables: 0% (221 temp sorts / 39K sorts)
[OK] No joins without indexes
[OK] Temporary tables created on disk: 1% (1K on disk / 98K total)
[OK] Thread cache hit rate: 99% (9 created / 20K connections)
[OK] Table cache hit rate:94% (48K open / 59K opened)
[OK] Open file limit used: 0% (71/130K)
[OK] Table locks acquired immediately: 100% (662K immediate / 662K locks)
-------- InnoDB Metrics ----------------------------------------------------------------------------
[--] InnoDB is enabled.
[--] InnoDB Thread Concurrency: 4
[OK] InnoDB File per table is activated
[OK] InnoDB buffer pool / data size: 1.5G/987.1M
[OK] InnoDB log file size / InnoDB Buffer pool size: 192.0M * 2/1.5G should be equal 25%
[OK] InnoDB buffer pool instances: 1
[--] InnoDB Buffer Pool Chunk Size not used or defined in your version
[OK] InnoDB Read buffer efficiency: 99.99% (151459597 hits/ 151477187 total)
[OK] InnoDB Write log efficiency: 96.88% (540590 hits/ 557984 total)
[OK] InnoDB log waits: 0.00% (0 waits / 17394 writes)
-------- AriaDB Metrics ----------------------------------------------------------------------------
[--] AriaDB is enabled.
[OK] Aria pagecache size / total Aria indexes: 128.0M/1B
[OK] Aria pagecache hit rate: 99.5% (8M cached / 46K reads)
Есть полная уверенность в том, что сервер баз данных работает максимально производительно. При этом он очень экономно расходует ресурсы, при этом не нагружая дисковую подсистему, память и процессор.
Теперь все базовые настройки закончены. Можно использовать сервер. Собственно говоря тема настройки sql неисчерпаема. Например, можно “проапгрейдится” до TokuDB, запустить несколько экземпляров(инстансов) sql сервера, вынести его на другой сервер и наконец создать кластер из нескольких WEB серверов и SQL с репликацией, “приклеить” Load Balancer…
Заключение
Ваш сервер полностью готов к работе. Повторю еще раз: Сервер имеющий 3 ГБ оперативной памяти, пару CPU при правильной настройке способен “тащить” десяток WordPress сайтов с 30К уников при 15-18 процентной загрузке CPU. Это при том, что мой лимит VPS от яндекс 20% CPU. То есть, сервер использует 15-18 процентов от тех “жалких” 20%.
Если нагрузка увеличится до 100-120К уников, то сервер “съест” 70-80 процентов CPU. До некоторого момента, такой системе без разницы — обработать 1 запрос, 10 запросов или 1000 — нагрузка будет почти одинаковой, сервер и сайты на нем практически не замечают роста.
Нагрузка на сервер растёт не линейно, а по отрицательной экспоненте.
Когда сервер настроен оптимально дальнейший рост нагрузки замедляется, потому как происходит наложение и совмещение функций — code reuse например, кэши процессора, памяти, программ работают эффективно.
Даже при таких далеко не экстремальных настройках вы скорее упретесь в ограничение пропускной способности сети, чем исчерпаете хотя бы половину ресурсов сервера.
И это при том, что “за бортом” остались такие технологии как Redis, LSMCD (в девичестве memcache(d)). Кроме того, осталось за кадром использование связки серверного cache + LiteSpeed Cache и PageSpeed Module не говоря уже о Reverse Proxy. Это будет домашним заданием для вас и темами статей для меня.
Update: Кроме “серверных” оптимизаций еще есть над чем поработать на уровне сайтов. Например, в WordPress.
На уровне сервера то же есть простор для оптимизации, например, можно перекомпилировать ядро, php, OLS и прочее с “экстремальными” параметрами и получить еще 20 – 30 процентов ускорения.
А CyberPanel разве не на один сайт в бесплатной версии? Или при такой установке можно много сайтов вести через неё?
Здравствуйте.
Один аккаунт (бесплатный) “привязывается” к 1 IP-адресу VPS.
Вы пробовали регистрировать дополнительные (бесплатные)?
Меняли ли свой IP-адрес при повторных регистрациях?
Я просто сначало уделил мало внимания этому, и ввёл данные “от фонаря”. (Страна и IP-адрес страны отличались). Так вот, сервис мне не активировали, была ошибка FRAUD.
Потом я ввёл совпадающие с моим IP, геоданные -результат такой же.
И наконец, когда сменил IP на другой (новый) + ввёл ссответств. страну – всё прошло ок.
Вот теперь думаю, даст ли оно мне зарегить. ещё один аккаунт, под “использованным” IP, или нужно менять.
Вы о чем? Расшифруйте. Дополнительные регистрации чего?
Никаких ограничений в бесплатной версии нет. Можно вести много сайтов и аккаунтов. Полноценный хостинг можно организовать
А если сервер с 1,5 GB, то подойдут настройки или нужно что-то менять?
Надо настроить php и mysql с учетом того, что у вас 1.5гб ОЗУ.
День добрый. Не меняет файл /etc/sysctl.conf. Пишет что он unwritable. Захожу под root, система Ubuntu 18. Не подскажите, в чем засада?
У вас “засада” с файловой системой. Она у вас в RO (read only). Вы вообще ни один файл не сможете записать. Проверьте на ошибки и перемонтируйте в RW (mount -no remount,rw /dev/vda1). vda1 замените на свой диск.
Спасибо. Накосячил с настройками /etc/fstab. Хотел ещё пару глупых вопросов задать.
1) Доброго дня. Пароль от MariaDB лежит в /etc/cyberpanel/mysqlPassword. Там же и остальные пароли.
2) Способов мониторинга VPS и просмотра статистики – тьма. я люблю https://github.com/netdata/netdata.
выглядит так(реальный мониторинг): http://23.111.206.84:19999/#menu_system_submenu_cpu;theme=slate;help=true
Спасибо! netdata не совсем то, что хотелось. Она историю не хранит. В этом смысле удобен Munin, но не пойму как его заставить работать под OLS. Все руководства под nginx или apache.
Munin – настроить можно, это не сложно. Но вы должны понимать, что это просто огромная дыра в безопасности. У него количество уязвимостей просто зашкаливает.
Спасибо. Буду netdata юзать. Непонятное обнаружил в киберпанели. https://prnt.sc/yzi4o1 MariaDB отключена. Я ее запускаю, а она не запускается. Почему она не запускается?
Это старый баг. На самом деле, все работает. Можете проверить так: service mysql status. Есть еще несколько мелких “недоразумений”. Например, частая проблема с консолью.
Вы не знаете, как заставить систему использовать память на полную мощность? При 60%, она начинает своп использовать. По одной рекомендации в fstab сделал так vm.swappiness=10. По идее это должно было снизить приоритет свопа, но все равно память выше 60% не исползуется. https://prnt.sc/zhnnky Может это OLS не дает, и где-то можно поправить?
Не знаю, как вам удалось сие чудо, но это совершенно бессмысленно. Параметр vm.swappiness=10 надо прописывать в /etc/sysctl.conf.
Кроме того, можно и нужно использовать zram и кэши OLS и SQL(в разумных пределах).
Хорошая практика: у вас должно оставаться минимум 10% свободной памяти на накладные расходы.
Еще хотелось бы понять мотивы, по которым вы хотите обязательно забить всю память. Чем и зачем?
По ошибке написал fstab. В /etc/sysctl.conf менял.
Я и хочу добится 10% свободной памяти, а она все время свободна на 40%.
Запись в своп – это дополнительная нагрузка на проц и медленнее.
У меня так получается.
https://prnt.sc/zl6d0m
График не дает представления о том, что грузит CPU. Но это точно не swap. Для начала, посмотрите хотя бы atop – кто грузит процессор.
Возможно у вас в sysctl.conf директива vm.swappiness дублирована. Посмотрите внимательно.
Здравствуйте, спасибо за вашу статью! Я новичок в настройки сервера, но по вашим рекомендациях смог почти во всем разобраться. У меня не получается настроить пункт Настройка MySQL / MariaDB server там где нужно отредактировать /etc/mysql/my.cnf. Вроде бы делаю все по инструкции, но после редактирования /etc/mysql/my.cnf у меня просто ложится CyberPanel. Делаю так nano /etc/mysql/my.cnf и вставляю ваш конфиг подробнее на скриншоте. Мой VPS от google взял для теста 2 ядра 3 озу. И ещё вопрос планирую покупать VPS на hetzner как по вашему это нормальный хостер?
Доброго дня. Рад, что у вас все получилось. Чтобы понять в чем дело желательно посмотреть вывод консоли, что сообщает service mysql status c вашим конфигом.
Hetzner популярен. Но сказать за или против ничего не могу, сам не пользовался, но с него как и c contabo уже несколько месяцев бегут клиенты, причину не знаю. Много лет использую fozzy.
После ввода команды выдает следующие
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-02-19 19:07:46 UTC; 1min 40s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 735 (mysqld)
Status: “Taking your SQL requests now…”
Tasks: 37 (limit: 3580)
Memory: 120.3M
CGroup: /system.slice/mariadb.service
└─735 /usr/sbin/mysqld
Feb 19 19:07:45 cyberpanel-1-vm mysqld[735]: 2021-02-19 19:07:45 0 [Note] /usr/sbin/mysqld (mysqld >
Feb 19 19:07:46 cyberpanel-1-vm systemd[1]: Started MariaDB 10.3.25 database server.
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[909]: Upgrading MySQL tables if necessary.
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[919]: Looking for ‘mysql’ as: /usr/bin/mysql
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[919]: Looking for ‘mysqlcheck’ as: /usr/bin>
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[919]: Version check failed. Got the followi>
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[919]: ERROR 1045 (28000): Access denied for>
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[919]: FATAL ERROR: Upgrade failed
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[980]: Checking for insecure root accounts.
Feb 19 19:07:47 cyberpanel-1-vm debian-start[984]: ERROR 1045 (28000): Access denied for user ‘root>
lines 1-22/22 (END)…skipping…
● mariadb.service – MariaDB 10.3.25 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-02-19 19:07:46 UTC; 1min 40s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 735 (mysqld)
Status: “Taking your SQL requests now…”
Tasks: 37 (limit: 3580)
Memory: 120.3M
CGroup: /system.slice/mariadb.service
└─735 /usr/sbin/mysqld
Feb 19 19:07:45 cyberpanel-1-vm mysqld[735]: 2021-02-19 19:07:45 0 [Note] /usr/sbin/mysqld (mysqld 10.3.25-MariaDB-0ubuntu0.20.04.1) starting as process 735 …
Feb 19 19:07:46 cyberpanel-1-vm systemd[1]: Started MariaDB 10.3.25 database server.
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[909]: Upgrading MySQL tables if necessary.
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[919]: Looking for ‘mysql’ as: /usr/bin/mysql
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[919]: Looking for ‘mysqlcheck’ as: /usr/bin/mysqlcheck
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[919]: Version check failed. Got the following error when calling the ‘mysql’ command line client
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[919]: ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[919]: FATAL ERROR: Upgrade failed
Feb 19 19:07:47 cyberpanel-1-vm /etc/mysql/debian-start[980]: Checking for insecure root accounts.
Feb 19 19:07:47 cyberpanel-1-vm debian-start[984]: ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
Тут ничего страшного, Сайты работают? Доступ к cyberpanel есть?
Не получается посмотреть отчет, я так понял это связанном с пользователем БД
● mariadb.service – MariaDB 10.3.25 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-02-19 18:12:07 UTC; 30s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 2115 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=ex>
Process: 2123 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=e>
Process: 2131 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=
cd /u></p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Process: 2214 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=></p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Process: 2216 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Main PID: 2183 (mysqld)</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Status: "Taking your SQL requests now..."</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Tasks: 32 (limit: 3580)</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Memory: 69.8M</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> CGroup: /system.slice/mariadb.service</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> └─2183 /usr/sbin/mysqld</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"><br></p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">Feb 19 18:12:07 cyberpanel-1-vm mysqld[2183]: 2021-02-19 18:12:07 0 [Note] /usr/sbin/mysqld (mysqld></p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">Feb 19 18:12:07 cyberpanel-1-vm systemd[1]: Started MariaDB 10.3.25 database server.</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2218]: Upgrading MySQL tables if necessary.</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2221]: Looking for 'mysql' as: /usr/bin/mys></p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2221]: Looking for 'mysqlcheck' as: /usr/bi></p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2221]: Version check failed. Got the follow></p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2221]: ERROR 1045 (28000): Access denied fo></p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2221]: FATAL ERROR: Upgrade failed</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2231]: Checking for insecure root accounts.</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">Feb 19 18:12:07 cyberpanel-1-vm debian-start[2234]: ERROR 1045 (28000): Access denied for user 'roo></p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">lines 1-27/27 (END)...skipping...</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;">● mariadb.service - MariaDB 10.3.25 database server</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Active: active (running) since Fri 2021-02-19 18:12:07 UTC; 30s ago</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Docs: man:mysqld(8)</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> https://mariadb.com/kb/en/library/systemd/</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Process: 2115 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Process: 2123 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)</p><p data-kx-storage="{"fontSize":15,"lineHeight":false}" style="font-size: 15px !important;"> Process: 2131 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=
cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR ||>Process: 2214 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 2216 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
Main PID: 2183 (mysqld)
Status: “Taking your SQL requests now…”
Tasks: 32 (limit: 3580)
Memory: 69.8M
CGroup: /system.slice/mariadb.service
└─2183 /usr/sbin/mysqld
Feb 19 18:12:07 cyberpanel-1-vm mysqld[2183]: 2021-02-19 18:12:07 0 [Note] /usr/sbin/mysqld (mysqld 10.3.25-MariaDB-0ubuntu0.20.04.1) starting as process 2183 …
Feb 19 18:12:07 cyberpanel-1-vm systemd[1]: Started MariaDB 10.3.25 database server.
Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2218]: Upgrading MySQL tables if necessary.
Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2221]: Looking for ‘mysql’ as: /usr/bin/mysql
Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2221]: Looking for ‘mysqlcheck’ as: /usr/bin/mysqlcheck
Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2221]: Version check failed. Got the following error when calling the ‘mysql’ command line client
Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2221]: ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2221]: FATAL ERROR: Upgrade failed
Feb 19 18:12:07 cyberpanel-1-vm /etc/mysql/debian-start[2231]: Checking for insecure root accounts.
Feb 19 18:12:07 cyberpanel-1-vm debian-start[2234]: ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
Но я к сожалению ничего в этом не понимаю
Если не трудно, пришлите доступ к серверу на почту. Попробуем вместе разобраться. У вас какая то каша…
теперь недоступны обновления ?
Все как раньше: wget https://raw.githubusercontent.com/litespeedtech/openlitespeed/master/dist/admin/misc/lsup.sh
lsup.sh – сделать исполнимым.
Далее: ./lsup.sh
Завис на оптимизации MySQL. У меня Centos и я не нахожу файлов конфигурации, как это указано в статье. Нашел много разных my.cnf, но все они полупустые. Хорошо бы отдельную статью написать: Настройка MySQL / Maria DB для CyberPanel на OLS
Centos – труп, то что он помрет было ясно еще год назад… Да, у него куча бестолковых my.cnf, и куча других бестолковок – поэтому и не рассматривал его никогда всерьез. Хоть они и надувают щеки, но для продакшн это не годится.
Только что попробовал ваши настройки к my.cnf – ну его в баню. сервер сразу упал и пришлось писать в техподдержку LiteSpeed – дали свой базовый вариант. Я бы советовал не публиковать данные настройки в этой документации, или дописать – “используйте на свой страх и риск”.
Тут все, на свой страх и риск :)) . То, что упал сервер – это не беда:
Если не трудно, опубликуйте его, можно в комменте. Любопытно, что там “индусы” советуют.
На счет mysqltuner – если уже пошла речь о нем, то важно было бы добавить расшифровку его работы или написать отдельную статью. штука хорошая.
Напишу обязательно, с подробным разбором. НО нужно помнить что рекомендации mysqltuner не 100 процентное решение проблем, это примерно как подсказка троечника…
Скажите, а когда так график рвется – https://prnt.sc/10td9m9, то это процессор не тянет? И что можно в настройках подкрутить?
По этой микроскопической картинке графика (неизвестно чего кстати) сделать какие либо выводы невозможно. Чтобы делать выводы и давать рекомендации все же следует иметь данные для анализа, и желательно чтобы их количество сильно отличалось от нуля (в большую сторону).