当我们(最终)从 Ruby 1.8.7 移植我们的应用程序时,我正在尝试使用 RVM 设置 Phusion Passenger 和 Apache,以使用 Ruby 1.87/Rails 2.3.x 和 Ruby 1.9.3/Rails 3.2 为应用程序提供服务。 X。这一切都在我的开发机器上;在生产中,我们使用单独的虚拟机来服务两个不同的平台——但不用说,这在开发中会很不方便。
优点:我已经使用 Ruby 1.8.7(和 RVM)安装了 Passenger 3.0.7,并且 1.8.7/Rails 2.3.x 应用程序和过去一样运行良好(与我过去的设置相比,唯一改变的是通过 RVM (重新)安装了乘客)。
坏处:我还使用 Ruby 1.9.3(和 RVM)将 Passenger 4.0.20 作为 gem 安装,如果我将 Apache 配置为使用它们,它就能够提供 1.9.3/Rails 3.2.x 应用程序美好的。但是Passenger 不能为Ruby 1.8.7/Rails 2.3.x 应用提供服务。
此处的另一位开发人员具有基本相同的设置工作,但我们无法看到她的安装和我的安装之间有任何明显差异。但她的成功告诉我这是可能的。
丑陋的:当我尝试使用 Passenger 4.0.20 运行 1.8.7/2.3.x 应用程序时,Passenger 将一堆输出记录到 Apache error.log,包括以下几行:
[ 2013-10-22 13:12:30.1770 21240/7fe89ad0e700 Pool2/SmartSpawner.h:301 ]: Preloader for /home/username/workspace/app started on PID 21284, listening on unix:/tmp/passenger.1.0.21232/generation-0/backends/preloader.21284
[ 2013-10-22 13:12:30.2547 21240/7fe89ac8c700 Pool2/Implementation.cpp:1274 ]: [App 21284 stderr] [ 2013-10-22 13:12:30.2547 21385/0x7f9bf1fd0b80(Worker 1) request_handler/thread_handler.rb:197 ]: *** Passenger RequestHandler warning: someone tried to connect with an invalid connect password.
最后一点(向右滚动!)似乎是最奇怪的。
一些在线搜索显示,Passenger 支持某种“连接密码”,但我们没有使用这种东西。在乘客源代码之外,很少有与乘客相关的提及“有人尝试使用无效的连接密码进行连接”。
我实际上已经解决了这个问题,但由于网络上缺乏参考资料,而且我没有在 SO 上找到任何提及“无效连接密码”错误的内容,我发布此内容是为了帮助下一个人。我没有包含很多其他日志片段、配置文件内容等,因为我已经提到了所有相关信息。
如果您认为自己知道答案,那么您就有机会获得更多“声誉”。否则,我会在几天后发布我的答案。