我最近在阿里云上发布一个网站,没有配置Jenkins环境,所以发布我都用手动的方式去完成。
这里我是在本机打好了jar包,然后将Spring Boot的jar包通过scp发送到服务器,确保项目中配置的数据库正常运行,并能正常连接,如果有redis,保证redis服务开启。
scp -r xxx.jar root@aliyun:/usr/local/project/xxx.jar
登录服务器,正常通过java -jar xxx.jar的方式启动,所以需要写一个shell来执行,配置一些jvm参数:
touch test.sh
vi test.sh
在test.sh文件里面写入:
JAVA_HOME=$HOME/jdk/jdk1.8.0_111
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
java -Xmx512M -Xms512M -jar test.jar
当然,这里的一些配置如果系统都已经正常配置好了也可以不写,直接写最后一行就可以啦,如果没有在工程里面没有配置日志存储,那么可以指定一个日志的文件
...
java -Xmx512M -Xms512M -jar test.jar >test.log &
然后正常执行test.sh应该就能正常启动test.jar,但是遇到一个很尴尬的问题,一切都源于对linux不熟悉,创建了shell文件之后结果是不能正常执行
server : ✗ ./test.sh
zsh: permission denied: ./test.sh
➜ server : ✗ sudo ./test.sh
Password:
sudo: ./test.sh: command not found
解决办法:
这里需要给shell文件赋以可执行的命令
chmod +x test.sh
然后就能正常执行test.sh,运行之后可以在test.log中查看运行的日志,不过还是建议使用logback配置系统的日志,这样可以根据周期backup,后期排查会方便很多。