company_banner

Jekyll на VPS за 30 рублей для состоятельных людей


    Статический HTML почти ушел в прошлое. Теперь сайты это связанные с базами данных приложения, которые динамически формируют ответ на пользовательские запросы. Однако, в этом есть и свои недостатки: более высокие требования к вычислительным ресурсам и многочисленные уязвимости в CMS. Сегодня мы расскажем о том, как поднять свой простенький блог на Jekyll — генераторе статических сайтов, контент которых берется прямиком из GitHub.

    Шаг 1. Хостинг: берем самый дешевый на рынке


    Для статических сайтов хватит недорогого виртуального хостинга. Контент при этом будет генерироваться на стороне: на локальной машине или, сразу с помощью хостинга GitHub Pages, если пользователю нужна система контроля версий. Последний, к слову, для создания страниц запускает все тот же Jekyll, но возможности конфигурирования программы вручную сильно ограничены. VPS намного интереснее виртуального хостинга, но стоит он немного дороже. 

    Сегодня мы в RUVDS снова открываем тариф «ПРОМО» за 30 рублей, позволяющий арендовать виртуальную машину на Debian, Ubuntu или CentOS. На тарифе есть ограничения, но за смешные деньги вы получите одно вычислительное ядро, 512 МБ оперативной памяти, SSD на 10 ГБ, 1 IP и возможность запуска любых приложений. 

    Давайте на нем и развернем наш Jekyll-блог.



    После запуска VPS на него надо зайти по SSH и настроить необходимое ПО: веб-сервер, сервер FTP, почтовый сервер и т.д. При этом пользователю не придется устанавливать Jekyll на собственном компьютере или терпеть ограничения хостинга GitHub Pages, хотя исходники сайта можно держать в репозитории GitHub.

    Шаг 2. Установка Jekyll


    Если коротко, Jekyll — это простой генератор статических сайтов, который изначально был разработан для создания блогов и последующего их размещения на GitHub Pages. Идея состоит в разделении контента и его оформления с использованием системы шаблонов Liquid: каталог с текстовыми файлами в формате Markdown или Textile обрабатывается конвертером и рендерером Liquid, а на выходе получается набор объединенных ссылками страниц HTML. Разместить их можно на любом сервере, для этого не потребуется CMS или доступ к СУБД — все просто и безопасно.

    Поскольку Jekyll представляет собой пакет (гем) Ruby, инсталлировать его несложно. Для этого в системе должен быть установлен Ruby версии не ниже 2.5.0, RubyGems, GCC и Make:

    gem install bundler jekyll # 

    При необходимости используйте sudo.

    Как видите, все очень просто.

    Шаг 3. Создание блога


    Чтобы создать новый сайт в подкаталоге ./mysite, нужно выполнить команду:

    jekyll new mysite

    Перейдем в него и посмотрим содержимое

    cd mysite
    ls -l




    В составе Jekyll есть собственный сервер, запустить который можно следующей командой:

    bundle exec jekyll serve

    Он отслеживает изменения контента и слушает порт 4000 на localhost (http://localhost:4000/) — этот вариант может пригодиться, если Jekyll развернут на локальной машине. 



    В нашем случае стоит сгенерировать сайт и настроить веб-сервер для его просмотра (или выложить файлы на сторонний хостинг):

    jekyll build

    Созданные файлы находятся в подкаталоге _site каталога mysite.



    Мы рассказали далеко не обо всех премудростях Jekyll. Благодаря возможностям верстки кода с подсветкой синтаксиса, больше всего этот генератор контента подходит для создания блогов разработчиков, однако на основе доступных в сети шаблонов с его помощью можно создавать самые разные статические сайты. Есть для Jekyll и плагины, которые позволяют изменить сам процесс генерации HTML. Если нужен контроль версий, файлы с контентом можно разместить в репозитории на GitHub (тогда на VPS придется установить Git).

    Самое главное, что для этого пользователю не потребуются дорогостоящие тарифы. Все будет работать даже на той самой 30-рублевой VPS.



    RUVDS.com
    VDS/VPS-хостинг. Скидка 10% по коду HABR

    Комментарии 45

      +4

      Эм. А зачем? GitHub Pages как хостинг вообще бесплатен...

        +1
        А если уж так хочется VPS, то Oracle раздаёт их вообще бесплатно.
          +1

          А также Амазон например. Я уж не говорю что также бесплатно можно хостить статику в S3 бакете, развернуть перед ним Cloudfront с терминированием SSL на нем, а доставку кода в бакет осуществлять через Codepipeline.
          И все это в рамках Free tier.

            +1
            А через год Free tiera у вас сайты аннигилируют например? Или в принципе столько не живут, как и кредитка например? А также не считая тащемта лимита 20К/месяц на GET запросы в S3 Free tier например.
            Не рассматривая остальных лимитов в рамках Free tier тащемта.
              0

              Не аннигилируют. Просто начнут биллить за потребление. Например, 5 гигабайт в S3 обойдутся в 11 центов ежемесячно, первые 10 Тб трафика из клаудфронта за месяц будут стоить около 12 центов. HTTPS запросы стоят по 1 центу за 10000 в месяц. Codepipeline бесплатен всегда. Codebuild на самом маленьком инстансе, которого хватит чтобы раскидывать статику в бакет, обойдется в 0.005$ за минуту. ACM выпускающий сертификаты бесплатно. И бесценно.
              Теперь давайте соберём все в кучу и посчитаем.
              Вводные данные — имеем сайт, который занимает не более 5 Гб, трафик генерируемый посетителями не превышает 10 Тб в месяц, и в месяц к сайту делается ну скажем 500 000 запросов. Обновляем его ну скажем раз 5 в месяц, каждый деплой занимает условно 5 минут.
              Итого имеем:
              AWS S3 storage: 0.11$
              Outgoing traffic: 0.12$
              500k https requests: 0.01x50=0.5$
              Codebuild: 5x5x0.005=0.125$


              Итого получаем 0,11+0,12+0,5+0,125=0.885$.
              Округлим до 1 доллара в месяц с поправкой на цену get запросов из S3, там около 30 центов сверху за 500к таковых.
              В два раза дороже чем 30 рублей)
              Но! Мы имеем полноценныц CDN (а клаудфронт ни что иное как CDN), мы не паримся о мониторингах и до кучи у нас нормальный SSL сертификат.
              Да ещё первый год бесплатно.


              А теперь вопрос — что вы сможете сделать с щедрым предложением от рувдс и какую нагрузку оно вообще сможет выдержать?
              3-4 уника?)

                0

                Насчет кодпайплайна наврал, 1$ в месяц за активный пайплайн. Итого 2 доллара. Ну или если потребление (количество запросов) будет в 2 раза меньше, то полтора.
                Итого от 112 до 150 рублей в месяц за highload-ready решение. Дорого ли это? Решать вам.

                  +1
                  В Amazon меня сильно напрягает отсутствие возможности задать лимит на оплату (суточный или хотя бы месячный) в случае превышения которого все сервисы бы автоматически останавливались, давая мне возможность спокойно выяснить, что же пошло не так.
                  Если куплен простой VPS за N баксов, то вы можете быть уверены, что с вас ровно столько и снимут, даже если вы там случайно что-нибудь нахимичите, из-за чего потребление ресурсов превысит все мыслимые лимиты.
                  В случае же всех этих облаков вечно трясёшься, что из-за неправильных настроек потребление улетит в небеса, и вам выставят счёт на дохренища баксов.
                    +1

                    Ставьте budget alerts, в случае превышения суточного/месячного/часового лимита будут приходить уведомления.
                    Если еще больше заморочиться — напишите лямбду, которая при превышении бюджета отключает например cloudfront дистрибуцию через api call. Все страхи от незнания возможностей)
                    Ну и конечно используйте метрики Cloudwatch для алертинга например о превышениях трафика/всплесках активности. Все решаемо.

                      0
                      У меня была ситуация что алерты начали прилетать когда я был в китае. Я про них узнал далеко не в первый день, отлкючить тоже непросто-авс из китая недоступен.
                    +2
                    Важно учесть, что трафик стоит 12 центов ЗА ГИГАБАЙТ. И тут вся математика рушится.
                      0

                      А ведь вы правы. Ночью смотрел прайсинг, здорово ошибся получается)

                    0

                    Del

                  0

                  А можно подробнее про бесплатные vps от оракл?

                    0
                    гуглится по oracle always free, у меня уже год там виртуалка работает без проблем. Впн + прокси для телеги. прокси я почти не пользуюсь, а вот впн стабильно использую. причем бесплатно дают 2 виртуалки, но вторую я даже не включал.
                        0

                        Но не у всех взлетает. Я так и не смог там зарегистрироваться, мои дебетовые и кредитные карты их процессинг не принял, а техподдержки там в принципе нет.

                    +1
                    А как же Netlify? Там даже интеграция с репозиторием есть.
                      0

                      Еще есть бесплатные тарифы у Vercel и Render

                      +2
                      Мне HUGO больше понравился, он поинтереснее, и тем красивых для него больше.
                        +2

                        интересно, вы его сразу без свободных ресурсов открыли?

                          +2
                          Так это не в первый раз. В прошлый тоже мне не хватило. При этом обещали сообщить, когда появятся по почте, но ничего не сообщили.
                          Интересно, что при этом реклама «сервер за 30 руб» висит на домашней странице. Изменилось только то, что в прошлый раз перекидывало на страницу «выбора параметров» с которой можно было выбрать не все параметры (и поэтому, видимо, кнопка «Заказать» не нажималась). Там же были ссылки на более дорогие решения от 600 руб. Сейчас «за 30 руб» выбирать ничего нельзя (как и предполагалось) и показывают другие продукты, подешевле (от 130 руб). Так что заказал за 130. Посмотрим.
                          +2

                          И как заказать это? Подписался в прошлом месяце, тишина.

                            –6

                            К сожалению, все ресурсы раскупили когда успело уйти только 30% рассылки.

                            +2
                            Я еще когда первый раз публиковали пытался получить, попросили оставить почту чтобы написать когда появятся ресурсы и так и не написали. Прошло уже очень много времени, на Хабре вы пишете что появляются, мне ничего так и не написали. Вопрос не денег, вопрос честности акции.
                              –7

                              У нас внушительный список тех, кто оставил свою почту. К сожалению, ресурсы закончились ещё когда было отправлено всего 30% писем (приходится отправлять пачками)


                              Мне очень жаль, что вам снова не достался сервер :(

                                0

                                Если не секрет, то какая себестоимость для вас?

                                  –1
                                  Не могу сказать, это под NDA
                                  +4
                                  Вам не кажется, что реклама предложения, которого в данный момент нет, и неизвестно когда будет, это скорее минус к вашей репутации? Это стандартные «мы сожалеем», кстати тоже. Такое может разве что с американцами прокатить — из книжек которых наши менеджеры этому и научились — потому что у них культура доверия, и если менеджер говорит, что сожалеет, то возможно некоторая часть американцев решит, что он и правда сожалеет, у нас такое не прокатывает, мы прекрасно знаем, что вы пишете о сожалении, потому что так написано в гайдлайне по общению с клиентами, и вообще, слова без действий ничего не значат, и если бы вы действительно сожалели, то предложили бы какие-то варианты.
                                    0

                                    А они и предлагают варианты — за 130 руб/месяц, например))

                                      0
                                      При этом рекламу «сервер за 30р» честно было бы убрать
                                    0
                                    Хоть хабр и не жалобная книга, но так как техподдержка на этом «пробном» сервере отключена, то писать о том, что 30 рублей вы взяли, но сервер не дали, писать некуда. И я что-то не думаю, что выдать инстанс должно занимать столько времени
                                    С второй половины дня вчера и до сегодня

                                      0
                                      Напишите мне в личку номер сервера, пожалуйста
                                        0
                                        У меня тоже остановилось, но на 76%, переустановить сервер возможности нет, техподдержки нет, решил удалить и хотел создать заново — а вот Вам фиг, ну хоть 30р на счет вернули, но там они и зависли.
                                          0
                                          Здравствуйте. С предыдущим комментатором проблема уже решилась, давайте вашу тоже поправим. Напишите мне в личку номер сервера, пожалуйста.
                                            0
                                            Мне кажется Вы невнимательно прочли мой комментарий, я не могу назвать сервер по причине его удаления.
                                          0
                                          У меня сутки, думаю ставят их вручную.
                                          Использовать только под тесты, так как на SSD это точно не тянет)
                                          ioping: seek rate
                                              min/avg/max/mdev = 494.0 us / 20.0 ms / 152.3 ms / 37.9 ms
                                          ioping: sequential read speed
                                              generated 29 requests in 5.26 s, 7.25 MiB, 5 iops, 1.38 MiB/s
                                          
                                          dd: sequential write speed
                                              1st run:    2.00 MiB/s
                                              2nd run:    2.19 MiB/s
                                          
                                          
                                              3rd run:    2.29 MiB/s
                                              average:    2.16 MiB/s
                                          

                                            0

                                            SSD типа "USB-флешка"

                                      0

                                      А почему github-то отмели? Там на GitHub actions можно сделать тот же Jekyll с любыми настройками, и не надо париться с сервером. А с gitlab CI\CD и gitlab pages ещё проще, кажется. И все бесплатно.

                                        +2

                                        Потому что в рекламной статье будет смешно звучать: "Мы тут рекламируем наши сервера, но вообще-то то же самое можно сделать бесплатно, проще и со 100% аптаймом"

                                        0
                                        В статье забыли про такую мелочь, как домен. Не будут же люди заходить на ваш блог прямо по IP-адресу или через какой-нибудь xip.io?
                                        И вот кстати существенный недостаток ruvds заключается в том, что они занимаются только серверами — домен придётся заказывать у кого-то другого. В этом плане куда удобнее хостеры-универсалы, у которых и облако, и VPS, и домены, и сразу готовый хостинг, поскольку позволяют взять всё нужное так сказать «на одной полке», да к тому же нередко по акциям вроде «закажите наш VPS и получите домен на год в подарок».
                                          0
                                          А я вот зашел — нет ресурсов. Всегда у вас так. Пойду на амазон, как товарищ выше писал.
                                            0
                                            Для тех кто расчитывает на что-то невероятное у ruvds за 30руб. Установка долгая, скорость чтения/записи на ssd очень маленькая, если использовать для openvpn/proxy, то на очень большом количестве сайтов теперь выдает ttk'шную заглушку о блокировке сайта. Впринципе о многом написано тут habr.com/ru/company/ruvds/blog/464571
                                              +1
                                              Мне кажется статью можно было начать с этого
                                              image
                                                +1
                                                Прошу прощения за оффтоп. Отечественным хостингом пользуюсь редко и каждая опытка печальная. Вот, например, я у Вас VPS арендовал 1-го сентября (сервер RU373936). И ушел заниматься другими делами в ожидании письма об установке. Сегодня вспомнил. А сервер до сих пор в состоянии «Установка системы...». :) После письма в поддержку он таки доустановился. Однако как Вам можно доверить какой-то сервис?
                                                  0
                                                  Здравствуйте. Мы проверили ваш сервер, он установлен и готов к работе. Если будут какие-то проблемы — пишите мне в личку, я готова помочь

                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                Самое читаемое