搭建个人网站 保姆级教程(二)前后端项目部署到云服务器

手把手教你部署前后端项目到云服务器

一. Springboot项目打包成jar包

使用IDEA进行打包,当然也有其他部署方式,如使用maven进行打包,可自行查询资料。
1.打开项目,右击项目选中Open Module Settings进入project Structure,如下图所示:
在这里插入图片描述
2.选中Artifacts,点击中间的加号(Project Settings->Artifacts->JAR->From modules with dependencies ),如下图所示:
在这里插入图片描述
3.弹出Create JAR from Modules,选择‘Main Class’,然后点击OK
在这里插入图片描述
4.开始打包,点击右侧的Maven Projects,打开LIfecycle,先点击clean,再点击package
在这里插入图片描述

5.生成target文件夹,里面有以项目名命名加版本号的jar文件,至此打包完成。
在这里插入图片描述
6. 上传jar包到服务器上
在这里插入图片描述
7. 启动jar 包 java -jar demo-0.0.1-SNAPSHOT.jar
在这里插入图片描述
到此,jar包部署完成。
8.如果想关闭jar包,则通过查看当前jar包的进程id

ps -ef | grep demo-0.0.1-SHAPSHOT.jar

在这里插入图片描述

然后 kill xxxxid即可!
补充,查看当前被占用端口的进程如 lsof -i tcp:8083
在这里插入图片描述

二. mySql部署

1.使用工具Navicat连接上服务器之后,右键选择我们想要导出的数据库,选择Dump SQL File…选择一个路径导出sql文件, 这个文件用于云服务器导入
在这里插入图片描述
2.上传到服务器上
在这里插入图片描述
3. 启动mysql,检测是否已经启动
在这里插入图片描述
4.输入密码mysql -u root -p
在这里插入图片描述
5.创建数据库 create database hxdtest character set utf8;,这里与本地的同名,我的是hxdtest
在这里插入图片描述
5.进入hxdtest数据库 use hxdtest
在这里插入图片描述
6. 导入数据 source /usr/sql/hxdtest.sql
在这里插入图片描述
7.查看表 show tables;
在这里插入图片描述
跟本地一样,表示导入成功!
8.试下本地连接云服务器上的mysql
在这里插入图片描述
可以点击测试连接,我第一次报错

2003 - Can't connect to MySQL server on '43.139.244.252' (61 "Connection refused")

于是重启云服务器上的mysql
重启mysql

systemctl restart mysqld

查看状态

systemctl status mysqld

再重新测试连接,还是不行就停掉mysql

systemctl stop mysqld
systemctl start mysqld

结果还是不行,就把云服务器重启,就可以了。
在这里插入图片描述
9.还可以使用本地idea测试连接云服务器的mysql
在这里插入图片描述

三. UI 项目部署

1.build项目

npm run build
  1. 注意vue项目 build之后访问index.html白屏,需要修改publicPath: ‘./’
  2. 上传到云服务器的Tomcat上
    在这里插入图片描述
  3. 访问 http://43.139.244.252:8080/dist/
    在这里插入图片描述
  4. 去掉端口,修改Tomcat的默认端口“8080” -》 “80”
cd /usr/local/apache-Tomcat-10.0.17/conf
vim server.xml

按 i 键,进入编辑状态,找到8080,修改为 80

<Connector port="80"protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

接下来还要重启Tomcat

cd /usr/local/apache-Tomcat-10.0.17/bin
sh shutdown.sh
sh startup.sh

重试即可!http://43.139.244.252/dist/, 后续再优化目录。
在这里插入图片描述

  1. 仔细查看请求NetWork请求仍有跨域问题,需要再解决!
    strict-origin-when-cross-origin, 似乎是跨域问题,但也不一定是跨域问题,因此使用postman请求,如果postman请求可以,而UI请求不行就说明确实是跨域问题,如果postman也不行,则说明防火墙没放开8083端口,因为jar报包的端口配置是8083
    在这里插入图片描述
    因此需要去云服务器上添加防火墙,放开8083的端口。
    8.再次测试,没有访问数据库的接口测试通过,但是需要访问数据库的接口失败了,看云服务器的日志提示
    在这里插入图片描述
    于是在连接数据库的jdbc url添加 &allowPublicKeyRetrieval=true 重新部署jar包,结果可以了
    在这里插入图片描述
  • 0
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大小小丹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值