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

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


前言

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

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

那么,在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条左右的热点新闻,涵盖政治、经济、社会、娱乐、体育等领域,让你快速掌握全天最值得关注的事件动态。

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

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

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
18天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
1月前
|
弹性计算 运维 监控
ECS资源监控
ECS资源监控涉及CPU、内存、磁盘I/O、网络流量、系统负载和进程的关键指标,通过云服务商控制台、监控服务、API与SDK、运维工具进行实时监控和告警设置。支持历史数据查询、事件监控,以及使用Windows资源监视器和Linux系统工具进行操作系统层面监控。全面监控确保ECS实例稳定运行、资源有效利用和问题及时处理。如需特定云服务商的指导,请询问。
36 3
|
1月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
164 0
|
3天前
|
域名解析 网络协议 安全
服务器部署访问出错的原因和解决办法
部署到服务器后无法访问可能是由于配置错误、权限问题或网络设置不当。解决办法包括检查服务器配置文件、确保文件路径正确、调整权限设置以及检查防火墙和端口设置。
13 4
|
21天前
|
关系型数据库 MySQL 数据安全/隐私保护
使用docker快速搭建wordpress服务,并指定域名访问
通过以上步骤,你可以使用Docker快速搭建WordPress服务,并通过指定的域名进行访问。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
22 1
|
23天前
|
缓存 监控 Linux
服务器中常用的几个资源监控工具整理
【4月更文挑战第2天】服务器中常用的几个资源监控工具整理
364 13
|
1月前
|
弹性计算 小程序 开发者
阿里云服务器性能测评:25M带宽阿里云云服务器支持多少人访问?
在深入探讨25M带宽云服务器的性能时,我们首先要明确一个核心概念:带宽与服务器能够支持的同时访问量之间存在着直接的关联。那么,大家可能会好奇,带宽为25M的云服务器究竟能够支持多少用户同时访问呢?
129 0
|
1月前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
1月前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
420 4
|
22天前
|
弹性计算
阿里云ECS使用体验
在申请高校学生免费体验阿里云ECS云服务器后的一些使用体验和感受。