2017-09-06 1 views
1

Debian 7.9를 재부팅 한 후 Redmine 자동 실행을 설정하려고하는데, 그럴 수 없습니다. 보통 내가 두 명령과 함께 레드 마인을 시작합니다Debian 7.9 재부팅 후 Redmine 자동 시작

  1. CD/옵션/레드 마인/현재
  2. 루비 스크립트/-e 생산 시작을 자동화하기 위해

을 -d에 WEBrick 서버가 레일, 내가 만들어 LSBInitScript (/etc/init.d/redmine). https://wiki.debian.org/LSBInitScripts

스크립트의 전체 내용 : 나는, 파일 /etc/init.d/redmine 실행 파일을 만든

갱신-rc.d를 통해 순서를 부팅에 추가

#!/bin/bash ### BEGIN INIT INFO # Provides: redmine # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: redmine webrick # Description: redmine webrick server autostart-script ### END INIT INFO . /lib/lsb/init-functions # Modify it to your configuration DIR=/opt/redmine/current # Start Redmine in daemon mode. start(){ log_daemon_msg "Starting Redmine WebRick" cd $DIR log_progress_msg ruby script/rails server webrick -e production -d > redmine-start.log 2>&1 log_progress_msg log_end_msg 0 } # Stop Redmine daemon stop(){ log_daemon_msg "Stopping Redmine WebRick" RUBYPID=`ps aux | grep "ruby script/rails server webrick -e production -d" | grep -v grep | awk '{print $2}'` log_progress_msg if [ "x$RUBYPID" != "x" ]; then kill -2 $RUBYPID fi log_end_msg 0 } # Check if Redmine is running status(){ RUBYPID=`ps aux | grep "ruby script/rails server webrick -e production -d" | grep -v grep | awk '{print $2}'` if [ "x$RUBYPID" = "x" ]; then echo "* Redmine is not running" else echo "* Redmine is running" fi } case "$1" in start) start ;; stop) stop ;; status) status ;; restart|force-reload) stop start ;; *) echo "Usage: $0 {start|stop|restart|force-reload|status}" exit 1 esac 

redmine defaults

운영 체제를 재부팅하면 redmine-start.log 파일에 표시된 것처럼 redmine 스크립트가 실행되지만이 파일은 오류를보고합니다.

전체 출력은 다음과 같습니다

/var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/spec_set.rb:92:in `block in materialize ': Could not find json-1.8.3 in any of the sources (Bundler :: GemNotFound) 
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/spec_set.rb:85:in `map! ' 
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/spec_set.rb:85:in `materialize ' 
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/definition.rb:140:in `specs' 
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/definition.rb:185:in `specs_for ' 
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/definition.rb:174:in `requested_specs' 
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/environment.rb:18:in `requested_specs' 
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/runtime.rb:13:in `setup ' 
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler.rb:127:in `setup ' 
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/setup.rb:18:in `<top (required)> ' 
        from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require ' 

를 지금까지 내가 판단 할 수로서,이 오류는 문제가 있다는 것입니다, 그것은 보인다, 파일 JSON-1.8.3을 찾을 수없는 것을 말한다 및 뭔가가 설치되지 않았습니다. 내가 수동으로 레드 마인을 시작하려고 할 경우, 즉

오류없이 일어날 시작

을 시작 /etc/init.d/redmine. 다음 자연스러운 가정은 시스템 부팅 후 스크립트를 시작하는 순서로 오류가 발생한다는 것입니다. 그러나이 가정은 가능한 한 늦게 Redmine의 발사를 보장해야하기 때문에이 가정은 아무 것도주지 않았습니다.

필수 스타트 : 나는 또한 수동으로 로딩 중 일부 순서를 데리러 시도

모든하지만이 작동하지 않았다 $. 대신 /etc/init.d에의 내가 /etc/rc.local에에 스크립트를 추가하는 경우 대신 갱신-rc.d의 내가 insserv를 사용하는 경우 나는 비슷한 부정적인 결과를 얻을.

가이드, 다른 사람들의 스크립트는이 상황의 맥락에서 Google에서 찾을 수 없었던 동일한 오류를 제공합니다.

이 문제를 어떻게 해결할 수 있습니까?

답변

1

/etc/init.d에서 수동으로 스크립트를 실행하는 것은 좋지 않습니다. 이 스크립트는 쉘에서 상속 된 환경에서 실행됩니다. 그래서 당신의 환경에있는 어떤 것이 작동하게 만드는 것이 가능합니다.

/etc/init.d 스크립트를 사용하여 서비스를 시작하려면 service을 사용하십시오. service redmine start. 이것이 실제로 환경 문제라면 실패 할 수도 있습니다.

+0

당신이 옳았습니다. 몇 가지 환경 변수 (export var1 = .. 등)를 선언하고 Redmine을 실행할 수있었습니다. ** 서비스 redmine start ** 그러나 운영 체제를 다시 시작할 때 오류가 발생합니다. 그러나 또 다른. /usr/local/rvm/gems/ruby-2.1.5/gems/rmagick-2.13.4/lib/RMagick2.so : [BUG] 세그먼트 오류 루비 1.9.3p194 - 루비 수준 백 트레이스 정보 - -------------------------------------- 스크립트/레일 : 6 : '

'에 스크립트/레일 : 6 :'require ' –

관련 문제