将黑马项目jar包部署在远程服务器并成功运行- 前言
- 部署项目准备
前言
目前开始写初步部署,因为我是完全用jar包部署的,直接部署的。没有放在docker容器中,所以我先这样做了。因为目前项目还是存在许多不足的地方,只是功能上的不完善,所以目前开始写jar包的初始部署运行。
一遍在这边练习部署的命令和docker容器,一遍从头开始梳理瑞吉外卖的整个过程,我觉得一定就闭环了。
我相信一定要自己试一遍,不要眼高手低。
部署项目准备
首先我们打开idea,进行打jar包,点击这里我们运行生成jar。
生成的时候会告诉你生成在哪里。其实就在我们的target目录,在你当前项目的target目录里面。
还有一点,如果你的项目没法打成jar包,可能是你的maven打jar包的依赖没有导入。其实你自动生成springboot项目的话一般会带的。
我们要部署在远程服务器,不要部署在虚拟机。我需要将这个文件首先上传到远程服务器。
我这里用到的是FinalShell,这个挺方便的,远程连接,还可以帮我们更好的查看目录结构,当然也可以上传文件到远程服务器。上传到一个文件夹里面。建议的话最好是一个简单的文件夹,这样自己可以记住在哪里。
上传上去之后,我们就需要运行jar包了,你的服务器肯定需要一些基础条件,必须有jdk,必须有mysql的服务,而且数据库得有,基本的表这些。我们后面再说我们还得准备什么,但是数据库,jdk是你目前运行jar包需要的,tomcat并不是需要的,jar包自带了。
没有的话自己安装一下。
有两种运行方式
可以这样去运行
代码语言:javascript复制java -jar reggle_demo_jgdabc-0.0.1-SNAPSHOT.jar
注意自己的路径,我的jar包在我当前路径,自己没在的话记得加上路径。
这样就启动成功了,现在我们去自己的电脑去访问,自己注意端口的问题。
后台管理没有问题
这里我还在手机端输入链接访问了一下没有问题。
但是这个其实除了功能不完善的问题以外还有图片展示的问题。为什么图片为什么没有正常展示,因为我们之前在图片存储的时候路径的问题,到了远程服务器就不一样了,路径变了,所以这个不能正常展示,但是这个不影响项目的运行,怎么做,有多种办法,可以在idea里面改,也可以在服务器运行jar包的时候指定图片存储路径,不过这样似乎还不如直接在idea里面改,后面我们项目完善的时候说。
但是这样的部署其实算不上真的部署,因为这个界面一旦关掉,就停下来了,它是霸屏的模式,不可以在后台运行。我们希望,当我们关闭界面也可以自己运行。
我们这样去启动
代码语言:javascript复制 nohup java -jar reggle_demo_jgdabc-0.0.1-SNAPSHOT.jar &> reggie.log &
最后面这个&符号的含义是让项目在后台运行,&>reggie.log是让项目输出日志到这个文件
此时关闭这个FinalShell,还是没有任何问题。
这个项目已经可以在远程服务器自己运行了,并且我们数日地址就可以访问到。
但是其实你还需要考虑很多问题,就是加入我们对项目需要更新,比如在改动一些代码,有没有一种便捷的方式,只要我们改动提交,在远程服务器执行一个脚本,项目就可以自己部署运行?只要我们执行脚本,就可以自己拉取代码,编译打包和启动?
有的,后续。。。。
文章部署方式续更。。。。