Search
Write a publication
Pull to refresh

Comments 39

redmine нормально запускается под 1.9.2, нужно только mysql2 gem использовать
Возможно. Но в документации написано, что пока не поддерживается. Экспериментировать с некоторыми заказчиками чревато )) Мало ли что всплывет.
Спасибо, Иван, как раз по этой статье, но на вашем блоге недавно собирал. Были ряд сложностей, так как nginx у меня уже был настроенный с php-fpm, и ruby 1.8.7 почему-то не дособрал нормально коннектор к libxml, но в целом всё решилось.

Кстати с Unicorn очень даже производительное решение выходит и удобное.

Волнует вот какой вопрос, к примеру запустил я unicorn от пользователя vasya:host значит и Ruby будет работать от него.

А вот если я команду на запуск прописал в /etc/rc.local от кого будет запуск? Извините за невежество :)
Насколько я знаю, rc.local запускается от рута.
Я бы в вашей ситуации написал bash скрипт, который проверяет запущен ли демон и если нет, то переходил в нужную директорию и запускал unicorn. И поставил бы его в кронтаб от нужного пользователя.
Таким образом убилось бы 2 зайца: запуск от нужного пользователя и мониторинг.
Мне кажется с кронтабом не очень кошерно. Вот пример как можно через init скрипт сделать. Они там создают не привилегированного юзера и используют su, что бы запустить под ним.
Хорошо, когда много вариантов. Спасибо!
Зачем su если есть start-stop-daemon?
да и вообще можно заюзать тот же god или bluepill для такого.
Про start-stop-daemon не знал спссибо. Но это «дебианизм», насколько я понимаю? Не на всех ОС прокатит. А за «god или bluepill» мерси.
start-stop-daemon есть и в Gentoo и в SuSE.
для запуска unicorn удобно использовать тулзу Runit. Запускать можно от любого юзера плюс Runit сам мониторит состояние процесса и перезапускает при необходимости
Насколько я знаю, rc.local запускается от рута.
Я бы в вашей ситуации написал bash скрипт, который проверяет запущен ли демон и если нет, то переходил в нужную директорию и запускал unicorn. И поставил бы его в кронтаб от нужного пользователя.
Таким образом убилось бы 2 зайца: запуск от нужного пользователя и мониторинг.
UFO landed and left these words here
К сожалению с virtualenv на практике не сталкивался. Чем он тут лучше RVM будет?
UFO landed and left these words here
Эм и все равно не понятно. В топике представлено куча инструментов, и не думаю, что virtualenv их все реализует. Я всегда считал что virtualenv и RVM примерно равны по ф-ционалу.
UFO landed and left these words here
У нас есть ТАКИЕ приборы, но мы вам про них не расскажем! (с) Манго-Манго :) Поделились бы, особенно если есть практический опыт и с тем и с тем. А то иначе, это еще скатиться к холивару Pyhton vs ruby, чего бы мне не хотелось.

И как бы не спорю, мне и правда интересно, чем virtualenv. Может проникнусь и каким нить костылем такой же ф-уионал в RVM приделаю.
UFO landed and left these words here
спасибо за развернутый ответ. Теперь понятна ваша точка зрения. Но кроме

1) использовать pre/post workon/deactivate хуки.
2) 'make virtualenv portable',

и по духу и по умениям оба инструмента выглядят очень похожими. Мне в целом ясно. Если про 1) еще подробней расскажете (когда и для чего это полезно), то буду совсем рад :)
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Использую связку nginx+кластер из thin'ов Вполне доволен. Работает по этой схеме проект со средней нагрузкой. Производительность вполне устраивает.

Смотрел в сторону unicorn, но как-то не сложилось.
а что именно не сложилось?
а подскажите, если и порты, и location совпадают, то как nginx понимает, когда просят project, а когда redmine?
Судя по минусам, наверное все-таки не :)
За это отвечают директивы server{}. Для каждого хоста свой обработчик location.
За это отвечают директивы server{}. Для каждого хоста свой обработчик location.
Сегодня прицел страдает, извиняюсь, не в ту ветку опять.
А через виртуализацию не проще ли такую задачу решить? Здесь достаточно виртуализации на уровне операционной системы (OpenVZ, jails, zones); «тяжелые» системы, подобные VMware, не потребуются.
а зачем? Это всё решается на уровне RVM и отдельного .rvmrc для каждого проекта.
«смерть пассажира и рождение единорога». Отличное название для рок-группы…
Sign up to leave a comment.

Articles