使用Nginx搭建前端静态服务器+文件服务器
大家可能被虚拟主机不太了解,那我们的解释一下,虚拟主机指在一台物理主机服务器上划分出多个磁盘空间,每个磁盘空间都是一个虚拟主机,每台虚拟主机都可以对外提供Web服务,并且互不干扰。 |
一、Nginx的虚拟主机介绍
大家可能被虚拟主机不太了解,那我们的解释一下,虚拟主机指在一台物理主机服务器上划分出多个磁盘空间,每个磁盘空间都是一个虚拟主机,每台虚拟主机都可以对外提供Web服务,并且互不干扰。
就类似我们本地虚拟机,我们可以在window系统上面安装一个虚拟机,在虚拟机里面安装很多个系统。那这样的话我们就可以模拟很多个服务器。
Nginx虚拟主机配置, 我们可以在一台机器上面配置很多个虚拟主机配置多个域名。那这样的话我们就可以靠虚拟主机转发到不同的应用,就不用每个系统都配置一个Nginx。
二、搭建前端静态服务器
前面我们讲解了很多基础知识以及我们这个环境的搭建,那我们现在就来开发我们第一个案例实操。
我们知道一个系统它有前端页面跟后端服务组成。这个就不像我们最开始学那个编码的时候,前端代码跟后端代码放在一起。这一种的话性能很低,完全支撑不了高并发访问。
现在公司基本都是前后端分离的架构。前端专门负责开发前端的页面,后端专门开发对应的后端接口。
后端部署的话一般都是集群部署,然后会增加对应的缓存跟消息队列,提高接口的一个性能。
那前端这一块我们一般怎么去部署呢?
比如vue开发或者React开发的项目,我们一般会把前端代码单独放到一个文件服务器上面或者购买CDN服务,用户访问前端代码,前端代码会发起异步请求我们后端的接口,然后渲染数据最终通过浏览展示出来。
这个跟下面的图也是一样的,我们可以用Nginx做一个文件服务器,用户访问Nginx去找对应的HTML代码返回给浏览器,再请求后端接口拿数据在浏览器上渲染出来。
那Nginx怎么配置静态代码服务器呢?跟着步骤即可,我们编辑/usr/local/nginx/conf/nginx.conf文件。
找到server虚拟主机节点,配置下静态html文件路径,root可以是相对路径,也可以是绝对路径,我们这边使用nginx 里面的html文件夹,index 配置表示会根据html文件路径去找默认的首页文件,先找index.html
如果找不到就找index.htm
server { listen 80; server_name aabbccdd.com; # 本地虚拟主机的配置域名 location / { root /usr/local/nginx/html; #相对路径或者绝对路径都可以 index xdclass.html; } }
为了方便验证,我们需要准备对应的前端代码,直接修改/usr/local/nginx/html/index.html里面的代码,修改完保存, 然后重启我们的Nginx即可验证
访问我们配置好的本地域名解析,aabbccdd.com 就可以访问到静态代码文件,包括如果你使用vue或者react 开发的前端代码,也可以按照这种方式进行一个配置。
三、Nginx搭建文件服务器
在讲我们搭建文件服务器之前,我们一般开发一个系统,肯定会涉及到一个文件的上传好比用户的头像, 或者PDF文件,那这些东西我们应该存储到哪里呢?
以前学项目的时候,基本就是把图片传到项目本身里面, 如果文件数量少的话还可以接受。
那如果图片的数量有几万几十万到几百万个,那这个缺点很明显,用Tomcat返回对应的文件,那这个肯定很占用的内存资源、带宽资源以及并发量,基本很少公司会这样做,公司基本就是使用文件服务器或者云厂商提供的CDN。
那这一个文件服务器是怎么操作的流程呢?前端用户上传文件到我们的后端服务器,后端服务器存储临时文件,然后再把文件传到我们的文件服务器,拼装好访问的文件访问URL,再把我们这个URL存储到对应的数据库,最后把URL返回给咱们这个前端用户,这一个就是完整的文件上传的流程。
这样的好处很明显,后续用户访问对应的文件的时候不用经过我们的后端接口,直接访问单独的文件服务器。
我们后端的接口更适合于处理业务逻辑,合适的功能做合适的事情。
那使用Nginx怎么去搭建我们这个图片服务器呢?操作步骤很简单,我们只要找到在nginx.conf配置文件到虚拟主机,然后根据location做个路径的映射就可以。
server { listen 80; server_name aabbccdd.com; location /app/img { alias /usr/local/software/img/; } }
上面这个配置的意思就是用户访问 aabbccdd.com/app/img/ ,命中我们配置的location路径,Nginx就会根据对应的文件名称,去这个/usr/local/software/img/文件夹下面找一下对应的文件返回给用户。
这个alias相当于取了一个别名,把用户访问的资源路径映射到我们这个配置的文件夹下面。
为了方便测试,我们直接在这个文件夹上面上传几个图片和文本,上传上去之后,我们重启我们的Nginx了。
我们就可以通过我浏览器访问对应的资源路径,Nginx就会根据路径找对应的文件返回给我们。
使用Nginx搭建前端静态服务器+文件服务器相关推荐
- 使用 NGINX 搭建 RTMP 流媒体服务器实现直播功能
使用 NGINX 搭建 RTMP 流媒体服务器实现直播功能 本文介绍了如何使用 Nginx 搭建 RTMP 流媒体服务器,并提供配置文件和前端示例,实现直播功能. 环境 操作系统: Ubuntu 18 ...
- Nginx搭建flv视频点播服务器
Nginx搭建flv视频点播服务器 前一段时间使用Nginx搭建的多媒体服务器只能在缓冲过的时间区域内拖放, 而不能拖放到未缓冲的地方. 这就带来了一个问题: 如果视频限速的速率很小, 那么客户端观看 ...
- Nginx搭建部署Web服务器并与NFS结合搭建负载均衡服务器
Nginx搭建部署Web服务器并与NFS结合搭建负载均衡服务器 一.搭建NginxWeb服务器 此种方式是用yum安装Nginx,为保证安装成功需在安装之前提前安装epel扩展源. 用 ...
- keepalive+nginx搭建主从负载服务器
keepalive+nginx搭建主从负载服务器 keepalive配置文件 从: ! Configuration File for keepalived global_defs { notifica ...
- 如何基于 Nginx 搭建个人直播服务器.md
前言 最近这几年做直播和短视频领域是真的很火,而且直播的领域也很广泛,可以预见,未来的音视频技术将会作为一种基础技术应用到更广泛的场景中.它可以与 AR/VR 结合,让你在远端体验虚拟与现实,如虚拟服 ...
- svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器
前提:系统安装nodejs 搭建步骤 使用nodejs搭建服务器,简单的来说可以分为三步: require相应的模块 创建服务器 配置端口 启动服务器 必要的nodejs模块 以下模块都是以 var ...
- Windows基于Nginx搭建RTMP流媒体服务器(附带所有组件下载地址及验证方法)
RTMP服务时常用于直播时提供拉流推流传输数据的一种服务.前段时间由于朋友想搭建一套直播时提供稳定数据传输的服务器,所以就研究了一下如何搭建及使用. 1.下载nginx 首先我们要知道一般nginx不 ...
- 利用nginx搭建简单图片服务器实现负载均衡
在我们搭建一个网站的时候,往往有时候会加载更多的图片,如果都从tomcat服务器来获取静态资源,这样会增加我们服务器的负载,使得服务器运行 速度非常慢,这时我们可以使用nginx服务器来加载这些静态资 ...
- datagrid 重载本地数据_音视频系列3:使用ffmpeg + nginx搭建本地转发服务器
本文与csdn博客同步:https://blog.csdn.net/Hanghang_/article/details/104893135,欢迎关注,点赞,评论. 前言 音视频系列: HectoorZ ...
最新文章
- 计算机php外文翻译,php外文翻译.doc
- go语言的defer语句
- 激光点云格式转换 bin 相互 pcd转换
- 来,拆一堆芯片看看!
- js 控制 Windows Media Player
- eclipse package explorer视图中怎么让default package不显示?
- 【微软ALUM】当语言模型遇到对抗训练
- Linux lvm分区扩容
- Delphi学习视频02
- python读取excel写入word模板_使用python将Excel数据填充Word模板并生成Word
- 北大医学英语和计算机,医学英语专业本科生张泉同学在SSCI期刊发表论文
- could not find driver (SQL: select * from information_schema.tables where table_schema = oliver and
- 计算机录制视频的方法,怎么录制电脑屏幕视频步骤(电脑录屏的方法有4种)...
- linux下WMB通过ODBC连接数据库
- 企业erp系统对企业预算和采购环节的作用
- RabbitMQ是什么?一些简单的概念
- python表示倍数_倍数 python
- word办公插件中的佼佼者,Word魔方
- Python+OpenCV人脸识别签到考勤系统(新手入门)
- 记录一下NotImplementedError: Cannot convert a symbolic Tensor的解决办法