Простой деплой Ruby on Rails на VPS: digital ocean, ubuntu, nginx, passenger, postgres

Поделиться
HTML-код
  • Опубликовано: 7 фев 2017
  • 💎 Наш онлайн-курс по Ruby on Rails: goo.gl/aAPsYX
    💧 Реферальная ссылка (+100$ на ваш счет): bit.ly/best-do
    🔌 Альтернативный хостинг (дешевле, больше трафика): bit.ly/best-hetzner
    В этом мастер-классе по простой настройке VPS сервера для публикации ваших ruby on rails приложений мы используем Digital ocean ubuntu, веб-сервер nginx, сервер приложений passenger, базы данных postgres и rbenv для установки нужной версии ruby.
    План видео:
    0:06 - Что нужно подготовить к уроку
    2:07 - Что такое VPS
    4:40 - Подключение DigitalOcean VPS
    12:18 - Linux пользователи: настройка
    18:26 - Установка rbenv
    22:52 - Установка ruby через rbenv
    25:14 - Установка nginx + passenger
    33:14 - Конфиги nginx
    37:44 - Установка Postgres
    42:04 - Добавляем пользователя postgres
    45:38 - Создаем Rails приложение
    52:56 - Настройка репозитория приложения
    54:24 - Клонирование и деплой приложения
    1:00:55 - Деплой новой версии приложения
    1:03:07 - Резюме: сделали все руками чтобы понять
    © 2017 «Хороший программист»
    ----

Комментарии • 79

  • @user-xd3gu6vr2n
    @user-xd3gu6vr2n 2 года назад +2

    Смешная вставка с монстром, который кидает в человека кружку с кофе. Это походит на меня, когда меня разозлят, и бью посуду))

  • @vadym4460
    @vadym4460 7 лет назад +6

    Потрясающий мастер-класс, спасибо Вам большое)

  • @soulcode9941
    @soulcode9941 4 года назад +5

    Такой стек в одном видео, просто супер полезное видео. Спасибо большое за мастер класс)

  • @hakooplayplay3212
    @hakooplayplay3212 5 лет назад +2

    Шикарный материал. Все получилось! Благодарю!

  • @MrVainamainen
    @MrVainamainen 6 лет назад +8

    Великолепная подача материала! Канал - редкий гем), каких действительно мало

  • @glebnikitenko6971
    @glebnikitenko6971 7 лет назад +2

    Спасибо за урок, и ваш канал в целом! Жду от вас урока по построение API на Ruby on Rails.

    • @installero
      @installero 7 лет назад

      Не за что. Спасибо за отзыв!

  • @user-uh5ti8ol1d
    @user-uh5ti8ol1d 5 лет назад +1

    Респект автору, очень помогло!

  • @6666Nameless
    @6666Nameless 3 года назад

    Огромное спасибо! Очень полезно и понятно.

  • @KreoWolf
    @KreoWolf 7 лет назад +2

    Спасибо, вы лучшие!

  • @sergeytrigubov4587
    @sergeytrigubov4587 4 года назад +1

    наконец-то нашёл что-то годное и понятное, правда были свои проблемы в связи с Ubuntu 18, но благодаря видосу и гуглу всё получилось

  • @andriy2659
    @andriy2659 7 лет назад +4

    спасибо!
    Ты лучший! Очень хорошая подача материала!

    • @goodprogrammer
      @goodprogrammer  7 лет назад

      Отлично, спасибо! Захотите к нам: goodprogrammer.ru

    • @user-fm1cn2vg2k
      @user-fm1cn2vg2k 6 лет назад

      Рассказал хорошо, но так как не надо делать
      Лучше без пассажира, обязательно capistrano

    • @user-fm1cn2vg2k
      @user-fm1cn2vg2k 6 лет назад

      Видно php здорово прищепило

  • @nag2199
    @nag2199 7 лет назад +1

    Вооооу! Вот это подарочек! Спасибо!

    • @goodprogrammer
      @goodprogrammer  7 лет назад +1

      На здоровье! Используйте с умом ;)

  • @mingeog.e.m.839
    @mingeog.e.m.839 5 лет назад +1

    Большое спасибо !

  • @iamrealnurs8368
    @iamrealnurs8368 6 лет назад +1

    Супер афигенное классное шикарное видео)

  • @ELDAR011288
    @ELDAR011288 2 года назад

    классный видос!

  • @Deletedeletedelete
    @Deletedeletedelete 7 лет назад +2

    Спасибо за большой труд!

    • @goodprogrammer
      @goodprogrammer  7 лет назад

      Спасибо за отзыв. Напоминаю про интенсив, пара мест ещё осталась: goodprogrammer.ru/rails-winter-17

    • @Deletedeletedelete
      @Deletedeletedelete 7 лет назад

      На этот раз не успел (был в отпуске).
      И еще вопросик: разработку (а также обучение) происходит под ubuntu 14.04?
      И с каким окружением стоит познакомиться поближе помимо ОС (Ubuntu, RoR, Git, Vim, sublime text), чтоб войти в интенсив не совсем деревянным??))
      Извиняюсь, если вопросы покажутся абсурдными. Только вникаю во все...

    • @goodprogrammer
      @goodprogrammer  7 лет назад

      Начинаем на Windows, потом переходим на Ubuntu, но можете сразу на ней. Если освоитесь заранее в Ubuntu, будет круто!

    • @Artistofun
      @Artistofun 7 лет назад +1

      Напишите нам письмо со всеми вашими вопросами на hi@goodprogrammer.ru - детально ответим

  • @nguyenlin9025
    @nguyenlin9025 6 лет назад +1

    Thank you for very useful tutorial.

  • @kafuprfin
    @kafuprfin 6 лет назад +1

    Спасибо за урок! Может подскажите как перенести данные из sqlite3 с development среды rails на production postgres ?
    Пробовал gem yaml_db, но база перенеслась пустой

  • @kstishko6771
    @kstishko6771 7 лет назад +3

    Лойс кто от Гоши!

  • @user-kv2fh2rg8e
    @user-kv2fh2rg8e 7 лет назад +1

    Спасибо за видео. Я наконец то разобрался в этой теме.
    Есть вопрос: а можно ли под пользователем скажем deploy1 настроить связку nginx+passenger, а под пользователем deploy2 настроить связку apache+passenger ? Ну понятное дело, что под каждым пользователем будут развернуты разные приложения.
    Можно так сделать?

    • @goodprogrammer
      @goodprogrammer  7 лет назад

      Можно. Но не советую так делать. Лучше для каждого приложения вообще поднимать отдельную ноду (отдельный VPS)-сервер.

  • @kafuprfin
    @kafuprfin 5 лет назад +1

    Если у кого-то не сразу завелся nginx, то идем сюда www.digitalocean.com/community/tutorials/nginx-ubuntu-18-04-ru

  • @user-rl2lz7ie5o
    @user-rl2lz7ie5o 7 лет назад +2

    Подскажите пожалуйста! Развернул passenger + nginx на локальной машине, но при заходе на сайт вываливается ошибка:
    There was an error while trying to load the gem 'uglifier'.
    Gem Load Error is: Could not find a JavaScript runtime. See github.com/rails/execjs for a list of available runtimes.
    При этом nodejs установлен. Все начинает работать если раскоментить gem therubyracer, но его ведь не обязательно использовать? В чем может быть проблема?

    • @goodprogrammer
      @goodprogrammer  7 лет назад

      так используйте рубирейсер, раз работает, зачем себе жизнь усложнять :)
      почитайте про этот гем github.com/cowboyd/therubyracer
      его как видно использует углифаер и другие гемы

  • @IonWP
    @IonWP 7 лет назад +1

    Супер! такои вапрос - как устроится на работу (или internship) без знания хорошого англискии ? Что за линукс?

    • @goodprogrammer
      @goodprogrammer  7 лет назад

      Как без английского устроиться на работу куда?
      Я лично все делал на Crunchbang ++, но Вам подойдет любой.

    • @IonWP
      @IonWP 7 лет назад

      технически знаю

  • @DoctorRainer
    @DoctorRainer 7 лет назад +1

    Ох, на FreeBSD пока так и не вышло

  • @ilyaradushnov6679
    @ilyaradushnov6679 7 лет назад +1

    Добрый день! Когда в файле /etc/nginx/sites-available/myapp прописываю
    access_log /var/log/nginx/myapp.access.log , то сервер не запускается.
    В логе ошибок появляется строка:
    06:23:34 [emerg] 3001#3001: open() "/var/log/ngnix/myapp.access.log" failed (2: No such file or directory)
    Хотя файл там есть и его можно открыть через vim. Если эти строки убрать, nginx нормально пишет логи в дефолтные файлы в той же папке.

  • @user-fg6un4ho9z
    @user-fg6un4ho9z 7 лет назад

    Зачем под винду виртуальная машина c линухом? Все действия с ssh можно проделать через putty.

    • @goodprogrammer
      @goodprogrammer  7 лет назад

      Чтобы создать ruby on rails приложение как минимум, которое по легенде Вы разрабатываете. Можно, конечно, и резработку через putty вести, но тогда у Вас уже есть где-то сервер, в этом видео тогда вообще смысла нет :)

  • @MrDeviant1989
    @MrDeviant1989 7 лет назад +1

    По-моему капля - очень аутентичное название. Океан цифровых технологий, и ваш vps - это капля в этом океане.

  • @Kodin.E
    @Kodin.E 2 года назад

    35:00

  • @iamrealnurs8368
    @iamrealnurs8368 4 года назад

    У меня . файла . /etc/nginx/passenger.conf почему то нет

    • @goodprogrammer
      @goodprogrammer  4 года назад

      создайте

    • @goodprogrammer
      @goodprogrammer  4 года назад

      на видео говорим про это

    • @user-jh5cb1we5g
      @user-jh5cb1we5g 4 года назад +2

      на текущий момент такой файл назвается /etc/nginx/conf.d/mod-http-passenger.conf и он уже автоматом включен в /etc/nginx/nginx.conf

  • @user-ts4ry2ru6y
    @user-ts4ry2ru6y 7 лет назад

    Здравствуйте, как вожу ssh-copy-id deploy@ххх.ххх.ххх.хх у меня ошибка:
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    --> Permission denied (publickey).
    Можете подсказать пожалуйста почему?
    root@rails-deploy:~# ls ~/.ssh/
    authorized_keys
    ➜ ~ ls ~/.ssh/
    id_rsa id_rsa.pub known_hosts

    • @goodprogrammer
      @goodprogrammer  7 лет назад +1

      Под рутом на удаленной машине пропишите пользователю deploy ключ в /home/deploy/.ssh/authorized_keys, папке .ssh не забудьте проставить права 700, а authorized_keys - 600 и «отдать папку» юзеру deploy с помощью chown

    • @user-ts4ry2ru6y
      @user-ts4ry2ru6y 7 лет назад

      Спасибо большое. Всё получилось, продолжаю дальше.

    • @fidangallyamov5302
      @fidangallyamov5302 6 лет назад

      Расскажите про данный процесс подробнее пожалуйста, не могу разобраться

    • @fidangallyamov5302
      @fidangallyamov5302 6 лет назад

      Все разобрался, вот тут пошаговое руководство - если кто тоже не может сам справиться
      www.digitalocean.com/community/tutorials/c-ubuntu-14-04-ru

  • @user-bo7jo5cw5o
    @user-bo7jo5cw5o 6 лет назад

    Ребята хэлп! Все делаю по видео, буквально буква в букву, никаких ошибок и нестыковок не возникает, но в самом конце, когда на сайте должно отобразиться мое приложение я получаю ошибку 403 Forbidden nginx/1.12.2, как так то?
    в error log следующее
    2017/12/08 09:32:03 [error] 31498#31498: *1 directory index of "/home/deploy/www/public/" is forbidden, client: 92.212.92.222, server: mydomain.com, request: "GET / HTTP/1.1", host: "199.213.123.163"

    • @goodprogrammer
      @goodprogrammer  6 лет назад

      Проверьте настройки passenger:
      stackoverflow.com/questions/19553907/403-forbidden-on-rails-app-w-nginx-passenger

  • @ui3er
    @ui3er 6 лет назад

    Обьясни пжл, зачем ты создаешь рельсы на локальной машине, если у тя стоит система на VPS?

    • @goodprogrammer
      @goodprogrammer  6 лет назад +2

      На локальной машине разрабатываем (в процессе разработки приложение может быть не рабочим), на VPS выгружаем готовую версию системы с реальной базой, реальными пользователями. А вы как разрабатываете? Прямо на боевой? :)

  • @user-sz6xf2po2l
    @user-sz6xf2po2l 7 лет назад

    Ребята почему именно руби? а не python c# и c++ это же мощные языки

    • @goodprogrammer
      @goodprogrammer  7 лет назад

      Леат-леат :)

    • @user-sz6xf2po2l
      @user-sz6xf2po2l 7 лет назад

      Хороший программист а что такое леат?

  • @dmytrob7336
    @dmytrob7336 7 лет назад

    Удобная инструкция по установке rvm/rbenv под любую версию Ubuntu gorails.com/setup/ubuntu/16.04.

  • @aces-group
    @aces-group 4 года назад

    enable cc for Translation...shall I learn sawyet or rassen or watch your show! txt for upload

  • @atsgus5225
    @atsgus5225 4 года назад +1

    digitalocean сразу банит акки после реги...

    • @goodprogrammer
      @goodprogrammer  4 года назад

      Да, бывает. Если к кредитке вопросы возникли. Если регистрировались по нашей ссылке, напишите в поддержку, скажите, что с этого видео пришли, сошлитесь на номер тикета #03034384, разбанят

  • @iamrealnurs8368
    @iamrealnurs8368 7 лет назад +3

    Если что создатель Nginх Игорь Сысоев из Алматы (Казахстан) а не из России)

    • @goodprogrammer
      @goodprogrammer  7 лет назад +2

      Понимаю Вашу гордость за соотечественника! Родился он ещё в СССР :)
      Вот, что пишет Википедия: Игорь Владимирович Сысо́ев (28 сентября, 1970, Алма-Ата) - российский программист, создатель веб-сервера nginx, CTO в компании Nginx, Inc. Сысоев родился и вырос в Алма-Ате, Казахской ССР. После переехал в Москву, где в 1994 году окончил МГТУ им. Баумана.

    • @iamrealnurs8368
      @iamrealnurs8368 7 лет назад

      По идее мы все дети одной страны) печально что Казахстан не смог обеспечить ему условия при которых его проект мог бы развиться отсюда) тоже самое и про Воложа и Сегаловича

    • @goodprogrammer
      @goodprogrammer  7 лет назад +2

      Казахстан отлично развивается сейчас!