ruby-on-rails - Rails Passenger Phusion:错误未知协议级别:6(SocketError)
问题描述
我正在使用 capistrano 在服务器(apache+passenger 集成)上成功部署 rails 应用程序,但该应用程序没有运行。我收到乘客错误:
unknown protocol level: 6 (SocketError)
/usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler.rb:317:in `setsockopt'
/usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler.rb:317:in `create_tcp_socket'
/usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler.rb:112:in `initialize'
/usr/share/passenger/helper-scripts/rack-preloader.rb:135:in `new'
/usr/share/passenger/helper-scripts/rack-preloader.rb:135:in `negotiate_spawn_command'
/usr/share/passenger/helper-scripts/rack-preloader.rb:158:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
有谁知道我可以在哪里看/我应该检查什么来诊断/解决这个错误?
解决方案
我已经设法解决了这个问题。在使用 capistrano 部署期间,每当类 Fixnum 中不存在方法 to_str 时,我都会在 gem 中出错。作为一种解决方法,我定义了这个类:
class Fixnum
def to_str
to_s
end
end
这个定义解决了我的每次部署问题,但它弄乱了乘客功能,结果可以在最初的问题中看到。
推荐阅读
- ios - 选择另一个选项卡时如何更改文本字段的背景颜色?
- javascript - 后退按钮的事件监听器在具有多个 html 文件的科尔多瓦应用程序中不起作用
- python - pip install face_recognition 给出错误
- c# - 带有 ViewModel 列表字典的 ASP.NET MVC 5 ViewModel 绑定发送空值
- ios - iPhone XS、iPhone XR 和 iPhone XS Max 的设备代码(平台字符串)是什么?
- python-3.x - 如何使用 matlplotlib 绘制曲面图
- python - 如何找出超出范围的索引?
- css - 分配给 CSS 变量的 CSS 变量的后备
- powershell - 从 cmd 打开用户变量位置
- c++ - 创建一个带有随机数的向量