Как много у вас приложений, сайтов, систем на Ruby, запускаемых под Rails и другие frameworks? Как часто вам приходится лезть в терминал и запускать приложения через 'rails s' и другие консольные команды? Это трата времени, сложность в управлении (в плане организации проектов). Как было бы хорошо, если бы все проекты были бы в одном месте и запускались по одному клику…
Я хочу рассказать вам про Pow. С одной стороны это простой Rack сервер для запуска ваших проектов, с другой стороны это очень удобный инструмент. Сервер разработан компанией 37signals. Единственная оговорка: сервер работает только под Mac OSX.
Всё очень просто:
Собственно и вся установка. Теперь для добавления проектов достаточно в папке
Сервер также имеет файл конфигурации
Не могу обойти стороной замечательную программу для Pow: Anvil for Mac. Это удобное дополнение позволяет в 2 шага добавить новый проект к Pow.
Я бы даже рекомендовал сначала поставить Anvil for Mac, а затем из этой программы установить Pow.
Хочу еще поделиться дополнительными инструментами по управлению сервером Pow.
Кроме упомянутого в комментарии a_vasyutin Powify также есть гем Powder. Это более простой инструмент управления чем Powify, но также умеет устанавливать сервер Pow, прилинковывать проекты, просматривать логи и т. д. Более подробно по командам можно почитать здесь: https://github.com/Rodreegez/powder#usage.
Также есть веб-обертка для Powder — Powser. Она позволяет перезапускать, делать редирект проекта прямо через браузер. После установки гема из папки проекта делаем ссылку на проект и запускаем Power:
Теперь, например, для перезапуска проекта достаточно в адресной строке браузера ввести:
Я хочу рассказать вам про Pow. С одной стороны это простой Rack сервер для запуска ваших проектов, с другой стороны это очень удобный инструмент. Сервер разработан компанией 37signals. Единственная оговорка: сервер работает только под Mac OSX.
Как работает Pow?
Всё очень просто:
- В терминале вводите команду:
curl get.pow.cx | sh
- После установки заходите в папку Pow:
. Эта папка является ссылкой наcd ~/.pow
~/Library/Application Support/Pow/Hosts
. - Делаете ссылку на ваш проект:
ln -s /path/to/myapp
- В браузере набираете
myapp.dev
Собственно и вся установка. Теперь для добавления проектов достаточно в папке
~/.pow
делать ссылки на ваши проекты. Все проекты запускаются с http://[название проекта].dev
.Сервер также имеет файл конфигурации
~/.powconfig
, который находится в домашнем каталоге. Для примера, можно указать таймаут в 5 минут для завершения запущенного проекта: export POW_TIMEOUT=300
. Более подробно о конфигурации сервера можно почитать здесь.В чем приемущества Pow?
- Не надо редактировать
/etc/hosts
для запуска проекта через доменное имя. - Не требует обслуживания. Pow простой, автономный сервер, который работает без root привилегий.
- Для установки не надо компилирования или дополнительных гемов.
- полная поддержка rbenv и Bundler.
- На один проект можно делать несколько ссылок. Таким образом осуществляется поддержка субдоменов.
- Запуск проектов с разным набором гемов и версией Ruby.
Есть ли графическая оснастка?
Не могу обойти стороной замечательную программу для Pow: Anvil for Mac. Это удобное дополнение позволяет в 2 шага добавить новый проект к Pow.
Что может Anvil for Mac?
- Установка, Перезапуск, Удаление Pow.
- Запуск, остановку сервера Pow.
- Добавление, обновление, удаление ссылок на проекты.
Я бы даже рекомендовал сначала поставить Anvil for Mac, а затем из этой программы установить Pow.
UPD:
Хочу еще поделиться дополнительными инструментами по управлению сервером Pow.
Кроме упомянутого в комментарии a_vasyutin Powify также есть гем Powder. Это более простой инструмент управления чем Powify, но также умеет устанавливать сервер Pow, прилинковывать проекты, просматривать логи и т. д. Более подробно по командам можно почитать здесь: https://github.com/Rodreegez/powder#usage.
Также есть веб-обертка для Powder — Powser. Она позволяет перезапускать, делать редирект проекта прямо через браузер. После установки гема из папки проекта делаем ссылку на проект и запускаем Power:
powser start appname
Теперь, например, для перезапуска проекта достаточно в адресной строке браузера ввести:
powser.dev/restart
или powser.dev/restart?app=appname
, где appname — любой прилинкованный проект. Более подробно про использование гема можно почитать здесь: https://github.com/phil-monroe/powser#powder-for-your-browser.