deploy热部署
热部署配置过程:
1、spring.thymeleaf.cache=false关闭页面缓存
2、xml中定义devtools
org.springframework.boot
spring-boot-devtools
在maven-plugin中增加
<configuration>
<!--增加fork才允许热部署,fork交叉 -->
<fork>true</fork>
</configuration>
3、修改idea的设置
IDEA-Preferences-build-compile-build project auto…勾选
Help-Find Action-搜索Registry,确保complier.automake…被勾选
4、调试模式(debug)启动
打包
输入maven打包命令:package
点击【OK】
在工程的target下生成jar包:
将Jar包部署到远程服务器
将jar包、application.properties文件部署到阿里云服务器上
执行 java -jar demo-0.0.1-SNAPSHOT.jar
部署日志写入stdout.log
nohup java -jar demo-0.0.1-SNAPSHOT.jar >> stdout.log &
如果8080端口号被占用
[root@iZ2zeb3tq9v0wyicra3wwuZ webapps]# netstat -ano #查看所有进程
[root@iZ2zeb3tq9v0wyicra3wwuZ webapps]# netstat -nlp | grep 8080 #查看占用8080端口的进程
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 32036/jsvc.exec
[root@iZ2zeb3tq9v0wyicra3wwuZ webapps]# sudo lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
jsvc 32036 www 52u IPv4 450897 0t0 TCP *:webcache (LISTEN) # 查找被占用端口的PID
jsvc 32036 www 71u IPv4 1916123 0t0 TCP iZ2zeb3tq9v0wyicra3wwuZ:webcache->99-48-176-109.lightspeed.irvnca.sbcglobal.net:38786 (ESTABLISHED)
[root@iZ2zeb3tq9v0wyicra3wwuZ webapps]# sudo kill -9 32036 #kill 掉这个进程
[root@iZ2zeb3tq9v0wyicra3wwuZ webapps]# ls
blog-0.0.1-SNAPSHOT.jar blog.out docs examples host-manager log manager ROOT
[root@iZ2zeb3tq9v0wyicra3wwuZ webapps]# nohup java -jar blog-0.0.1-SNAPSHOT.jar >> blog.out &
[1] 15242
[root@iZ2zeb3tq9v0wyicra3wwuZ webapps]# nohup: ignoring input and redirecting stderr to stdout
[root@iZ2zeb3tq9v0wyicra3wwuZ webapps]#