我在用着暴君管理者管理多个实例东京暴君. 运行良好。

我想让它在启动时启动,所以我将以下命令添加到/etc/rc.local

/usr/local/bin/tyrantmanager start --home=/data/tyrant/

(从命令行执行时这是可以的)

上周,我的服务器挂了,我必须硬重置。启动后,登录并检查我看到东京暴君实例正在运行。

有什么方法可以测试以确保它下次启动时能成功启动?除了使用 将输出和错误重定向到日志文件外>> /var/log/tyrantmanager.log 2>&1,如果它一直无法启动,我还能做什么来“调试”?

附言:我可以为其编写一个启动脚本,但仍然想检查此案例的根本原因。


编辑:我在开发服务器上测试过,得到了相同的结果。以下是日志文件:

15:02:17  INFO : Starting test : ttserver -host 192.168.x.x -port 1978 -thnum 8 -tout 15 -dmn -pid /opt/tyrant/instances/test/test.pid -log /opt/tyrant/instances/test/log/test.log -le -ulog /opt/tyrant/instances/test/ulog -ulim 1g -rts /opt/tyrant/instances/test/test.rts /opt/tyrant/instances/test/data/test.tch#opts=ld#mode=wc
/usr/local/lib/ruby/gems/1.8/gems/logging-1.5.2/lib/logging/logger.rb:429: command not found:  ttserver -host 192.168.x.x -port 1978 -thnum 8 -tout 15 -dmn -pid /opt/tyrant/instances/test/test.pid -log /opt/tyrant/instances/test/log/test.log -le -ulog /opt/tyrant/instances/test/ulog -ulim 1g -rts /opt/tyrant/instances/test/test.rts /opt/tyrant/instances/test/data/test.tch#opts=ld#mode=wc 

我不熟悉 Ruby,所以我不知道为什么它通过“找不到命令”错误来自记录器.rb。也许我会在 stackoverflow 上问这个问题。

答案1

看起来像:

  • /etc/rc.local 运行时,ttserver 不在路径中。确保在 /etc/rc.local 中正确设置了环境。正如您所说,它可以通过命令行运行。
  • ruby 脚本将整个命令字符串作为单个命令调用,没有任何参数。

我怀疑是第一个。

答案2

无论我现在使用什么发行版,我都吸取了教训:如果我想确保在启动时出现某些东西,我将重启服务器,看看会发生什么。只需为您的服务器安排一个维护窗口(如果需要)并在那时执行几次测试重启。看看它是否有效。

过去我确信“这将在下次重启时启动”,但实际上却不会。

答案3

[快速回答]


rc.local手动运行,请转到rc.local路径(cd /etc/)然后执行以下操作:

$ sudo ./rc.local

如果执行时出现错误,请先执行:

$ sudo chmod +x rc.local

相关内容