当前位置: 首页 > news >正文

nginx部署问题

nginx部署

项目类型资源路径引用方式Nginx 解析方式是否出问题
原生 HTML(/t/)直接使用相对路径,如 ./images/logo.png/t/images/logo.png不会有问题
Vue(/o/)默认使用绝对路径 /assets/index.jsNginx 解析到 /assets/ 而不是 /o/assets/会 4

方案 1:Vue 修改 publicPath(推荐)

module.exports = {
  publicPath: '/o/'  // 让 Vue 知道资源在 /o/ 下面
};
 

方案 2:Nginx 修正 /assets/ 访问路径

如果不想改 Vue 项目,可以让 Nginx 把 /assets/ 请求指向 /o/assets/

如果不想改 Vue 项目,可以让 Nginx 把 /assets/ 请求指向 /o/assets/:

location /assets/ {
    root /usr/share/nginx/html/o;
}

然后 http://47.103.16.236/assets/index.js 其实访问的是:


/usr/share/nginx/html/o/assets/index.js
  • 纯静态 HTML 不会有问题,因为它的资源路径是相对的,不会影响 Nginx 路径解析。
  • Vue 项目 会有问题,因为默认构建出的 index.htmlassets/ 目录是根路径 /,导致 Nginx 找不到资源。
  • 最好的做法修改 Vue publicPath,如果不想改 Vue 项目,就 修改 Nginx location /assets/
server {
    listen 80;  # 监听 IPv4 地址的 80 端口
    listen [::]:80;  # 监听 IPv6 地址的 80 端口
    server_name localhost;  # 设置服务器的主机名为 localhost

    root /usr/share/nginx/html;  # 设置服务器根目录为 /usr/share/nginx/html,所有请求默认从这个目录查找文件

    # 处理 /o/ 路径下的请求
    location /o/ {
        index index.html index.htm;  # 设置默认访问文件为 index.html 或 index.htm
        # 注意:如果 Vue 或其他前端框架使用了 history 模式的路由,这里可能需要增加 try_files 配置
    }

    # 处理 /t/ 路径下的请求
    location /t/ {
        index index.html index.htm;  # 设置默认访问文件为 index.html 或 index.htm
    }

    # 处理 /assets/ 路径下的请求
    location /assets/ {
        root /usr/share/nginx/html/o;  # 设置 /assets/ 请求的根目录为 /usr/share/nginx/html/o
        # 这意味着 /assets/ 目录下的静态资源文件将从 /usr/share/nginx/html/o/assets/ 查找
    }
}

相关文章:

  • 【RocketMQ】二、架构与核心概念
  • Redis- 大key
  • 【深度学习】宠物品种分类Pet Breeds Classifier
  • uniapp+node+mysql接入deepseek实现流式输出
  • mybatis-plus+springboot3项目实现分页
  • 【自学笔记】Numpy基础知识点总览-持续更新
  • linux上安装redis[从0到1]
  • 【AGI】通往AGI的复兴号:模型工具演进与技术路径优化
  • 03特征值分解
  • 软件测试の概念之测试分类质量模型测试用例
  • 渗透测试之利用sql拿shell(附完整流程+防御方案)【上】
  • Visual studio + Qt 项目配置管理
  • UI自动化测试Selenium安装教程(1)
  • 《加快应急机器人发展的指导意见》中智能化升级的思考——传统应急设备智能化升级路径与落地实践
  • 【JavaEE】网络原理
  • FPGA学习篇——Verilog学习5(reg,wire区分及模块例化)
  • 【洛谷P1080国王游戏】2025-3-7
  • K8S学习之基础十三:k8s中ReplicaSet的用法
  • VUE3开发-4、组件引入
  • 《A++ 敏捷开发》- 18 软件需求
  • 北京注销网站备案/北京网站优化策略
  • 电商货源网站/淮安网站seo
  • dreamweaver教程做网站/重庆seo哪个强
  • 英国T4学生签证 可以做网站吗/爱站网站长seo综合查询
  • 开鲁网站seo不用下载/网站建设规划要点详解
  • 保密和档案网站建设方案/网站流量数据分析