Керований хостинг WordPress бере гроші за кожен сайт і ховає налаштування. На своєму VPS у вас увесь сервер, стільки сайтів, скільки він потягне, і повний контроль над PHP та кешуванням. Класичний стек — Nginx, PHP-FPM, MariaDB — ставиться на Ubuntu 24.04 хвилин за п'ятнадцять.
Перед початком: потрібен тариф із виділеним IP (відвідувачі підключаються до портів 80/443; NAT-тарифи не приймають вхідного веб-трафіку) і домен, чий A-запис указує на сервер. Micro-IP за $10/міс — зручний дім для звичайного сайту.
1. Встановіть стек
apt update
apt install -y nginx mariadb-server php8.3-fpm php8.3-mysql php8.3-curl \
php8.3-gd php8.3-intl php8.3-mbstring php8.3-xml php8.3-zip
2. Створіть базу даних
MariaDB в Ubuntu пускає root через локальний сокет без пароля:
mariadb <<'SQL'
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'wp'@'localhost' IDENTIFIED BY 'use-a-long-random-password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp'@'localhost';
FLUSH PRIVILEGES;
SQL
3. Завантажте WordPress
cd /tmp && curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
mv wordpress /var/www/example.com
chown -R www-data:www-data /var/www/example.com
4. Налаштуйте Nginx
cat > /etc/nginx/sites-available/example.com <<'EOF'
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.php;
client_max_body_size 64M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~ /\.(?!well-known) { deny all; }
}
EOF
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl reload nginx
Рядок try_files і змушує працювати гарні постійні посилання — це аналог правил .htaccess WordPress для Nginx.
Підніміть ліміт завантаження PHP до значення client_max_body_size:
sed -i 's/^upload_max_filesize.*/upload_max_filesize = 64M/; s/^post_max_size.*/post_max_size = 64M/' /etc/php/8.3/fpm/php.ini
systemctl restart php8.3-fpm
5. Безкоштовний HTTPS
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot поправить конфіг Nginx під HTTPS і налаштує автоматичне продовження.
6. Завершіть у браузері
Відкрийте https://example.com, введіть ім'я бази (wordpress), користувача (wp) і пароль із кроку 2 та створіть обліковий запис адміністратора. Оберіть ім'я адміна, відмінне від «admin».
Щоб було швидко й безпечно
- Файрвол:
ufw allow 22/tcp && ufw allow 'Nginx Full' && ufw enable. - Оновлення: увімкніть у панелі автооновлення ядра WordPress, а для сервера — автоматичні оновлення безпеки.
- Кешування: плагін посторінкового кешу на маленькому сервері дає більше, ніж будь-яке налаштування сервера.
- Бекапи: Managed Backups зберігають щоденні точки відновлення всього сервера ($2/міс, безкоштовно на річних тарифах). Для переносної копії додайте
mysqldump wordpress > wp.sqlі текуwp-content. - Пам'ять: на серверах із 1 ГБ додайте своп-файл на 2 ГБ.
Пов'язане
- VPS для сайту
- Nginx reverse proxy з HTTPS
- VPS для аналітики Plausible — статистика сайту без cookie
Коментарі
Поки немає коментарів. Будьте першим.