Optimalizace DirectAdminu na Linuxovém serveru, aktualizujte svůj stack pomocí CustomBuild, přejděte na moderní webový server a PHP-FPM, ladění PHP, MySQL (MariaDB) a jádro umožňují ukládání do mezipaměti (OPcache/Redis), zajišťují zabezpečení pomocí CSF a ModSecurity a monitorují využití zdrojů. Nejprve zálohujte, postupně testujte změny a automatizujte rutinní údržbu.
DirectAdmin je lehký a spolehlivý ovládací panel, ale pro dosažení špičkového výkonu a zabezpečení potřebuje chytré ladění. V této příručce vám ukážu, jak optimalizovat DirectAdmin v prostředí Linuxových serverů stejným způsobem, jakým to děláme pro produkční weby – čistě, bezpečně a měřitelně.
Co je optimalizace DirectAdmin a proč je důležitá
Optimalizace znamená konfiguraci operačního systému, webového stacku, databáze, pošty, DNSa služby DirectAdmin pro snížení latence, zpracování většího množství souběžného provozu a zajištění bezpečnosti. Pokud to uděláte správně, uvidíte rychleji. PHP doby odezvy, nižší CPU a RAM používání, méně chyb 5xx a plynulejší doručování e-mailů.
Předpoklady a bezpečnost na prvním místě
Zkontrolujte své prostředí
- Linux distribuce: AlmaLinux/Rocky, CentOS Stream, Debian nebo Ubuntu LTS
- DirectAdmin s CustomBuild 2.x
- Přístup root nebo sudo
- Minimum 2 CPU jádra, 4–8 GB RAM pro malý hosting více webů
Zálohy a příprava
- Vytvořte úplný snímek nebo zálohu na úrovni obrazu.
- Pro účty a konfigurace použijte DirectAdmin > Zálohování/přenos administrátorských účtů.
- Změny nejprve aplikujte během údržbového okna nebo na testovacím serveru.
Aktualizace zásobníku a stanovení základní linie
Aktualizace systému a CustomBuild
# OS packages
sudo dnf -y update || sudo apt -y update && sudo apt -y upgrade
# DirectAdmin CustomBuild
cd /usr/local/directadmin/custombuild
./build update
./build versions
Udržet PHP na aktuálně podporované větvi (8.2/8.3), Apache 2.4 s MPM Eventem, nebo zvažte OpenLiteSpeed pro vysokou souběžnost. Vždy povolte OPcache.
Vyberte správný webový stack
- Nginx jako reverzní proxy + Apache (nginx_apache): vyvážený, široce kompatibilní.
- Apache pouze (apache): jednoduché, v pořádku pro nízkou návštěvnost.
- OtevřenáLiteSpeed (openlitespeed): rychlý a efektivní, snadný HTTP/3; skvělý pro WordPress.
cd /usr/local/directadmin/custombuild
# Example: Nginx reverse proxy + Apache + PHP-FPM + OPcache
./build set webserver nginx_apache
./build set php1_release 8.2
./build set php1_mode php-fpm
./build set opcache yes
./build set modsecurity yes
./build set modsecurity_ruleset owasp
./build all d
./build rewrite_confs
Pokud zvolíte OtevřítLiteSpeed, nastavte webový server na openlitespeed a znovu sestavte. Otestujte funkčnost webu po přepnutí.
Webový server a PHP Optimalizace
PHP-Ladění bazénu FPM
Každý uživatel nebo doména DirectAdmin může mít svůj vlastní PHP-FPM pool. Velikosti poolů, kterým se vyhnout CPU vyčerpání paměti. Odhad pm.max_children použitím RAM/průměr PHP velikost procesu (často 60–90 MB pro WordPress).
; Example: /usr/local/php72/etc/php-fpm.d/user.domain.conf
[domain.com]
user = domain
group = domain
listen = /usr/local/php56/var/run/domain.sock
pm = dynamic
pm.max_children = 20
pm.start_servers = 4
pm.min_spare_servers = 4
pm.max_spare_servers = 8
pm.max_requests = 500
pm.process_idle_timeout = 10s
; Adjust per user based on traffic and RAM
Pro mnoho malých webů, pm = ondemand s konzervativními limity se snižuje nečinná paměť.
Pro rušná místa, pm = dynamic nabízí konzistentnější latenci.
Nastavení OPcache pro Fast PHP
; php.ini or /usr/local/php*/lib/php.ini
opcache.enable=1
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=100000
opcache.validate_timestamps=1
opcache.revalidate_freq=60
opcache.save_comments=1
Navýšit opcache.memory_consumption Pokud hostujete mnoho webů. Restartujte PHP-FPM po změnách.
Nginx Úpravy reverzní proxy (pokud používáte nginx_apache)
- Povolit gzip pro textové podklady.
- Statické soubory v mezipaměti s funkcí „daleko budoucnosti“ záhlaví expires.
- Používejte HTTP/2 na posluchačích TLS.
# /etc/nginx/nginx.conf (snippet)
gzip on;
gzip_comp_level 5;
gzip_types text/plain text/css application/javascript application/json image/svg+xml;
# Example SSL server block directive
listen 443 ssl http2;
Pro HTTP/3, OtevřítLiteSpeed je nejjednodušší cesta v DirectAdmin. Povolte QUIC/HTTP/3 v listeneru OLS a restartujte.
Také čtení: Jak opravit MongoDB na Linuxovém serveru bez ztráty dat
Databáze (MariaDB/MySQLOptimalizace
Nalaďte MariaDB na základě RAM a pracovní zátěž. Zaměřte se na velikost vyrovnávací paměti InnoDB a souboru protokolu. V moderní platformě MariaDB se vyhněte starší verzi Query Cache.
# /etc/my.cnf.d/server.cnf or /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
# Example for 8 GB RAM server hosting WordPress
innodb_buffer_pool_size = 4G
innodb_log_file_size = 1G
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
max_connections = 200
tmp_table_size = 256M
max_heap_table_size = 256M
thread_cache_size = 100
table_open_cache = 4000
performance_schema = ON
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1
Po úpravě restartujte MariaDB a poté spusťte úlohu po dobu jednoho dne a analyzujte pomalé dotazy. Použijte mysqltuner a pt-query-digest pro upřesnění nastavení a indexování náročných dotazů.
sudo mysqltuner
sudo apt install percona-toolkit || sudo dnf install percona-toolkit
pt-query-digest /var/log/mysql-slow.log | less
Pošta, DNSa základní služby
E-mailový stack (Exim/Dovecot) a kontrola spamu
- Použijte Maildir, ne mbox (výchozí nastavení DirectAdmin je Maildir).
- Povolte SpamAssassin nebo Rspamd přes CustomBuild (Rspamd je lehčí a přesnější).
- Omezení souběžných SMTP připojení pro ochranu CPU/RAM.
# Enable Rspamd in CustomBuild
cd /usr/local/directadmin/custombuild
./build set exim yes
./build set dovecot yes
./build set spamassassin no
./build set rspamd yes
./build rspamd d
./build rewrite_confs
DKIM, SPF a DMARC
Z DirectAdmin > DNS Správa, povolte DKIM a vytvořte záznamy SPF a DMARC pro každou doménu. To zlepšuje doručitelnost a reputaci.
DNS Výkon: SílaDNS
VýkonDNS je rychlejší a pro většinu hostingových případů spotřebovává méně zdrojů než BIND.
cd /usr/local/directadmin/custombuild
./build set powerdns yes
./build set bind no
./build powerdns d
./build rewrite_confs
Ukládání do mezipaměti a akcelerace
Mezipaměť objektů Redis
Nainstalujte si Redis a používejte ho pro WordPress ukládání objektů do mezipaměti. Snižuje zatížení databáze a zlepšuje dobu do načtení prvního bajtu.
# Install Redis server
sudo dnf -y install redis || sudo apt -y install redis
sudo systemctl enable --now redis
# In PHP, install redis extension via CustomBuild
cd /usr/local/directadmin/custombuild
./build set redis yes
./build redis d
Použijte renomovaný plugin (např. „Redis Object Cache“) a nastavte pro každý web jedinečný prefix. Pro WooCommerce povolte uzamčení relací.
Statická aktiva a CDN
- využití mezipaměti prohlížeče pro obrázky, CSS, JS.
- Pokud je to možné, zobrazujte WebP/AVIF.
- Zbavte se velkých aktiv a použijte CDN k celosvětovému zmenšení TTFB.
Zvýšení zabezpečení bez ztráty výkonu
Firewall CSF/LFD
ConfigServer Security & Firewall (CSF) se dobře integruje s DirectAdmin. Umožňuje vám přidat IP adresy na bílou listinu, omezit počet pokusů o přihlášení a blokovat zneužívané porty.
# Basic CSF workflow
csf -e # enable
csf -a YOUR_IP # allowlist admin IP
csf -g 1.2.3.4 # grep IP status
csf -t # view temp bans
ModSecurity (OWASP CRS) a výjimky
Povolte ModSecurity s pravidly OWASP pomocí CustomBuild a poté přidejte vyloučení pravidel pro legitimní aplikace, když dojde k falešně pozitivním výsledkům. Sledujte své Apache/Nginx protokoly chyb pro identifikaci blokovaných požadavků.
Pojďme šifrovat, TLS 1.2/1.3 a ECDSA
- Použijte Zašifrujeme automatizace v DirectAdminu.
- Preferujte certifikáty ECDSA pro výkon (pokud je klienti podporují).
- Zakázat TLS 1.0/1.1; vynutit silné šifry.
SSH Kalení
- Pohyb SSH z portu 22 (volitelné), povolte pouze autorizaci klíčem a zakažte přihlášení root, pokud to váš pracovní postup umožňuje.
- Nainstalujte fail2ban pokud nepoužíváte LFD displeje SSH ochrana.
Ladění na úrovni systému (jádro a limity)
Optimalizace souboru /etc/sysctl.conf
# /etc/sysctl.d/99-directadmin-tuning.conf
fs.file-max = 2097152
net.core.somaxconn = 65535
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_local_port_range = 10240 65535
vm.swappiness = 10
fs.inotify.max_user_watches = 1048576
# apply
sudo sysctl --system
Deskriptory souborů a přepsání Systemd
# Example for Nginx/Apache/MariaDB
sudo systemctl edit nginx
# then add:
# [Service]
# LimitNOFILE=1048576
sudo systemctl daemon-reload
sudo systemctl restart nginx
Klády a rotace
- Ujistěte se, že je logrotate aktivní pro Apache/Nginx, PHP-FPM, Exim, Dovecot a MySQL protokoly.
- Omezení velikosti journaldu, aby se zabránilo tlaku na disk (
/etc/systemd/journald.conf).
Monitorování a odstraňování problémů
Rychlé nalezení úzkých míst
# CPU/RAM
htop
atop
# Disk I/O
iotop -oPa
# Network
ss -tulpn
# Web errors
tail -f /var/log/httpd/error_log # Apache (path may vary)
tail -f /var/log/nginx/error.log # Nginx
# PHP-FPM
journalctl -u php-fpm --since "10 min ago"
# Mail
tail -f /var/log/exim/mainlog
Zapnout MySQL pomalý protokol dotazů a oprava nejčastějších viníků. Pro WordPress použijte Query Monitor k odhalení těžkých pluginů nebo šablon.
Automatizace, zálohy a bezpečné aktualizace
Zálohování/přenos administrátora DirectAdmin
- Naplánujte si denní zálohy účtů se vzdáleným úložištěm (SFTP/FTP/S3 přes rclone).
- Pro velké datové sady použijte inkrementální rsync.
- Testovací obnovení se provádí čtvrtletně, aby se zajistila integrita.
Udržujte kontrolovanou kadenci aktualizací
- Aplikujte aktualizace zabezpečení operačního systému každý týden.
- Aktualizace PHP menší verze neprodleně; otestujte hlavní vylepšení.
- Sledování verzí CustomBuild a opětovné sestavení služeb po změnách.
Rychlé výhry a běžné úskalí
- Povolit OPcache a PHP-FPM: snadné zvýšení rychlosti.
- Správná velikost PHP-FPM bazény: zabraňuje chybám „Nedostatek paměti“ a 502.
- Použijte Redis pro mezipaměť objektů WordPressu: ořízne zatížení databáze.
- Nepovolujte každé pravidlo ModSecurity; nalaďte ho na své aplikace.
- Nepřevyšujte počet odběrů swapu; sledujte iowait a stav disku.
Nejčastější dotazy
Jaký je nejlepší webový stack pro výkon DirectAdminu?
Pro obecný hosting, Nginx reverzní proxy + Apache + PHP-FPM je skvělou rovnováhou. Pro maximální výkon a jednodušší podporu HTTP/3 je OpenLiteSpeed funguje mimořádně dobře, zejména pro WordPress. Vždy povolte OPcache a size. PHP-FPM se přiměřeně shromažďuje.
Jak zrychlím PHP v DirectAdmin?
Použijte PHP-FPM (ne CGI), povolte OPcache s dostatečnou pamětí, upgradujte na PHP 8.2/8.3 a nalaďte pm.max_children na základě RAM a průměrný PHP velikost procesu. U dynamických webů přidejte mezipaměť objektů Redis, abyste snížili počet volání databáze.
Jak mám naladit MariaDB pro více webů WordPress?
Začněte s bufferovým fondem InnoDB kolem 50–70 % RAM, nastavit innodb_log_file_size do 512M–1G, ponechte performance_schema ZAPNUTO pro viditelnost, povolit pomalé protokolování dotazů a iterovat s mysqltuner a pt-query-digestPoužijte mezipaměť objektů Redis na vrstvě aplikace.
Je ModSecurity nezbytný, když používám CDN/WAF?
AnoLokální WAF, jako je ModSecurity, přidává ochranu, když pravidla CDN/WAF chybí nebo když požadavky obcházejí CDN. Použijte OWASP CRS jako základní linii a vytvořte výjimky pro známé bezpečné vzory, abyste udrželi nízkou hladinu falešných poplachů a zdravý výkon.
Mohu v DirectAdminu povolit HTTP/3 (QUIC)?
AnoNejpřímější trasa je OpenLiteSpeed v DirectAdminu, který podporuje HTTP/3 s jednoduchým nastavením listeneru. Nginx Může podporovat HTTP/3 s konkrétními sestaveními, ale je to složitější. Vždy otestujte klienty a bez problémů se vraťte k HTTP/2.