在 ssh 断开以后,rails app 就打不开;连上以后就能打开。而且 ssh 还必须是某个用户(组?)
出错信息可能有:
cannot load such file action_view/template/error
还可能有:
cannot load such file -- rails/backtrace_cleaner
一开始想到了权限问题,设置 777 也没用。
还有个很诡异的问题,先清空 log/development.log
,然后断开 ssh 再连上去发现这个文件已经恢复了……
环境:
在一台服务器上部署了的两个 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 都看看。