我使用Linux/upstart启动我的jar。我是这样做的:
有几个问题:
发布于 2019-03-01 07:45:40
你的问题由几个部分组成,让我逐一回答。
你说得对,替换jar文件不是个好主意.最好备份文件(将其复制到backup目录),而不是仅仅覆盖它。
如果您真的对启动时间和停机时间间隔感到好奇,那么有几个选项可供选择。首先,维护具有多个工作节点的布局和在它们之间分配传入请求的代理。因此,您需要更新第一个节点,当它处于脱机状态时,所有请求都会转到第二个节点。然后你更新第二个,你就好了。但这需要你先掌握一些操作技能。
第二个选项是执行热代码重新加载。简单地说,在生产服务器上公开一个nREPL端口。然后从Emacs或任何其他编辑器连接到它,打开一个更新的命名空间并按C-c C-k,该名称空间计算远程机器上的整个命名空间。因此,您可以在运行时更新代码,而不重新启动机器。但是请记住,这些更改不会在重新加载后保存。
一小段笔记,你最好用Ansible自动处理这个过程。这是一个在YAML文件中声明操作的工具。结果将是一组看起来简单且易于维护的指令。Ansible在引擎盖下考虑了很多事情。例如,当您试图覆盖一个文件时,它可以自动创建备份。
https://stackoverflow.com/questions/31131694
复制相似问题