요리사와 함께 Rails App 서버를 배포하고 있습니다. Ruby 소스 설치에서 RVM으로 바꿨습니다 (배포 사용자와 관련하여 문제가 있었기 때문에).Runit과 사용자의 RVM을 사용하여 Unicorn을 시작하십시오.
이제 배포를 정렬하고 자산을 컴파일하고 모든 bundem을 설치했습니다.
내가 Runit와 유니콘 감독되고있는 문제 ..
RVM은 루트 사용자로 설치되지 않습니다 - 내 배포 사용자가있는 경우에만로, 다음과 같이
$ rvm list
rvm rubies
=* ruby-2.0.0-p247 [ x86_64 ]
내가 수동으로 할 수 내 배포 사용자로부터 Unicorn을 성공적으로 시작하십시오. 그러나, 그것은 runit의 일환으로 시작되지 않습니다.
내 실행 파일은 다음과 같습니다. 루트로 실행 않습니다
/usr/bin/env: ruby_noexec_wrapper: No such file or directory
내가 작은 스크립트 (
gist here를) 생성 : 나는 또한 실패이
SO question에서 솔루션 .. 내가 수동으로 실행하는 경우
#!/bin/bash
cd /var/www/html/deploy/production/current
exec 2>&1
exec chpst -u deploy:deploy /home/deploy/.rvm/gems/ruby-2.0.0-p247/bin/unicorn -E production -c config/unicorn_production.rb
, 나는이 오류를 시도했다 . 내가 runit에서이 전화를하는 경우에는, 나는 노동자 시작 볼 수 있지만 내가 runit 두 가지 프로세스를 얻을 내가 중지하거나 서비스를 다시 시작할 수 없습니다 : PS의
출력 :
1001 29062 1 0 00:08 ? 00:00:00 unicorn master -D -E production -c /var/www/html/deploy/production/current/config/unicorn_production.rb
1001 29065 29062 9 00:08 ? 00:00:12 unicorn worker[0] -D -E production -c /var/www/html/deploy/production/current/config/unicorn_production.rb
root 29076 920 0 00:08 ? 00:00:00 su - deploy -c cd /var/www/html/deploy/production/current; export GEM_HOME=/home/deploy/.rvm/gems/ruby-2.0.0-p247; /home/deploy/.rvm/gems/ruby-2.0.0-p247/bin/unicorn -D -E production -c /var/www/html/deploy/production/current/config/unicorn_production.rb
1001 29083 29076 0 00:08 ? 00:00:00 -su -c cd /var/www/html/deploy/production/current; export GEM_HOME=/home/deploy/.rvm/gems/ruby-2.0.0-p247; /home/deploy/.rvm/gems/ruby-2.0.0-p247/bin/unicorn -D -E production -c /var/www/html/deploy/production/current/config/unicorn_production.rb
을 내가 뭘해야 여기있어? 멋지게 작동 한 monit으로 다시 이동 하시겠습니까? 가 될 필요가 없습니다 있도록 스크립트 사용 별칭을 단순화하기 위해
rvm wrapper ruby-2.0.0-p247 --no-links unicorn
: 당신의 실행 파일이 래퍼를 사용하는 것을 목적으로 잘못, 당신은 환경을 설정하지 않고 바이너리를 사용하고있다
답변 해 주셔서 감사합니다. 배포 사용자로 래퍼와 별칭을 모두 실행했습니다 (루트가 rvm에 액세스 할 수 없기 때문에 가정 함). 그러나 runit은 여전히 시작하지 않을 것이고 root로 수동으로 실행하면 ruby_noexec_wrapper를 찾을 수 없습니다. – simonmorley
실제로 그렇게했습니다. 데몬을 몇 번 죽일 필요가있었습니다. 고마워, 행복한 날들 :) – simonmorley