通过域名的方式访问服务器里的资源

本文涉及的产品
.cn 域名,1个 12个月
简介: 通过域名的方式访问服务器里的资源


前言

在平时的项目过程中,我们可能经常会遇到这样的场景。

上传资源,比如图片或者视频到服务器中,上传上去后,我们给数据库中存的是文件所在路径,然后在前端使用的时候直接通过路径的方式来获取上传的文件。

那么,在vue项目中,我们上传的文件至服务器中后,我们如何通过域名的方式,来获取到上传的文件呢?今天我们就来看一下。

解决过程

在遇到问题的时候,习惯性的打开手里的chatpt软件claude,在上面问了下,给的答案不尽如意:

问:

vue项目,在服务器上有个目录,如何通过域名的方式访问改目录下的文件

答:

要通过域名访问Vue项目中的文件,需要进行以下配置:

  1. 在Vue项目的根目录下创建vue.config.js文件,添加publicPath配置:
module.exports = {
  publicPath: '/文件目录名称/' 
}

比如文件目录名称为myfiles,那么配置为:

module.exports = {
  publicPath: '/myfiles/' 
}
  1. 将文件目录myfiles拷贝到服务器上与Vue项目相同层级的位置。
  2. 在服务器上为这个目录配置访问路径。比如在Nginx中配置如下location:
location /myfiles/ {
  alias /path/to/myfiles/;  # 指向实际目录位置 
}
  1. 重启服务器使配置生效。
  2. 在Vue项目中,你可以通过/myfiles/文件的相对路径来访问这些文件了。
    举个例子,文件目录结构:
  • Vue项目
  • vue.config.js
  • public
  • index.html
  • myfiles
  • file.txt
  • nginx.conf

vue.config.js:

module.exports = {
  publicPath: '/myfiles/' 
}

nginx.conf:

location /myfiles/ {
  alias /path/to/myfiles/;  
}

则可以在Vue项目中通过/myfiles/file.txt来访问myfiles目录下的file.txt文件。

这是因为:

  1. vue.config.js中的publicPath告诉Vue以/myfiles/开头来解析静态资源路径
  2. nginx将/myfiles/映射到实际的文件目录,所以请求/myfiles/file.txt会访问到真实的file.txt文件
  3. 静态文件在Vue项目中以publicPath开头的路径被webpack处理并部署到相应位置。
    所以通过这种配置,我们就可以通过域名的方式来访问服务器上的任意目录中的文件了。希望这能帮助你在Vue项目中访问外部资源!

我们可以看得出来,claude好像理解成了我想访问的是服务器上vue项目的资源,而不是其他目录下的文件,所以这个答案肯定不行。

于是我就自己研究了下。

解决方法

现在看来,解决方法很简单,只需要在nginx里面配置一下就行,配置信息如下:

location /video/ {
            alias  /life/chx/;
        }

其中/life/chx/文件下方的就是我们上传的图片和视频。

顺便看看?

在这个信息爆炸的时代,要挑选出每天真正值得关注的新闻事件并不容易。雄雄的小课堂公众号致力于为你筛选每日新闻重磅事件,提供最精华的新闻内容。每天一早,雄雄的小课堂会推送40条左右的热点新闻,涵盖政治、经济、社会、娱乐、体育等领域,让你快速掌握全天最值得关注的事件动态。

雄雄的小课堂遵循“清新、实用”的原则,不刊登无谓八卦与怪谈,只为读者奉上最真实可靠的新闻报道。简明扼要的新闻描述配上关键词标注,让你轻松获取新闻核心要素。同时提供新闻图片及来源出处,保证新闻的权威性与可信度。

信息量大却无暇细读?小课堂为你智能筛选最精华的新闻集锦。新闻广而不散,雄雄的小课堂让你有选。如果你渴望每天第一时间掌握最热门新闻动态,雄雄的小课堂公众号将是你的最佳选择。

相关文章
|
2月前
|
域名解析 网络协议 安全
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
|
2月前
|
运维 Serverless 网络安全
函数计算产品使用问题之通过仓库导入应用时无法配置域名外网访问,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
网络协议 Linux Docker
在Linux中,如何指定dns服务器,来解析某个域名?
在Linux中,如何指定dns服务器,来解析某个域名?
|
7天前
|
人工智能 网络协议 Shell
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
21 1
|
7天前
|
人工智能 网络协议 Shell
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
22 0
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
|
8天前
|
网络协议 开发工具 git
hexo github部署,通过域名访问你的博客
本文介绍了如何使用Hexo命令部署博客到GitHub,并详细说明了如何通过自定义域名访问GitHub上部署的博客。
hexo github部署,通过域名访问你的博客
|
9天前
|
PHP
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】
本文详解了在ThinkPHP框架中配置多应用的方法,包括安装扩展、删除默认controller文件夹、创建多应用、修改配置文件以启用多应用、测试访问以及如何配置不同域名访问不同应用的步骤。
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】
|
2月前
|
弹性计算 监控 安全
重装系统后,无法通过云监控查看ecs资源占用怎么解决
如果您在重装系统后无法通过云监控查看ECS资源占用,可以按以下步骤排查:1. 确认云监控插件状态是否“运行中”,若不是则需重新安装;2. 通过自动安装流程安装插件,并确认状态变回“运行中”;3. 检查ECS网络配置,确保能访问外部网络;4. 验证监控功能是否正常显示数据;5. 可选设置报警规则。如问题仍存,请检查防火墙或安全组设置。通过上述步骤,您应能重新启用云监控。
|
2月前
|
SQL 开发框架 网络协议
【Azure 环境】基于Azure搭建企业级内部站点, 配置私有域名访问的详细教程 (含演示动画)
【Azure 环境】基于Azure搭建企业级内部站点, 配置私有域名访问的详细教程 (含演示动画)
|
2月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
下一篇
无影云桌面