Як налаштувати сайти WordPress із швидким завантаженням на DigitalOcean?

Запустіть сайти WordPress (WP) на DigitalOcean (DO) менш ніж за 10 хвилин.

Початківці блогери або власники сайтів часто запитують, як пришвидшити завантаження сайту на спільному хостингу, і вони знають про обмеження. І після кількох моментів розчарування вони хочуть перейти зі спільного хостингу на хмарний.

Одна з перших платформ хмарного хостингу, яка спадає на думку, це DigitalOcean.

DO чудово підходить для початку; він дешевший, ніж AWS і GCP, масштабований, швидкий і пропонує всі функції, які ви можете очікувати.

Але налаштувати сайт складно, якщо ви не знайомі із завданнями системного адміністрування. ОБРАЗНО дати вам ОС і все, що вам потрібно, щоб подбати про себе. Ви також можете вибрати Cloudways веб-хостинг і налаштуйте веб-сервер DigitalOcean лише кількома клацаннями миші, якщо ви не хочете вникати в усі ці технічні нюанси налаштування сервера. Вони також пропонують Digitalocean Premium Droplets.

Отримавши багато запитань електронною поштою про те, як налаштувати сайт WP на DO, я вирішив скласти процедуру для ширшої аудиторії, щоб отримати користь.

Перш ніж переходити до технічної реалізації, зверніть увагу: DO не є реєстратором доменів. Це означає, що ви не можете купити домен у них. Я припускаю, що у вас уже є домен, і якщо у вас його немає, і ви хочете отримати новий, купіть його в Namecheap.

Давайте почнемо…

Є кілька способів налаштувати WordPress, але один із найпростіших способів, який я знайшов, це використання EasyEngine. У цьому підручнику ми використаємо EasyEngine для встановлення всього необхідного програмного забезпечення та створення сайту WP.

Отримання сервера DigitalOcean

DO має центри обробки даних у багатьох місцях по всьому світу. Вибирайте ближче до своєї аудиторії.

  • Увійдіть (зареєструйтеся, якщо у вас ще немає облікового запису) у DigitalOcean
  • Створіть новий дроплет і виберіть Ubuntu 18.x як ОС
  • Виберіть план дроплет-плану на основі вимог, але якщо ви починаєте до того часу, 2 ГБ або 3 ГБ оперативної пам’яті підійде
  • Виберіть монітор як додаткову опцію
  • Введіть ім’я хоста та натисніть створити
  Як увімкнути та налаштувати субтитри на Amazon Prime Video

Це займе близько однієї хвилини, і ви побачите новостворений сервер у списку.

DO надішле облікові дані сервера на вашу зареєстровану електронну адресу.

  • Увійдіть на сервер із вказаними обліковими даними та IP-адресою за допомогою клієнта SSH

Коли ви входите в систему вперше, вам буде запропоновано змінити пароль. Це очікується та рекомендується змінити на складний пароль.

Встановлення EasyEngine

Коли сервер буде готовий, настав час встановити EasyEngine (EE). EE — це чудовий сценарій автоматизації, який допомагає створювати кілька типів сайтів за допомогою простої команди. Перевагою EE є те, що вам не потрібно турбуватися про налаштування окремих компонентів, таких як Nginx, MariaDB, Redis, PHP тощо. Усе виконується у фоновому режимі, і це абсолютно БЕЗКОШТОВНО!

Остання версія EE використовує Docker, але вам, знову ж таки, не потрібно знати про них. EE готовий до використання, і його люблять тисячі сайтів із великим трафіком.

Дозвольте мені показати вам, як легко користуватися EasyEngine. Я припускаю, що ви все ще ввійшли на сервер DigitalOcean.

  • Давайте оновимо, виконавши команду нижче
apt-get update
  • І встановіть EE за допомогою такої команди
wget -qO ee rt.cx/ee4 && sudo bash ee

Інсталяція необхідного програмного забезпечення у фоновому режимі займе кілька хвилин, після завершення ви перейдете до підказки.

Status: Downloaded newer image for easyengine/redis:v4.0.0
+-------------------+----------------------------------------------------------------------------+
| OS                | Linux 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 |
| Shell             | /bin/bash                                                                  |
| PHP binary        | /usr/bin/php7.2                                                            |
| PHP version       | 7.2.15-1+ubuntu18.04.1+deb.sury.org+1                                      |
| php.ini used      | /etc/php/7.2/cli/php.ini                                                   |
| EE root dir       | phar://ee.phar                                                             |
| EE vendor dir     | phar://ee.phar/vendor                                                      |
| EE phar path      | /root                                                                      |
| EE packages dir   |                                                                            |
| EE global config  |                                                                            |
| EE project config |                                                                            |
| EE version        | 4.0.10                                                                     |
+-------------------+----------------------------------------------------------------------------+
-----> Run "ee help site" for more information on how to create a site.
[email protected]:~#

На цьому EasyEngine встановлено та готовий до використання.

  Усе про розпізнавання облич для бізнесу

Створення сайту WordPress

EE має можливість створити сайт WordPress із кеш-пам’яттю Redis, що працює краще. Я використовую Redis на techukraine.net і задоволений ним, тому рекомендую спробувати.

Давайте створимо сайт WP у домені з кеш-пам’яттю Redis.

ee site create geekflarelab.com --type=wp --cache

Вище я використовую команду ee, щоб створити сайт із доменним іменем geekflarelab.com і ввести як WordPress із опцією кешування.

Це займе кілька секунд, і ви побачите успішне повідомлення, як показано нижче.

Configuring project.
Creating WordPress site geekflarelab.com
Copying configuration files.
Starting site's services.
Downloading and configuring WordPress.
Moved /var/www/htdocs/wp-config.php to /var/www/wp-config.php successfully
Success: Host entry successfully added.
Checking and verifying site-up status. This may take some time.

Installing WordPress site.
Success: http://geekflarelab.com has been created successfully!
Site entry created.
Creating cron entry
Success: Cron created successfully
+--------------------+----------------------------------------+
| Site               | http://geekflarelab.com                |
+--------------------+----------------------------------------+
| Site Root          | /opt/easyengine/sites/geekflarelab.com |
+--------------------+----------------------------------------+
| Site Title         | geekflarelab.com                       |
+--------------------+----------------------------------------+
| WordPress Username | inspiring-galois                       |
+--------------------+----------------------------------------+
| WordPress Password | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| DB Host            | global-db                              |
+--------------------+----------------------------------------+
| DB Name            | geekflarelab_com                       |
+--------------------+----------------------------------------+
| DB User            | geekflarelab.com-DRf3pP                |
+--------------------+----------------------------------------+
| DB Password        | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| E-Mail             | [email protected]                 |
+--------------------+----------------------------------------+
| SSL                | Not Enabled                            |
+--------------------+----------------------------------------+
| Cache              | Enabled                                |
+--------------------+----------------------------------------+
[email protected]:~#

Чудово, отже, мій сайт WP створено. EasyEngine піклується про Nginx, базу даних, оптимізацію PHP, тож вам не потрібно вносити жодних змін

Настав час перевірити це.

Як ви думаєте, це спрацює, коли я відвідаю geekflarelab.com?

Ні!

Мені потрібно оновити запис домену, щоб вказати IP-адресу сервера DigitalOcean.

  • Увійдіть у консоль реєстратора домену та оновіть запис A.
  Як використовувати трекпад на iPhone без 3D Touch

Тепер я маю доступ до geekflarelab.com

Розумієте, лише за кілька хвилин я запустив WP на хмарному сервері DO.

Я також хотів би зробити наступне.

Зміна порту SSH

За замовчуванням порт SSH 22, і всі знають. Це допомагає зловмиснику виконати атаку грубою силою, і якщо пароль сервера слабкий, ваш сервер може бути зламано. Зміна стандартного порту на інший буде швидкою перемогою.

У статті нижче я пояснив, як змінити порт SSH.

https://techukraine.net.com/cloud-vm-security-guide/#1-Changing-SSH-Default-Port

Впровадження сертифіката SSL/TLS

Обов’язково мати свій сайт через HTTPS, і добре те, що ви можете отримати його безкоштовно. Якщо ви не хочете вдаватися до тривалої технічної реалізації, я б порекомендував спробувати Cloudflare.

Cloudflare пропонує БЕЗКОШТОВНИЙ SSL, а також інші переваги продуктивності та безпеки.

Захист WordPress

Не залишайте WordPress незахищеним.

Доступно кілька плагінів, але якщо дозволяє бюджет, виберіть рішення преміум-класу. Ви можете вибрати один із варіантів Cloudflare План PRO або SUCURI. Обидва пропонують комплексні функції продуктивності та безпеки, включаючи БЕЗКОШТОВНИЙ сертифікат SSL, запобігання DDoS-атакам, пом’якшення 10 найпоширеніших уразливостей OWASP тощо.

Як швидко працює сайт DigitalOcean WP?

Ну, це важко узагальнювати, оскільки кожен сайт унікальний. Але, щоб дати вам уявлення, я провів кілька навантажувальних тестів, і ось результат.

Я встановив Тема Authority Pro від StudioPress і помістіть кілька фіктивних дописів для тестування за допомогою Blazemeter.

Досить дивно. чи не так?

Як бачите, тест проводився з 50 користувачами протягом 5 хвилин із Північної Каліфорнії, і результат приголомшливий.

  • Середній час відгуку – 351,19 мс
  • Помилка – 0%

Усе, що триває менше 1 секунди, вражає.

Висновок

Якщо ви користуєтеся спільним хостингом і плануєте перейти до хмари та готові витратити час на налаштування, то DigitalOcean буде хорошим вибором. Однак якщо у вас немає часу та навичок керувати собою, то я б порадив звернути увагу на Kinsta.

Kinsta — це керована хостингова платформа преміум-класу, яка використовує хмарну платформу Google для забезпечення найкращої продуктивності та безпеки.