Запустіть сайти 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 ГБ оперативної пам’яті підійде
- Виберіть монітор як додаткову опцію
- Введіть ім’я хоста та натисніть створити
Це займе близько однієї хвилини, і ви побачите новостворений сервер у списку.
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.
Тепер я маю доступ до 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 для забезпечення найкращої продуктивності та безпеки.