我有Spring 2可执行jar (通过命令java -jar myapp.jar运行),我需要将它作为systemd服务部署到远程linux服务器上。Jenkins将管理从源构建此jar并将其复制到适当位置,并重新启动与myapp.jar
相关的java服务。除了jenkins用户之外,Linux服务器只有一个具有sudo特权的用户‘jonas’。从安全最佳实践的角度来看,在生产环境中,我需要将myapp.jar
放在linux服务器上吗?可能的地点:
/var/myapplications/myapp.jar
/home/jona/myapplications/myapp.jar
/opt//myapplications/myapp.jar
另外,myapp.jar
生成的日志文件将位于何处?
发布于 2018-04-23 18:09:08
根据我的经验,我建议将所有第三方和应用程序保留在/opt/{{ app_name }}
下
如果您喜欢下面的结构,您可以遵循这种结构,这样可以使新产品的部署更加容易,并且可以在需要时快速回滚。
/opt/{{ app_name }}/releases/{{ app_version }}
/opt/{{ app_name }}/current
<- Symlink到上面
/opt/{{ app_name }}/current/logs
<-用于日志的目录,这将是releases/{{ app_version }}
的一部分
部署脚本可以为此目的创建相应的文件夹、管理权限和符号链接。
我个人喜欢的是确保它在具有适当权限的非特权用户下运行,以确保只有特定用户能够递归地在目录上读取/执行/写入,这将包括一些可能包含一些敏感信息的日志,这些日志可能作为异常的一部分,但是这完全取决于您如何进行日志记录。
https://stackoverflow.com/questions/49986193
复制相似问题