Ваш сайт завантажується повільно? Клієнти не чекатимуть — вони підуть до конкурентів. Давайте виправимо це разом! Уявіть: ви запустили проєкт, але затримки відлякують відвідувачів. Ми покажемо, як налаштувати PHP-сервер, щоб він працював швидко та надійно. А тепер подивимось, як правильне налаштування PHP-сервера вирішує ці проблеми.
PHP — це двигун вашого сайту. Без нього WordPress, Laravel чи інші платформи не запустяться. А якщо сервер працює погано, це впливає на все — від швидкості до безпеки.
Ми допомогли понад 600 клієнтам оптимізувати їхні сайти — і поділимося досвідом із вами.
Спочатку вирішимо, де запускати PHP-код. Ось основні варіанти:
⚠️ Попередження: Локальні інструменти — лише для тестів. Для реальних сайтів потрібен надійний хостинг, як Hostiserver.
Для швидкого тесту:
php -S localhost:8000
І все працює!
А тепер перейдемо до встановлення.
Хочете контролювати сервер? Ось як це зробити на Ubuntu.
Крок за кроком:
sudo apt update
sudo apt install apache2
sudo apt install libapache2-mod-php
Не забудьте перезапустити сервер:
sudo systemctl restart apache2
Крок за кроком:
sudo apt update
sudo apt install nginx
sudo apt install php-fpm
Не забудьте перезапустити сервер:
sudo systemctl restart nginx
📌 Порада: Nginx із PHP-FPM добре справляється з великим трафіком — ідеально для популярних сайтів.
PHP — основа вашого сервера. Розберемо це поетапно.
На Ubuntu:
sudo apt install php php-cli php-fpm
На Windows:
Крок за кроком:
C:\PHP
.Ось базові параметри:
memory_limit = 256M
max_execution_time = 60
upload_max_filesize = 50M
post_max_size = 50M
error_reporting = E_ALL & ~E_NOTICE
Наприклад: Для магазину з великими фото ми підняли upload_max_filesize
до 100M — і завантаження стало безпроблемним. Для WooCommerce із великою кількістю зображень ми рекомендуємо збільшити memory_limit
до 512M.
Ставимо MySQL:
sudo apt install mysql-server
Запускаємо:
sudo systemctl start mysql
Підключаємо PHP:
<?php
$connection = new mysqli("localhost", "username", "password", "database_name");
if ($connection->connect_error) {
die("Connection failed: " . $connection->connect_error);
}
echo "Everything works!";
?>
Створіть info.php у /var/www/html/:
<?php
phpinfo();
?>
Відкрийте http://localhost/info.php. Якщо бачите дані про PHP, усе гаразд.
Ось 5 кроків для захисту:
Вимкніть потенційно небезпечні команди
У php.ini:
disable_functions = exec,shell_exec
exec, shell_exec, passthru, system
та інші, які можуть становити загрозу.Для Apache:
<Files "config.php">
Order Allow,Deny
Deny from all
</Files>
Для Nginx:
location ~* ^/config\.php$ {
deny all;
}
Встановіть SSL через ваш хостинг.
Перевіряйте оновлення на https://www.php.net.
Fail2Ban автоматично зупиняє підозрілі IP.
Перевага: Під час атаки на один із наших клієнтів Fail2Ban заблокував понад 200 спроб підбору пароля за 24 години.
Окрім Fail2Ban, встановіть UFW (Uncomplicated Firewall) для ще кращого захисту від небажаних запитів.
Після того як сервер захищено, час подумати про продуктивність.
Скорочення часу завантаження значно покращить UX і SEO. Ось як:
opcache.enable=1 opcache.memory_consumption=128
OPcache зберігає скомпільований PHP-код у пам’яті, щоб не обробляти його заново — це прискорює сайт. Особисто я завжди раджу його для сайтів із великим навантаженням — це дійсно рятує від зависань.
Стискайте сторінки в Apache чи Nginx.
CDN (мережа доставки контенту) прискорює завантаження статичних файлів, таких як зображення та відео.
Під час роботи з CDN не забудьте увімкнути автоматичне кешування на рівні браузера — це ще більше прискорить завантаження сторінок.
Кешування зберігає дані у швидкій пам’яті, що скорочує час обробки запитів. Використовуйте Memcached або Redis.
Клієнт із WordPress-магазином збільшив швидкість завантаження на 60% завдяки OPcache та Memcached. Інший наш клієнт із блогом скоротив час відповіді сервера на 40% завдяки CDN від Cloudflare.
Налаштування PHP-сервера — це про швидкість, безпеку та гнучкість. З правильним підходом ваш сайт працюватиме без збоїв. Потрібна допомога? Наші сервери на Hostiserver оптимізовані для високої швидкості — налаштування вже зроблено за вас. Просто запустіть сайт і насолоджуйтеся стабільною роботою!
memory_limit
до 512M і max_execution_time
до 120 для обробки великих каталогів.