宝塔面板项目部署踩坑日记

1. 服务器地址

  1. mysql地址与密码(密码或地址错误会连接不上数据库,直接导致项目启动不了,也关闭不了)
  2. 前端访问的地址记得改为上线地址
  3. 如果涉及到操作文件(比如上传文件到服务器),文件的目录也要改为服务器上的目录(比如/www/wwwroot)

2. 请求404的问题

  1. nginx跨域解决

挂载到服务器的前端项目会默认有一个api前缀

参考文章:blog.csdn.net/weixin_4320...

打开前端站点,点击设置,到配置文件加一个这个,proxy_pass:是你搭建好的后端地址

javascript 复制代码
 
    location  ^~/api/
    {
    add_header 'Access-Control-Allow-Origin' '*';
    proxy_pass http://42.194.242.69:3000/;
    }
    
    location  ^~/image/ 
    {
		root /www/wwwroot/soulmate/soulmateImage/;     #指定图片存放路径    
	  }

3. 图片上传服务器失败

  1. 修改文件权限 用这个命令也不是所有情况都能解决,可以看看《鸟哥的 Linux 私房菜》 关于权限的那块内容
bash 复制代码
chmod -R 777

4. 图片访问失败

我后端使用的是资源映射。

访问失败,一般为你的站点没有配置可访问路径

bash 复制代码
  location  ^~/image/ 
    {
		root /www/wwwroot/soulmate/soulmateImage/;     #指定图片存放路径    
	  }

参考文章: blog.csdn.net/qq_48922459...

5. 刷新页面找不到

使用的是history模式 由于我们的应用是一个单页的客户端应用

参考文章: cloud.tencent.com/developer/a...

6. 面试题

hash模式

hash模式 它在内部传递的实际 URL 之前使用了一个哈希字符(#)。由于这部分 URL 从未被发送到服务器,所以它不需要在服务器层面上进行任何特殊处理。不过,它在 SEO 中确实有不好的影响。如果你担心这个问题,可以使用 HTML5 模式。

history模式

当使用这种历史模式时,URL 会看起来很 "正常",例如 example.com/user/id。漂亮!

不过,问题来了。由于我们的应用是一个单页的客户端应用,如果没有适当的服务器配置,用户在浏览器中直接访问 example.com/user/id,就会得... 404 错误。这就尴尬了。

不用担心:要解决这个问题,你需要做的就是在你的服务器上添加一个简单的回退路由。如果 URL 不匹配任何静态资源,它应提供与你的应用程序中的 index.html 相同的页面。漂亮依旧!

解决方案:

  1. 改为hash模式
  2. nginx
bash 复制代码
 location / 
    {
    index /www/wwwroot/dist/index.html;
    try_files $uri $uri/ /index.html;
    }

参考

cloud.tencent.com/developer/a...

一定要配置日志!!!

相关推荐
程序员阿鹏1 分钟前
Spring Boot项目(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot前后端分离)
java·前端·vue.js·spring boot·后端·spring·maven
一勺菠萝丶2 小时前
深入浅出:Spring Boot 中 RestTemplate 的完整使用指南
java·spring boot·后端
海风极客2 小时前
《Go小技巧&易错点100例》第三十二篇
后端·spring·golang
有梦想的攻城狮2 小时前
SpEL(Spring Expression Language)使用详解
java·后端·spring·spel
caihuayuan53 小时前
前端面试2
java·大数据·spring boot·后端·课程设计
郭尘帅6663 小时前
SpringBoot学习(上) , SpringBoot项目的创建(IDEA2024版本)
spring boot·后端·学习
野犬寒鸦4 小时前
MySQL索引详解(下)(SQL性能分析,索引使用)
数据库·后端·sql·mysql
.生产的驴8 小时前
SpringBoot 集成滑块验证码AJ-Captcha行为验证码 Redis分布式 接口限流 防爬虫
java·spring boot·redis·分布式·后端·爬虫·tomcat
野犬寒鸦9 小时前
MySQL索引使用规则详解:从设计到优化的完整指南
java·数据库·后端·sql·mysql
思考的橙子9 小时前
Springboot之会话技术
java·spring boot·后端