目录
宝塔安装
这个没什么说的自行搜索即可
项目技术栈分析
对于版本,如果有着明确要求,请务必保持一致,比如我的mysql8.0是必须的,因为部分排序规则,57不支持,其他的请参考项目实际(差异一般不会特别大)
spring boot(安装java 1.8)
Quasar(安装)
Mysql 8.0
FTP(安装pureftpd 1.049)
niginx1.26
redis 7.4.1
打包上传
前端打包
前端的打包请遵循项目的配置,我的技术框架是quasar打包指令如下
quasar build
后端打包
请注意,在部署到宝塔时,一个jar包,对应一个服务,特别是微服务项目,打包结果可能有多个jar包
如果是私密项目,可能有system的依赖,不要忘记一起打包
maven打包即可,没有代码指令
上传
在这里,预先设置好你的项目文件夹,建议一个项目一个文件夹,打包后的jar包都放在这下面
宝塔面板:配置数据库(Mysql)
我的项目需要的是mysql,宝塔装完mysql后这里可以查看root密码
数据库导入数据
在数据库中导入SQL文件即可(没步骤示意)
数据库报错汇总
报错提示:面板没有数据库显示
在导入数据库之后,面板上可能没有显示
点击如下,刷新即可
报错提示:如果使用navicate等远程连接数据库失败
原因基本如下
1.安全组-端口
基本就是3306,不同的云可能安全组位置不同,自行搜索即可
2.防火墙关闭
service firewalld status;
systemctl stop firewalld
3.root用户设置允许远程登录
# 先shell登录mysql
use mysql;
select host from user where user = 'root';
update user set host = '%' where user = 'root';
flush privileges;
# 退出mysql shell,重启服务
service mysql restart
配置Redis
没什么说的,自行安装即可,没有什么教程,也没有坑
数据库配置小结
- 数据库配置时,宝塔安装的一般都是默认的端口,你需要和你的项目中保持一致
- 如果希望使用远程连接,请打开服务器-安全组-端口
宝塔面板:添加java项目
如下,这个没什么说的吧,选择刚才上传jar包的路径即可
如果有什么异常,会进行提示
注意,这里只会检查一些数据库连接,redis等的异常信息,如果jar包内缺少什么,不会有提示,这属于运行错误,检查日志信息
日志检查
项目名称->日志管理
这里检查控制台的日志就行,如果日志符合你的预期,大概率没啥问题
宝塔面板:前端部署(Quasar)
上传dist文件
这个没什么说的,自己找个目录就行
创建站点
网站–>>PHP项目–>>添加站点
错误集合
net::ERR_SSL_PROTOCOL_ERROR
协议错误,检查配置文件
env: {
//
//http://127.0.0.1:8000
API: ctx.dev ? 'http://127.0.0.1:8000' : 'http://8.xxx.xxx.xx:8000',
NODE_ENV: 'development',
MODE: 'spa'
},
注意此处的http://8.xxx.xxx.xx:8000
而原先是https://8.xxx.xxx.xx:8000
拒绝访问
没记报错信息,但是是拒绝访问的错误
1.安全组端口没开
2.端口错误,一般而言,这种错误可能是端口被占用,运行如下代码,检查端口占用情况
lsof -i:8001
检查后,可以考虑杀掉此进程,或者修改为另一个端口
访问页面后出现404
1.端口错误,导致资源没有
2.资源上传错误(你本就没有这个资源)
net::ERR_CONNECTION_TIMED_OUT
没有错误记录了,但错误内容大概是Post(xxxxx:8002)net::ERR_CONNECTION_TIMED_OUT,这里面的xxxx是ip
1.端口未开放,导致无法连接
在quasar项目打包时,配置文件中这样描述:
本地测试时,会调用本地8002的端口,而打包后则会调用服务器端8002的端口
请务必注意,这里是打包后调用服务器端8002的端口,因此,部署到服务器时,调用的应该是8.xxx.xxx.xx:8002而不是127.0.0.1:8002,所以需要开放8002,否则报错(连接超时)vueRouterMode: 'hash', env: { API: ctx.dev ? 'http://127.0.0.1:8002' : 'http://8.xxx.xxx.xx:8002', NODE_ENV: 'development', MODE: 'spa' }, chainWebpack (chain) { chain.plugin('eslint-webpack-plugin') .use(ESLintPlugin, [{ extensions: [ 'js', 'vue' ] }]) } }, ```
2.网络环境错误(这个错误网上都在说,但确实没遇到过,可以换个手机热点什么的尝试排除)
总结
部署方式基本固定
所有的报错内容几乎都是关于端口的问题
端口在线检查工具
可检查端口开没开(如果服务器不是你的,还挺有用)
链接