Ruby on rails 如何停止铁路nginx乘客应用程序?

Ruby on rails 如何停止铁路nginx乘客应用程序?,ruby-on-rails,ruby,nginx,passenger,Ruby On Rails,Ruby,Nginx,Passenger,我使用由nginx生成的passenger。服务器上有许多其他rails应用程序使用passenger(每个应用程序在nginx中都有自己的虚拟主机) 我可以像这样重新启动Rails/Nginx/Passenger应用程序: touch tmp/restart.txt 我怎样才能阻止它 这不起作用: touch tmp/stop.txt touch tmp/shutdown.txt 乘客可随时自动运行 作为一种解决方法,您可以完全停止Web服务器,或者通过删除不希望服务的特定应用程序的虚拟主

我使用由
nginx
生成的
passenger
。服务器上有许多其他rails应用程序使用passenger(每个应用程序在nginx中都有自己的虚拟主机)

我可以像这样重新启动Rails/Nginx/Passenger应用程序:

touch tmp/restart.txt
我怎样才能阻止它

这不起作用:

touch tmp/stop.txt
touch tmp/shutdown.txt

乘客可随时自动运行

作为一种解决方法,您可以完全停止Web服务器,或者通过删除不希望服务的特定应用程序的虚拟主机条目来停止服务该应用程序

如果你真的非常绝望,你也可以卸载passenger方法1 删除应用程序的虚拟主机条目并重新启动Nginx。Phusion乘客将不再提供服务

方法2 如果您想保留应用程序的虚拟主机条目,但不实际运行应用程序

设置以下选项并重新启动Nginx:

passenger_min_instances 0;
如果有一段时间(约10分钟)没有看到流量,Phusion乘客现在将关闭你的应用程序。如果该应用程序出现流量,它将再次启动


使用
passenger\u min\u实例0
,您还可以手动终止应用程序进程。使用乘客状态查找PIDs,然后运行
kill

乘客不可阻挡!!必须停止服务器。如果您强制杀死乘客产卵器,它将再次启动。您使用的是独立乘客,还是您的乘客实例由nginx生成?@ZachKemp nginx spawns passengerI有其他应用程序,因此我无法杀死乘客。要激活乘客\u min\u实例,您必须重新启动nginx。你也可以试着杀了那些PID。只要它不是该应用程序的唯一PID(即默认的
passenger\u min\u instances 1
约束尚未被违反),该进程将被成功终止。如果删除应用程序的虚拟主机条目(或对其进行注释),就足以重新加载nginx。这将允许您不断开与所有其他虚拟主机的连接。在这方面您可能会有所帮助:如何通过具有独立进程的代理为应用程序提供服务()。或者应该有两个进程在运行?