首先用一张图来说明一下整个的部署流程(网上借鉴的图)
1.(购买服务器过程就不阐述了)这个是我在阿里云已经购买好的服务器
2.之后就是进入安全组添加放行端口,因为只有添加了相应的端口,在之后的访问才不会被拦截!
3.回到“实例列表”,点击 实例ID 进入服务器,点击 ”远程连接“,输入6位连接密码,就可以看到我们的服务器了。
忘记密码的可以重置密码:
密码是连接你的服务器要用的,所以要记住。
为什么我们要用Xshell呢?
本来阿里云就已经给我们配好了终端模拟(Workbench和VNC),但是你会发现网页登陆云服务器的方式有一个弊端,那就是只要一小段时间不操作,服务器就会进入休眠,又得输入连接密码才能激活,很不方便。所以我们采用别的方式登录这个云服务器,这里就介绍Xshell的使用。
Xshell是一个终端模拟软件,换言之,我们只要在本地Windows系统下安装这个软件,打开输入账号密码,就能登录远程的云服务器(我这里下的是Xshell 6,Xshell的下载自己找度娘)
下载后我们可看到如下的界面:
接下来我们要登录服务器:
这下我们之前设置的服务器密码就要在这里使用了,如下:
登录成功,进入服务器。以后我们就可以通过这个界面对云服务器进行远程操控,在上面进行jdk,mysql安装,springboot部署等操作了。
1.先用Xshell 连接到你的云服务器(或者直接在阿里云官网中远程连接也行)
2.下载你需要的jdk版本,我用的是 jdk-8u201-linux-x64.tar.gz 。jdk根据自己情况自行下载,因为现在下载需要注册登录,这里边提供一个华为的镜像链接(超级快),按各自要求下载:
https://repo.huaweicloud.com/java/jdk/
下载后我们要把这个文件上传到服务器上去,跟着我走,非常简单
在Xshell中执行
yum install lrzsz
下面这个是我们服务器的文件目录:(cd命令:进入目录)
现在我们要把这个jdk安装包放到**/usr/java**目录下(如果没有该目录则需要创建目录。最好跟着我的安装路径来,不然后面的环境设置会比较麻烦),所以我们一步步cd到这个目录下:
然后 rz 把安装包上传上去(rz命令:上传文件)
rz
执行rz命令会弹出一个文件选择框,选择安装包上传
上传完毕后, 使用ls命令查看目录。可以看到,我们刚才上传的安装包已经存在于目录中了(ls命令:查看当前目录下的文件)
接下来解压安装包就算安装成功了!使用tar命令解压压缩包,如果你下载的版本跟我不一样,记得把包名改成在这里插入代码片
你自己的版本 。(tar命令:解压)
tar -zxvf jdk-8u201-linux-x64.tar.gz
然后就跟你在windows系统下安装完jdk一样,你还要设置系统环境变量。linux系统中的设置方法为:找到文件 /etc/profile ,向其中添加如下代码:
在文件的最后把上面的代码打进去,如果你的jdk版本跟我不一样,记得把 export JAVA_HOME=/usr/java/jdk1.8.0_201 这一行改成你自己的版本。然后按ESC键退出编辑,输入 :wq + 回车键保存退出文件。
查看文件是否保存成功。
cat profile
立即执行profile文件,使之生效,使用source命令(source命令:依次执行文件所有语句)
source /etc/profile
到这一步,jdk的安装就全部完成了。最后,我们再使用java命令验证一下,如果可以看到我们的版本信息就可以了。
java -version
到这里我们java的jdk便安装和配置成功啦!!!
通过宝塔控制面板快速搭建建站环境。
首先输入如下代码后并Enter等待其安装完成:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
这里询问你是否安装面板,输入 y。 这个面板应该是一直在完善当中,就例如这块,其实应该加入一个默认安装敲击回车确认安装的过程。
到安装到这一步后,要记住你自己面板上的地址,用户和密码,对应上面的红色方框。
面板安装的速度挺快,最后会给你一个ip加默认8888端口号的面板账号密码,密码是自动生成的。
然后将你记住的地址在浏览器器上打开便会出现一下的界面:(如何打不开就要在安全组上添加8888端口,让其放行,前面已说)
装完成,下面便输入刚才记好的用户名和密码便能成功登录自己服务器的后台。进去后便会默认跳出安装的软件,这里会帮你安装mysql什么的,我们选择左边的安装便可以了
导入数据库(如果不需要导入数据库跳过步骤02即可)
接着导入sql文件
这样我们通过宝塔建立的数据库准备工作就做好啦!!!
inux云服务器上的环境我们都已经配置好了,但好像差了一个tomcat?因为springboot内置了tomcat,所以后面我们把它打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那还是要配置tomcat的)。
回到我们本地windows Springboot项目,下面我们对我们的项目做一些设置
打开pom.xml,添加如下语句,将项目的打包形式设置好
jar
打开application.properties,设置项目运行端口(我用的是8080,如果你用的是别的端口,要在这篇文章前面讲的把你的端口加入到安全组中去)
打开application.yml,设置端口,连接数据库
这里我用的是idea
步骤:
项目打包成功,可以在左边target文件夹中看到项目的jar包
把这个jar复制到桌面,打开Xshell,使用rz指令把它上传到linux云服务器的根目录
耐心等待上传成功,使用ls指令可以看到我们上传成功的jar包
然后就是执行自己项目的jar包
java -jar ***.jar //***为你的jar包名
随便找个浏览器,搜索栏输入http://公网ip:端口号 就可以搜索到你的网站了
还没完呢,这种启动方式是一次启动,当我们关掉Xshell的时候,我们的网站又访问不上了,又得重新打开Xshell,执行 java -jar ***.jar。所以我们要使用下面的方法让这个项目在服务器上自动不间断地跑.
首先需要进到自己springboot项目的根目录,然后执行如下linux命令
nohup java -jar 自己的springboot项目.jar >日志文件名.log 2>&1 &
命令详解:
nohup:不挂断地运行命令,退出帐户之后继续运行相应的进程。
1.>日志文件名.log:是nohup把command的输出重定向到当前目录的指定的“日志文件名.log”文件中,即输出内容不打印到屏幕上,而是输出到”日志文件名.log”文件中。不指定文件名会在当前目录创建nohup.out,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
2.2>&1:2就是标准错误,1是标准输出,该命令相当于把标准错误重定向到标准输出么。这里&相当于标准错误等效于标准输出,即把标准错误和标准输出同时输出到指定的“日志文件名.log”文件中。
3.java -jar 自己的springboot项目.jar:执行springboot的项目,如果单单只执行该命令,linux只会短暂的运行该项目,当退出控制台后会自动关闭该项目。
4.最后的&:让改作业在后台运行。
把Xshell关掉,在浏览器上输入http://公网IP:8080 发现项目还是可以进入,说明我们已经设置成功了。至此springboot项目部署到阿里云服务器上完结。谢谢大家!