我需要更新系统中的ruby。这是一个小小的更新,我会通过安装一个新的ruby RPM来实现这个目标。
我的问题是,在系统中更新ruby后是否必须重启apache?或者是另一种让乘客重装红宝石的方法吗?
我已经尝试运行一个输出RUBY_VERSION,RUBY_RELEASE_DATE,RUBY_PATCHLEVEL的页面来检查它,但它对我不起作用,因为更新是RPM中的新补丁,而不是ruby本身,所以那些旧版和新版的常量相同。
感谢
答案 0 :(得分:1)
不,你不需要重新启动整个Apache 您需要重新启动应用程序。
Passenger可以轻松告诉应用程序重启:create a restart.txt file在应用程序内的tmp目录中。
应用程序将在下次发出请求时重新启动 因此,您可能希望在部署后自动请求应用程序以强制重新启动。
答案 1 :(得分:1)
我很确定,至少在乘客3中,你确实需要重启apache。
安装新的ruby之后,你需要重新安装与你的新ruby链接的乘客apache模块(passenger-install-apache2-module
),然后你需要在安装后看到它显示的apache配置行,并编辑您的apache配置文件以包含它们(替换指向您的旧ruby的旧行),然后您需要重新启动apache。
现在,可能有一种不同的方法可以在不重新启动Passenger 4的apache的情况下执行此操作(仍然不是官方的最终版本,但在RC中)。乘客4具有一些功能,适用于同时运行多个红宝石的乘客,可能最终允许此类事情;我不确定,我没有深入研究过。但我认为对于乘客3(现有稳定的乘客,大多数人可能仍在使用),你必须按照上述方式行事。
你可以重新启动一个在restart.txt
乘客下运行的特定应用程序,例如Damien MATHIEU在另一个答案中说。但是要更改乘客正在运行的ruby版本并启动应用程序 - 我很确定你需要重新启动apache(首先重新安装apache乘客模块,然后更改乘客apache配置)