启动和停止瘦服务器的问题:

时间:2013-12-08 23:59:37

标签: ruby-on-rails rvm thin init.d

我正在为生产中的Rails应用程序使用瘦服务器。我在init.d中使用thin,因此使用rvm包装器。以下是我遵循的步骤:

root@:~# rvm gemset create ruby2
gemset created ruby2    => /usr/local/rvm/gems/ruby-2.0.0-p195@ruby2
root@:~# rvm alias create ruby2 ruby-2.0.0-p195@ruby2
Creating alias my_app for ruby-2.0.0-p195@ruby2.
Recording alias my_app for ruby-2.0.0-p195@ruby2.
root@:~# rvm wrapper ruby2 bootup thin
Saving wrappers to '/usr/local/rvm/bin'.

然后我在/ etc / thin下为thin创建了一个配置文件,如下所示:

---
require: []

log: log/thin.log
max_conns: 1024
pid: tmp/pids/thin.pid
wait: 30
timeout: 30
address: 0.0.0.0
max_persistent_conns: 100
chdir: /root/app1/app
environment: production
port: 3000
daemonize: true

/etc/init.d/thin has configs as followS:
DAEMON=/usr/local/rvm/bin/bootup_thin
SCRIPT_NAME=/etc/init.d/thin
CONFIG_PATH=/etc/thin

我遇到的实际问题是,当我使用/etc/init.d/thin start启动精简过程时,即使命令完成且没有错误,我也看不到任何进程。当我停止它时(/etc/init.d/thin stop)我得到了

    /usr/local/rvm/gems/ruby-2.0.0-p195@ruby2/gems/thin-1.6.1/lib 
    /thin/daemonizing.rb:129:in `send_signal': Can't stop process, no PID found in tmp/pids  
/thin.pid (Thin::PidFileNotFound)

有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我的第一个假设是使/ etc / thin配置位置包含完整路径而不是相对路径。 /log/thin.log代替log/thin.log