文章目录
- 一. Springboot项目打包成jar包
- 二. mySql部署
- 三. UI 项目部署
一. 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上
- 访问
http://43.139.244.252: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
重试即可!http://43.139.244.252/dist/
, 后续再优化目录。
- 仔细查看请求NetWork请求仍有跨域问题,需要再解决!
strict-origin-when-cross-origin
, 似乎是跨域问题,但也不一定是跨域问题,因此使用postman请求,如果postman请求可以,而UI请求不行就说明确实是跨域问题,如果postman也不行,则说明防火墙没放开8083端口,因为jar报包的端口配置是8083
因此需要去云服务器上添加防火墙,放开8083的端口。
8.再次测试,没有访问数据库的接口测试通过,但是需要访问数据库的接口失败了,看云服务器的日志提示
于是在连接数据库的jdbc url添加&allowPublicKeyRetrieval=true
重新部署jar包,结果可以了