Heroku срещу DigitalOcean: Първи стъпки с DigitalOcean

Съдържание на експеримента
Част 1: Експеримент в правенето
Част 2: Първи стъпки с DigitalOcean
Част 3: Работа с пренасочвания с DigitalOcean
Част 4: Експериментът продължава

Причината да започна с този проект е, че попаднах на това разширение за Chrome, което прави различни одити на уебсайтовете ви, включително SEO, сигурност и ефективност. Получих 35% в отдела за сигурност. Докато се опитвах да измисля начини за увеличаване на този резултат, разбрах колко малко успях да направя това с моя MediaTemple GridContainer. Свързах се с MediaTemple, за да попитам как мога да променя файла httpd.conf и ми казаха, че нямам достъп до root, тъй като бях на споделен хостинг. Неприемливо.

Между DigitalOcean (ще наричам DigitalOcean като DO оттук нататък) и Heroku, DO определено е платформата, която ми дава най-много контрол над моя сървър. Както споменах в предишната публикация, DigitalOcean е IaaS, така че те ни дават сървър и оставят на мен да реша и да използвам друг софтуер за настройка, взаимодействие, поддръжка и разгръщане на код към сървъра. Ако искам LAMP стек, тогава трябва да реша каква версия на Ubuntu да използвам, да инсталирам Apache, да инсталирам защитна стена, да инсталирам MySQL, да инсталирам PHP и различните му компоненти и PHPMyAdmin.

За щастие DO предоставя страхотна документация, която да ви помогне да слезете от земята с всичко това. Нямах проблеми да изпълнявам стъпките и с моя сървър стартирах и работех с x. Ако работата в командния ред ви дава heebie jeebies, тогава първо може да не искате да изследвате този проект. Вие ще бъдете готови и чрез командния ред ще работите с DO, така че просто стойте настрана. Второ, DO улеснява вас, като предоставя приложения с едно щракване, които имат различни предварително конфигурирани приложения, които можете да използвате, включително LEAN стек, WordPress, MongoDB и PHPMyAdmin. Командният ред ме кара да се чувствам като в Матрицата, така че започвам от долния етаж на всичко и инсталирам всяко едно нещо сам.

DO има превъзходна документация за това как да направи всичко - от създаването на първата ви Droplet до инсталирането на Linux, Apache, MySQL и PHP на Ubuntu. Реших да тичам с Ubuntu 16.04.3. DO има версия 17.10 на разположение, но след някои изследвания нямаше голяма разлика и документацията използва 16.04.3, така че я запазих по този начин за последователност. Няма да навлизам в прекалено много подробности за моята настройка, защото беше доста основна за създаването на този експеримент. Реших, че ще започна ниско и да увеличавам мащаба, ако трябва, което DO прави възможно.

Единствената предизвикателна част, на която попаднах, беше инсталирането на PHP пакети. Трябваше да направя малко да копая какви пакети ще са необходими за WordPress като основа, с която да започнем. Моята логика беше, ако започна там, ще имам солидна основа. Но ако нещо се счупи ... мех, това е моят сайт. За тези, които търсят този отговор, това са PHP пакетите, които в крайна сметка инсталирах:

- php7.0-cgi
- php7.0-cli
- php-dev
- php-all-dev
- php7.0-mysql
- php7.0-xmlrpc
- php7.0-къдряне
- php7.0-gd
- php-apcu
- php-круша
- php7.0-pspell

Уверете се, че използвате PHP7 или иначе ще ви трябва различен набор от пакети.

След като приключих с инсталирането на всички тези пакети, преминах към управление на базата данни. Щях да използвам PHPMyAdmin, но реших, че мога да разчитам на добър оле Sequel Pro. Това би било едно по-малко нещо, което трябва да инсталирам и обезопася. Просто обърнете внимание, че MySQL Host и SSH Host са IP адресът на вашата капчица и Sequel Pro автоматично проверява обичайното местоположение ~ / .ssh за SSH ключове. Ако го имате на персонализирано място, ще трябва да насочите Sequel Pro там.

От Sequel Pro създадох потребител на база данни и създадох база данни за WordPress и костур. Забележка: ако искате да се свържете с Sequel Pro с този нов потребител на база данни, потребителското име и паролата са името на новия потребител на базата данни и паролата му, докато SSH хостът и SSH потребителят все още са потребител на коренния сървър. В ръководството ви препоръчва да създадете различен потребител на сървъра от root и препоръчвам да го използвате. Знам ... това е объркващо, но ще има смисъл, след като преминете през всички документации. Може просто да създам отделна публикация

След като базата данни беше готова, качих портфолиото си. Първоначално се срещнах с това:

В този момент си мисля „OMG !!! Какво се случва?!?!

Отне ми една минута, за да открия „Как да инсталирам WordPress с LAMP в Ubuntu 16.04“ по някаква причина (прочетете: открих го преди време, но не следвах инструкциите) и това ме остави в тъмното за активирането на .htaccess, mod_rewrite и деактивиране на индекси. Реших, че в крайна сметка (отново ... следва правилно инструкциите), но беше болезнено преди да открия този урок.

След като издърпах косата си и спуснах бутилка уиски, най-накрая подредих и пуснах портфолиото си. Тогава насочих вниманието си към блога на WordPress. Нека да кажа това: Вероятно никой не посещава моя блог за WordPress. Това е първата версия на Standing Dreams и беше като музикален / лайфстайл блог и моето портфолио. НО, за целите на тази поредица от блогове, исках да я поддържам и да видя какво е необходимо за преминаване от една услуга в друга.

Вдигнах портфолиото си. Вдигнах блога си. Сега е време да преминем към големия ход. Трябваше да чакам няколко дни, защото моят домейн беше с Media Temple и исках да го преместя в Google Domains. След като намерих всичко това, беше доста лесен ход. Успях да инсталирам и моя Let's Encrypt SSL сертификат сравнително лесно. С Media Temple трябваше да премина през луд процес за инсталиране на SSL сертификат от Let’s Encrypt. Те също не биха ми позволили да подновя този SSL сертификат, така че на всеки 90 дни подновявах SSL сертификата си.

Дотук добре. Определено имам пълен контрол над моя сървър. Ще ви информирам за момчета с предизвикателствата, пред които съм изправен през следващите няколко седмици.