总结一下本次使用docker部署遇到的问题
1.Invalid bound statement (not found):异常
解决:原因是Dao层与动态Sql映射文件名字没有对应
2.element-plus的upload组件文件上传不成功
因为是直接请求后端不是统一的api前缀,所以nginx需要额外配置跨域
3.文件上传问题
描述:当时文件上传功能选用了存储到前端目录的方案,所以图片资源都是前端的固定前缀+文件名组成,
解决:换成服务器地址直接访问图片资源,这时又出现了新问题,访问路径被springboot拦截器拦截了,返回了未登录字符,我用登录后的token携带上,依旧访问不了图片路径,但是我们可以通过访问nginx服务器访问到里面的图片
思考:因为容器和容器之间是隔离的,文件上传肯定是存储到本容器(自己构建的java容器)的位置,无法直接传到nginx的目录
解决:我采用目录挂载的方式不就行了,因为nginx采用了目录挂载的方式,挂载到宿主机,那我把java容器存储图片的位置挂载到nginx目录挂载的位置,就能访问到了
4.nginx容器时常启动不了
通过查看日志发现,代理转发到的后端找不到,因为配置了统一的网桥,所以用容器名做指向,不要写错了
5.前端路由跳转二级路由,跳转过去刷新页面就找不到页面了
解决:nginx进行配置
6.ip网址进行登录的时候是正常的,用域名登录却出现异常
解决:查看控制台域名发起的网络请求都跨域了,这里我是在spirngboot配置文件解决了跨域,挺麻烦的,要重新构建java镜像和启动容器
大总结:
用nginx解决跨域
element-plus的upload也要解决跨域
建议:
1.文件上传建议不要直接存储到本地,可以用云存储服,之所以这次放在本地,是觉着方便点,项目部署异常麻烦,安全性也不高,要是服务器挂了,网站可以重新部署,但是数据可能就全丢失了,听说minio是开源免费的,可以去学习一下,或者大厂OSS
2.一定一定要学习一下nginx,本次部署大部分问题在nginx的配置上
原文地址:https://blog.csdn.net/2401_86261141/article/details/144780398
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!