【问题标题】:Problems with starting and stopping thin server:启动和停止瘦服务器的问题:
【发布时间】:2013-12-25 23:39:49
【问题描述】:

我在生产中为我的 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)

有什么想法吗?

谢谢

【问题讨论】:

  • 你试过这个解决方案了吗? stackoverflow.com/questions/17023758/… 或任何这些解决方案? google.co.uk/…
  • 你能发布你的 /etc/init.d 脚本文件吗?
  • 我做了很多事情,比如重新启动我的机器、进行捆绑安装和更改权限,但不确定哪一个有效,但现在它有效。但是我的原始帖子还有另一个问题。我创建了一个像 rvm wrapper ruby​​2 bootup thin 这样的包装器,如在线示例中给出的,但是当我执行独立命令 bootup thin 时,它给出了一个错误。但是现在一切正常,我可能需要采取任何其他预防措施,尤其是使用 wrapper 命令?抱歉,这是我第一次自己开发 Rails 应用程序

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


【解决方案1】:

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

【讨论】:

  • 我认为这并不重要,因为您指定了变量 chdir: /root/raagas_app1/raagas_app
猜你喜欢
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-31
  • 2014-01-01
  • 2010-09-06
相关资源
最近更新 更多