Tomcat 在 systemctl restart tomcat 命令执行后 不自动解war

现象:

Tomcat 在 systemctl restart tomcat 命令执行后 不自动解压通过sftp上传上去的war,

而如果直接去 bin目录执行 startup.sh 是可以的。

 

原因:

当前登录用户是root,sftp上传后,文件属于 root。

而 systemctl restart tomcat 后,运行tomcat的用户是 tomcat,

tomcat用户无权读取 属于root的war包。

另外 直接去 bin目录执行 startup.sh ,用户是root,有权限读取war,所以能自动解压。

 

解决:

chmod 777 xxx.war

systemctl restart tomcat 后,能自动解压war并运行该项目了。

 

延伸:

linux文件权限是一个容易被忽视的问题。

只要是上传上去的文件都要注意好权限问题。

通过 systemctl  执行的服务, 该服务的用户经常都是 某个服务专用的 用户。

对上传上去的文件很容易产生权限不够的问题。

posted on 2020-02-13 10:09  HB1  阅读(667)  评论(0)    收藏  举报

导航