Как стать автором
Обновить

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

>Пробуем:
>#> asdlkjflaskdjf

#>/etc/rc.local && echo «ok»; sleep 30; iptables -F
#>ok
#>^C
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Есть подозрение, что при неверных настройках фаервола соеденение будет закрыто и процессу bash будет отослана комманда HUP, что приведет к его остановке. Что бы этого не произошло, можно использовать комманду nohup, которая проигнорирует этот сиграл и bash завершит откат настроек.
Перестал использовать rvm в пользу более православного rbenv+ruby-build. А за статью спасибо.
А чем лучше?
не переопределяет shell команд, плюс возможность собирать руби со своими настройками
И отсутствие гемсетов.
Очень вовремя!
Неделя «Настроил RoR — напиши статью» на Хабре?
ИМХО статья habrahabr.ru/blogs/ror/120368/ — самая православная.
НЛО прилетело и опубликовало эту надпись здесь
почему же неделя?..
Потому что habrahabr.ru/blogs/ror/129583/
Не надо только рассказывать, что там Амазон, а тут просто про убунту — принципиальной разницы нет.
а, действительно неделя. раньше я думал, что они каждый месяц появляются.
Статей–то много, но когда нужно делать подобное самому, что всегда оказывается, что именно таких статей адово не хватает, поэтому я двумя руками «за» подобные руководства. Лишними уж точно не будут.
— Для разных проектов лучше использовать разных пользователей. Если уж разграничивать права, то нужно быть последовательным.
— Автор rvm рекомендует ставить его общесистемно, под рутом. В случае пользователя на проект это позволяет иметь всего одну копию rvm'а.
— Несмотря на рекомендацию ставить rvm так, как указано в статье (и на beginrescueend), лучше делать так:
curl -s rvm.beginrescueend.com/install/rvm -o rvm-installer; chmod +x rvm-installer; ./rvm-installer --version latest

Возможно, мне не везло, но мой опыт показывает, что HEAD, который ставится в противном случае, очень часто поломан. А вот latest — это последний стабильный релиз.
НЛО прилетело и опубликовало эту надпись здесь
На каком уровне разграничивать? Добавить к nginx серверы приложений отдельные и их запускать под своими пользователями?

Можно использовать nginx только как прокси и для статики, а остальное отдавать отдельному юникорну. Это один вариант.
Но passenger тоже может менять владельца процесса: modrails.com/documentation/Users%20guide%20Nginx.html#PassengerUserSwitching
Если это разные пользователи, то можно изолировать папки проектов друг от друга просто выставлением прав.
For most purposes, the recommended installation method is Single-User.
Автор НЕ рекоммендует ставить rvm общесистемно. Пруфлинк.

Для деплоя разных проектов использовать разных пользователей? А то крутится-то это всё потом будет под пассажиром.
For most purposes, the recommended installation method is Single-User.

most — не all.
Автор НЕ рекоммендует ставить rvm общесистемно.

Рекомендовал долгое время. Теперь действительно уже не рекомендует, спасибо за информацию.
Для деплоя разных проектов использовать разных пользователей? А то крутится-то это всё потом будет под пассажиром.

habrahabr.ru/blogs/ror/129817/?reply_to=4299587#comment_4299132
Спасибо, интересная возможность. Я буду внимательнее читать обсуждения.
Перезагружаемся:
Дальше не читал.
НЛО прилетело и опубликовало эту надпись здесь
Всё работает — хорошо. Добавляем свой ключ:
Тогда уж следует сразу отключить авторизацию по паролю, раз уж все равно по ключам ходите.
НЛО прилетело и опубликовало эту надпись здесь
Бэкапить ключи?
Спасибо! Сделаю ещё одну попытку использовать рельсы не только для прототипов — надеюсь под Debian также заработает или отличия от Ubuntu будут минимальны и очевидны (типа отсутствия sudo). Ещё бы продолжение к статье, как всё это дело грамотно обновлять, чтобы даунтайм был минимальный, а в идеале и вообще без него.
> отличия от Ubuntu будут минимальны и очевидны (типа отсутствия sudo)
apt-get install sudo
Мне кажется более простой метод настройка nginx
gem install passenger
cd `passenger-config --root`/ext/nginx && rake nginx
sudo add-apt-repository ppa:nginx/stable
sudo sed -i 's/^deb/deb-src/g' /etc/apt/sources.list.d/nginx-stable-lucid.list
sudo apt-get update && mkdir source && cd source && apt-get source nginx


Редактируем nginx-X.X.X/debian/rules
--add-module=$(shell passenger-config --root)/ext/nginx \


apt-get install build-dep nginx
dpkg-buildpackage


После этого у вас правильная дебка nginx которую можно просто ставить через dpkg -i
Это бесполезная статья. Лучше было опубликовать скрипт для бабушки, повара или пуштяна, и вкратце обьяснить то, что он делает.
DRY относится к развёртыванию ничуть не меньше, чем к коду.
А в чём тут нарушение DRY?
Вероятно имеется ввиду, то что это придется проделывать с каждым сервером как автору, так и тем кто решил воспользоваться его советами. А был бы рецепт, все стало бы намного проще.
По-моему, скриптик не сложно написатт, особенно если отбросить «вводную» часть.
НЛО прилетело и опубликовало эту надпись здесь
sudo nano /etc/group

Лучше использовать комманду usermod:

# usermod -G `id -nG | sed -e 's/ /,/g' -e 's/sudo,//g'` deployer

По фэн-шую можно сохранить конфигурацию в отдельный файл...

Да, лучше использовать iptables-save и iptables-restore.
Интересно, а где автор взял «чистую» Ubuntu? По-умолчанию, с системой ставится куча всякого софта, который не всегда нужен.
Ubuntu server + в начале установки указываете «minimal бла-бла-бла».
Это какой, например? Вы, надеюсь, про серверную?
Также удобно создать в корне проекта файл .rvmrc, примерно такой:

_RUBY=ruby-1.9.2-p290
_PROJECT=my-project

export rvm_gem_options="--no-rdoc --no-ri"

if [[ -s "${rvm_path:-$HOME/.rvm}/environments/$_RUBY@$_PROJECT" ]]
then
  . "${rvm_path:-$HOME/.rvm}/environments/$_RUBY@$_PROJECT"
else
  rvm --create use  "$_RUBY@$_PROJECT"
  gem install bundler $rvm_gem_options
fi

# check for and install missing gems
[ -s Gemfile ] && bundle check || bundle install</code>
помогите на centos сделать автозапуск nginx при рестарте
Слишком много действий, не? Ну я хз конечно, я только под фрёй поднимал.
НЛО прилетело и опубликовало эту надпись здесь
Не понятно как в данном случае делать деплой? Или руками скрипт писать? Для капистрано нужно будет еще пару тело движений делать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации