В конце прошлого года я участвовал в своем первом хакатоне с легендами программирования (в моем понимании) Том Маклафлин, Дэн Бергер и Майкл Александр. Это было безумие, и я бы от души порекомендовал Rails Rumble тем, кто не может жить в районе залива, но все же хочет порубиться со своими сверстниками в рельсах.

Том был нашим главным экспертом в области devops. Я помню, как смотрел с чистым восхищением, как он раскручивал «туннель» с помощью ngrok, запуская наше приложение в Интернете со своей машины. Я никогда раньше не слышал о такой штуке, она была прекрасна, и он пронесся сквозь нее, как будто это был ветерок.

Благодаря этому опыту, научиться раскручивать собственные туннели уже давно было в моем списке дел. Я хотел:

  1. Получите больше практического опыта в области серверных технологий
  2. Расширьте мои возможности развертывания за пределы heroku
  3. Восхититесь возможностью быстро вносить изменения в игрушечные приложения на моем компьютере и увидеть, как они сразу становятся доступны в Интернете.

В прошлые выходные я попытался это сделать.

Во-первых, мне не нужно масштабируемое приложение Rails с техническими сложностями, я просто хотел, чтобы что-то качалось и катилось, чтобы цепляться за туннель, поэтому я выбрал Rails Composer. Это удобный инструмент, о котором я слышал от Ruby Rogues, который принимает от вас несколько запросов CLI и настраивает приложение в соответствии с этой спецификацией (например, аутентификация, база данных, базовые таблицы стилей, тестирование и т. д.).

В действии:

Очень просто.

Следующий. Скачайте NGROK с их сайта, старайтесь следовать инструкциям.

Чувак! Это было просто! Может быть, я *могу* сэкономить время, читая инструкции для мебели ИКЕА. (Не говорите моей девушке, что я это сказал.)

Сначала я был сбит с толку. И почти пошел по пути изучения NGINX. *глоток*

У меня была простая отладка, прежде чем все заработало как надо, но, проще говоря, все, что мне нужно было сделать, это запустить мой локальный хост на отдельной вкладке (я выбираю 7890 буквально без причины):

`рельсы с-р 7890`

Затем запустите команду ngrok в отдельной вкладке на тот же порт:

`ngrok http 7890`

И БУМ! Магия. Откройте свой туннель, чтобы просмотреть свою страницу, и в качестве бонуса вы можете открыть:

`локальный: 4040`

Для просмотра HTTP-запросов, поступающих в ваш туннель. Проверьте это (скриншот, когда все еще было сломано)!

Приложение, которое я подключил к нему, было Aristocrat Yields, которое в реальном времени обновляет и ранжирует акции S&P Aristocrat на основе дивидендной доходности. Что-то довольно простое, но достаточно удобное, я мог бы держать его открытым на сервере.

Что дальше? Видите ли, у меня есть эта старая вышедшая из употребления машина с Windows, и я всегда хотел погрузиться в Linux….. и из нее получился бы идеальный сервер в доме……….

ОБНОВЛЕНИЕ: Туннель NGROK теперь работает на Linux-машине, проверьте его здесь — http://32a1ccfa.ngrok.io/