问题描述:
服务器部署在aws的ec2上面,我用aws的ec2-user
用户通过Public Key
的方式登录到xshell,然后给root用户设置密码,也就是说让root用户可以通过xshell等工具进行登录,因为aws的root
用户是默认不可以登录的。
配置好了之后,我就一直都用root用户进行相关的操作了,包括启动程序等。然后悲剧的事情出现了,程序经常运行一段时间后就挂掉。有一次,我把xshell控制台给关了,访问程序,这时候访问不了,我突然意识到了什
么,再次打开xshell
控制台查看程序进程,这时候程序已经挂了。然后我用aws的ec2-user
进行登录,赋予root
权限,启动程序,然后把xshell
控制台给关了,这时候程序并没有挂。我似乎知道原因了,心里很爽,大概明白原
因了,于是我又用root用户登录并启动程序,只要xshell关了,程序也跟着挂,接着,我试了好几次root用户操作,关闭xshell,程序也跟着挂。
解决方案:
启动java
程序的进程,通过aws的ec2-user
通过Public Key
的方式进行登录,不要通过破解的root
用户登录,这样会拿不到相关权限,相应的操作是存在于session
会话,当session
结束了,那么进程也跟着结束。
公众号ID:longjiazuoA

未经允许不得转载:人生设计师 » 记Spring Boot项目部署到AWS的EC2的一个坑