新手问题 rails app 在 ssh 断开以后就打不开

TheLover_Z · 2013年11月14日 · 最后由 yunfei1982 回复于 2015年05月12日 · 3486 次阅读

在 ssh 断开以后,rails app 就打不开;连上以后就能打开。而且 ssh 还必须是某个用户(组?)

出错信息可能有:

cannot load such file action_view/template/error

还可能有:

cannot load such file -- rails/backtrace_cleaner

一开始想到了权限问题,设置 777 也没用。

还有个很诡异的问题,先清空 log/development.log,然后断开 ssh 再连上去发现这个文件已经恢复了……

环境:

  • apache
  • unicorn / passenger
  • ruby 2.0.0
  • rails 3.2.14

@TheLover_Z 看错了,你到底是用的unicorn还是passenger

你肯定用了 development 模式,要用 production 模式跑!

#1 楼 @mojidong 两个都不行……

#2 楼 @kgen precompile 的时候有一个 index.css.scss 没法编译,所以暂时跑的 development..

index.css.scss 你放在哪里,另外你确定其他的都编译了

#4 楼 @mojidong 其它都编译了,就剩下一个 index.css.scss 没有编译进去,application.cssconfig.assets.precompile 都无效……

你用 rails s 来启动的么,那样当然退出后没法用了。

index.css.scss 是放在 assets/stylesheets 下的吗

#6 楼 @kgen rails s -d 也不行,断开 ssh 后白屏,在 byobu 下用 rails s 跑然后断开连接刷新网页在接回去出现错误日志 ActionView::MissingTemplate (Missing template page/home, application/home with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:

为何不用 Unicorn ?

楼主得描述一下你是怎么启动的 rails app

#9 楼 @kgen unicorn 也不行,一样的问题……

#10 楼 @ruohanc 是 apache + unicorn / passenger,具体的得问 @zxc9007 ……

在一台服务器上部署了的两个 rails app,都是 apache+passenger。一个跑 production 一个跑 development,分别在两个 app 目录下 public/.htaccess 设置运行环境。然后某天晚上尝试打开网页发现打开不能,提示 passenger 下的 Spawn no such file or directory,然后页面还带有 https://github.com/phusion/passenger/wiki/Debugging-application-startup-problems这个链接。 在有 ssh 接入的情况下一切良好,一旦断开马上跳上面的错误或者在跑 development 的那个 app 跳出 production 的 500 页面。。。。 到现在还不清楚到底什么问题。。。 今天调试分别用 passenger 和 unicorn 和 webrick. passenger 使用 apache 下加载。 unicorn 进入目录 unicorn -p 5000 -D 后,配置 apache 反向代理 webrick 直接 rails s -d -p 3000。 此时如果 ssh 还在连接则页面正常 断开后 passenger 的报页面 xxxx no such file or directory unicorn 页面 500 白屏 webrick 同上 在 byobu 中运行 uncorn 和 webrick 然后断开 ssh 刷新页面后再连回去看日志出现 “ActionView::MissingTemplate (Missing template page/home, application/home with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:”

于是今天临时使用在 byobu 中 ssh 自己。。。以保持两个 rails app 正常。。。 并还有一台相同配置的服务器,访问一直正常。。。 感觉像是权限设置问题导致 rvm 跑错环境了。。。

ssh 竟然会影响已经开启的服务 用两个 ssh 连接,一个监视另外一个推出的时候日志发生了什么变化,apache,rails 的 log 都看看。

@zxc9007 服務器是否有用 ecryptfs 之類的 home 目錄加密?

难道你用的 screen??

#16 楼 @small_fish__ 嗯,ubuntu 定制过的

最近也碰到同样问题,楼主解决了吗? @zxc9007 @TheLover_Z

#19 楼 @TheLover_Z 我之前已经解决了,最好的办法就是系统用 root 账户来部署控制。

21 楼 已删除
需要 登录 后方可回复, 如果你还没有账号请 注册新账号