Налаштування VPS сервера з ОП 512 Мб для нормальної роботи Вордпресс

VPS сервер з оперативною пам’яттю 512 Мб і 10 Гб SSD диска — цього цілком повинно вистачати для пари невеликих сайтів. Правда Vesta CP і WordPress з цим не зовсім згодні. Вони більше орієнтуються на сервера з оперативкою від 1 Гб. Тоді є два шляхи: брати сервак дорожче, або налаштувати обмеження на споживання ресурсів, щоб сервер не падав і сервер бази даних MARIADB не відключати постійно. Я пішов іншим шляхом.

Всім, кому шкода викидати гроші на оренду додаткових ресурсів присвячується.

  1. Перше що я зробив — це знизив навантаження на сервер за допомогою кешування та оптимізації сторінок. У цьому мені допомогли плагіни  WP Super Cache (кешування вмісту сторінок) і  Autoptimize  (оптимізація даних HTML і CSS і їх кешування). Також я використовував плагін для скорочення HTML коду на сторінках  Fast Velocity Minify,  але тільки акуратно і зрідка (після скорочення деактивуються, чктоб не їм зайве)

2. Потім стиснув картинки за допомогою плагіна  EWWW Image Optimizer . Я його теж зрідка включаю, а після роботи деактивуються.

Ці кроки звичайно прискорили сайт, але база даних все одно при навантаженні відвалювалася.

3. Наступним кроком була настройка роботи сервера MARIADB в VestaCP, а конкретніше робота з Mysql. Для того щоб визначити оптимальні настройки, я використовував скрипт Mysqltuner в Putty детальніше.

Дотримуючись його рекомендацій у мене вийшли наступні настройки для сервера MARIADB /etc/my.cnf:

[mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
symbolic-links = 0

skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 240K

#innodb_use_native_aio = 0
innodb_file_per_table

max_connections = 30
max_user_connections = 25
wait_timeout = 10
interactive_timeout = 50
long_query_time = 5

query_cache_size = 0
query_cache_type = 0
query_cache_limit = 3M
thread_cache_size = 4
performance_schema = OFF disable PFS
key_buffer_size = 3M
tmp_table_size = 20M
max_heap_table_size = 30M

# slow_query_log = 1
# slow_query_log_file = / var / log / mysql-slow-queries.log

[mysqld_safe]
log-error = / var / log / mariadb / mariadb.log
pid-file = / var / run / mariadb / mariadb.pid

#
# Include all files from the config directory
#
! Includedir /etc/my.cnf.d

4. І останнє, що я зробив це обмежив ресурси в налаштуваннях httpd сервера, який завідує ненажерливим AJAX. В результаті /etc/httpd/conf/httpd.conf у мене такий:

ServerRoot «/ etc / httpd»
Include conf.modules.d / *. Conf
User apache
Group apache
ServerAdmin root @ localhost

<Directory />
AllowOverride none
</ Directory>

DocumentRoot «/ var / www / html»
<Directory «/ var / www»>
AllowOverride None
Require all granted
</ Directory>

<Directory «/ var / www / html»>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</ Directory>

DirectoryIndex index.php index.html

<Files «.ht *»>
Require all denied
</ Files>

ErrorLog «logs / error_log»
LogLevel warn

LogFormat «% h% l% u% t «% r »%> s% b «% {Referer} i «»% {User-Agent} i »» combined
LogFormat «% h% l% u% t «% r »%> s% b »common
LogFormat«% b »bytes
CustomLog« logs / access_log »combined

TypesConfig /etc/mime.types
AddType application / x-compress .Z
AddType application / x-gzip .gz .tgz
AddType text / html .shtml
AddOutputFilter INCLUDES .shtml
#AddHandler cgi-script .cgi

AddDefaultCharset UTF-8

<IfModule mime_magic_module>
MIMEMagicFile conf / magic
</ IfModule>

EnableSendfile on

<IfModule remoteip_module>
RemoteIPHeader X-Real-IP
LogFormat «% a% l% u% t «% r »%> s% b «% {Referer} i «»% {User-Agent} i »» combined
LogFormat «% a% l% u% t «% r »%> s% b» common
</ IfModule>

<IfModule mpm_prefork_module>
StartServers 1
MinSpareServers 1
MaxSpareServers 3
MaxClients 10
MaxRequestsPerChild 3000
</ IfModule>

<IfModule mpm_worker_module>
StartServers 1
MinSpareThreads 5
MaxSpareThreads 15
ThreadLimit 25
ThreadsPerChild 5
MaxClients 25
MaxRequestsPerChild 200
</ IfModule>

IncludeOptional conf.d / *. Conf

 

Червоним я виділи то, що було додано в файл конфігурації.

Після цього мій сервак може витримати прохід Гуглботом і ботом Screaming Frog, а після багаторазового поновлення сторінки (F5) сам встає. ? 

Налаштування VPS сервера з ОП 512 Мб для нормальної роботи Вордпресс
Оцініть статтю

Маєте власну думку? Поділіться з усіма!

Всі коменти проходять модерацію *