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

文章正文
发布时间:2025-05-14 14:22

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

一. 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

注意vue项目 build之后访问index.html白屏,需要修改publicPath: ‘./’

上传到云服务器的Tomcat上

在这里插入图片描述

访问 :8080/dist/

在这里插入图片描述

去掉端口,修改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

重试即可!, 后续再优化目录。

在这里插入图片描述

仔细查看请求NetWork请求仍有跨域问题,需要再解决!
strict-origin-when-cross-origin, 似乎是跨域问题,但也不一定是跨域问题,因此使用postman请求,如果postman请求可以,而UI请求不行就说明确实是跨域问题,如果postman也不行,则说明防火墙没放开8083端口,因为jar报包的端口配置是8083

在这里插入图片描述


因此需要去云服务器上添加防火墙,放开8083的端口。
8.再次测试,没有访问数据库的接口测试通过,但是需要访问数据库的接口失败了,看云服务器的日志提示

在这里插入图片描述


于是在连接数据库的jdbc url添加 &allowPublicKeyRetrieval=true 重新部署jar包,结果可以了

在这里插入图片描述

首页
评论
分享
Top