我有一台装有 Centos 6 的服务器。我已经安装并配置了所有内容,因此我的服务器应用程序可以顺利运行,但是如果有任何意外重启,我必须手动启动 SSH 会话并启动运行它的 java 程序。
我研究了几种通过服务器启动软件的方法,但都无法运行该软件。通常,我通过运行以下命令来启动软件:nohup java -jar "/etc/software.exe" -name "Test New York Server"。当我将其添加到脚本并从终端运行它时,此方法有效,但如果我以其他线程中推荐的方式将其添加到 /etc/rc.d/rc.local,则无效。我发出了 touch 命令来创建测试文件,并且这些命令已执行,因此我显然走错了路。
答案1
启动脚本在启动时和在终端上的执行方式不同,通常是由于脚本依赖于环境中的某些内容。让您的脚本执行“env”并将其写入文件,然后在 shell 中运行它时将其与“env”进行比较。最常见的问题是 PATH 变量。
答案2
与您最喜欢的包装精良的开源(Java)软件进行比较,以获取想法。
我的是 Graylog。有一个完整的初始化脚本包装了它们的 jar 存档,因此它的行为与其他任何服务一样。