无法使用 upstart 控制启动依赖

无法使用 upstart 控制启动依赖

memcached在我已经安装的服务器中apache2,我希望我的 apache2 仅在 memcached 启动时才能启动,因此在我的 apache upstart 脚本中,我添加了以下行

start on runlevel [2345]

start on runlevel [2345] and memcached

我发现我的 apache2 无法启动,有什么调试提示吗?

答案1

and memcached意思是“并且发出了一个名为 memcached 的事件”。我想你的意思是

start on runlevel [2345] and started memcached

但是,这也会让你失败,因为“运行级别 2”事件只会在启动时(或从单用户模式返回时)发出一次。你实际上可能想说的是

start on started memcached

意味着runlevel [2345]memcached 只能在 上启动runlevel [2345]。但是,这也是一种相当有限的方法。如果您将 memcached 从这些框中移出,以便它们可以在专用的 memcached 集群上运行,会怎么样?现在您无法控制启动顺序。更好的方法是让您的应用程序具有容错能力并优雅地处理 memcached 的缺失。

这是否意味着警告您的负载均衡器不要向该节点发送流量,或者仅向您的用户发送回“请等待”的 ajax 旋转器,这都会减少您的操作人员所需的页面数量,并提高您的应用程序的弹性。

相关内容