记录一下打包springboot项目并部署的过程
-
打开项目,先本地启动,确保你项目是能正常启动的
-
检查配置文件
可以根据实际配置服务器的MySQL,Redis等,端口号也可以自定义
-
打包,并本地运行jar包
打开maven,依次点击clean,compile,package
当控制台看到BUILD SUCCESS,就打包好了
打包好的jar包在项目下的target文件夹里面
打开cmd,本地启动测试打包好的jar包是否可以正常启动
确认可用后,进行下一步
tips:你可能会遇到下面的报错
是路径前面多了一条"/",也就是controller里在跳转视图的时候路径前面不要加一条"/"
@RequestMapping(path = "/toAdd") public String toAdd() { // 路径开头不要带"/",不然会报上面的错 return "html/addDiscuss"; }
-
上传服务器,目录可以自定义,我这里将jar包上传到/lys/idea下(原jar包的名字比较长,可以重命名一下)
[root@VM-16-12-centos idea]# ls community-j1.8-v1.5.jar Dockerfile nohup.out
使用下面的命令:后台启动项目,这样你关掉shell窗口程序也还能继续运行
nohub jar -jar [jar包名称] &
[root@VM-16-12-centos idea]# nohup java -jar community-j1.8-v1.5.jar & #启动成功后会返回一个进程号 [1] 23224
这样访问域名+端口+项目名就能访问到项目了
可能会遇到下面的报错:
这是因为你服务器上的jdk版本与项目打包的版本不一致,如我服务器上的jdk是1.8,而打包时指定的jdk版本是8.
查看自己服务器的jdk版本
[root@VM-16-12-centos idea]# java -version java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
可以在项目打包前在pom.xml里指定一下jdk版本
这样就解决上面的报错了。
-
用nginx配置代理
上面我们访问项目时需要带上端口号,这样不方便,可以用nginx做一个代理,直接域名就可以访问项目
nginx安装与使用=>Nginx学习笔记总结与案例
在Nginx的配置文件中增加一个server块
server{ listen 80; server_name localhost; location /community { proxy_pass http://[你的服务器]:[端口号]/community/ ; }
保存配置,重启Nginx
效果:
原先是你访问项目要输入域名:端口/community,现在你直接访问域名/community就可以了
(备注:community是我上面演示项目的名称)
这样就部署好了