我们的项目构建好之后,需要部署到服务器其他人才能够访问,部署到服务器需要将我们本地项目上传到服务器上。
一、申请阿里云服务器
首先我们需要一个可以部署项目的服务器,我这里用的是阿里云服务器,在申请到云服务器后。
1.去阿里云官网 https://www.aliyun.com/
2.申请一个免费的云服务器,申请成功以后会发短信过来
3.在注册过程中会让你设置账号密码远程连接密码(6位数字)、公网IP、服务器账号、服务器密码,还有一个远程登陆密码,拿个笔记记下来
二、添加安全组
这是我设置的安全组,以供参考。
三、远程连接
远程连接有两种,一种是在网页上,另一种是通过Xshell。
1. 网页上:
1.1 点击箭头指向处进行远程连接。
1.2 选择第一个
1.3输入密码即可
2.使用Xshell远程连接
简单测试一下,你会发现网页登陆云服务器的方式有一个弊端,那就是只要一小段时间不操作,服务器就会进入休眠,又得输入连接密码才能激活,很烦。所以我们采用别的方式登录这个云服务器。
主机填写申请的云服务器公网IP
登录成功,进入服务器。以后我们就可以通过这个界面对云服务器进行远程操控,在上面进行jdk,mysql安装,springboot部署等操作了。
如果连接失败,可能是防火墙拒绝访问,关闭防火墙即可
1、查看防火墙状态: sudo ufw status
2、关闭防火墙: sudo ufw disable
3、开启防火墙: sudo ufw enable
五、安装JDK、MySql
安装教程网上有很多可自行搜索。
六、部署SpringBoot项目
到这里开始我们就可以部署我们的项目了。
1.首先我们打开IDEA,点击右边的maven,选择要打包的项目,点击install,打包完成后会在target文件夹下。
2.将打包好的文件,复制到桌面,然后通过Xftp传到云服务器上。本人是将jar放在root文件夹下,blog目录是我新建的
mkdir /root/blog
3.在部署之前先检查项目所运行的端口有没有被占用,不然就会报错。
查看端口情况
netstat -anp | grep 8080 //netstat -anp | grep <端口号>
4.可以看到已经被占用,没有占用是不显示任何东西。(在Linux中,发送指令后不显示任何提示则代表成功)
查看端口PID
sudo lsof -i:8800 //sudo lsof -i:<端口号>
5.我们要把它kill掉,留出空位来运行我们的项目。kill后再次查看端口,如果查询为空则代表成功了
sudo kill -9 26191 //sudo kill -9 <PID>
6.使用java指令运行项目jar包,这样我们的项目就算部署成功了
java -jar ***.jar //***为你的jar包名
注意:要做jar包的目录下执行java指令,本人的项目在 /root/blog目录下
7.当我们关掉Xshell的时候,我们的网站又访问不上了,又得重新打开Xshell,执行 java -jar xxx.jar。所以我们要使用下面的方法让这个项目在服务器上自动不间断地跑.
在jar包目录下新建start.sh文件,在文件里面添加java -jar xxx.jar
chmod 777 start.sh //赋予管理员权限
nohup ./start.sh & //不间断运行文件内的指令
//或者
nohup java -jar jar包名称 &
关闭XShell之后,再去浏览器输入ip,如果能够访问,那就成功了。
8.如果一直访问不到,有可能是防火墙的端口未开放
查询端口是否开放(本人项目的端口是8080)
firewall-cmd --query-port=8080/tcp
开放8080端口
firewall-cmd --permanent --add-port=80/tcp
记得修改后重启防火墙
firewall-cmd --reload
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、–permanent:表示设置为持久;
3、–add-port:标识添加的端口;