大家可能被虚拟主机不太了解,那我们的解释一下,虚拟主机指在一台物理主机服务器上划分出多个磁盘空间,每个磁盘空间都是一个虚拟主机,每台虚拟主机都可以对外提供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搭建前端静态服务器+文件服务器相关推荐

  1. 使用 NGINX 搭建 RTMP 流媒体服务器实现直播功能

    使用 NGINX 搭建 RTMP 流媒体服务器实现直播功能 本文介绍了如何使用 Nginx 搭建 RTMP 流媒体服务器,并提供配置文件和前端示例,实现直播功能. 环境 操作系统: Ubuntu 18 ...

  2. Nginx搭建flv视频点播服务器

    Nginx搭建flv视频点播服务器 前一段时间使用Nginx搭建的多媒体服务器只能在缓冲过的时间区域内拖放, 而不能拖放到未缓冲的地方. 这就带来了一个问题: 如果视频限速的速率很小, 那么客户端观看 ...

  3. Nginx搭建部署Web服务器并与NFS结合搭建负载均衡服务器

    Nginx搭建部署Web服务器并与NFS结合搭建负载均衡服务器 一.搭建NginxWeb服务器     此种方式是用yum安装Nginx,为保证安装成功需在安装之前提前安装epel扩展源.     用 ...

  4. keepalive+nginx搭建主从负载服务器

    keepalive+nginx搭建主从负载服务器 keepalive配置文件 从: ! Configuration File for keepalived global_defs { notifica ...

  5. 如何基于 Nginx 搭建个人直播服务器.md

    前言 最近这几年做直播和短视频领域是真的很火,而且直播的领域也很广泛,可以预见,未来的音视频技术将会作为一种基础技术应用到更广泛的场景中.它可以与 AR/VR 结合,让你在远端体验虚拟与现实,如虚拟服 ...

  6. svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器

    前提:系统安装nodejs 搭建步骤 使用nodejs搭建服务器,简单的来说可以分为三步: require相应的模块 创建服务器 配置端口 启动服务器 必要的nodejs模块 以下模块都是以 var ...

  7. Windows基于Nginx搭建RTMP流媒体服务器(附带所有组件下载地址及验证方法)

    RTMP服务时常用于直播时提供拉流推流传输数据的一种服务.前段时间由于朋友想搭建一套直播时提供稳定数据传输的服务器,所以就研究了一下如何搭建及使用. 1.下载nginx 首先我们要知道一般nginx不 ...

  8. 利用nginx搭建简单图片服务器实现负载均衡

    在我们搭建一个网站的时候,往往有时候会加载更多的图片,如果都从tomcat服务器来获取静态资源,这样会增加我们服务器的负载,使得服务器运行 速度非常慢,这时我们可以使用nginx服务器来加载这些静态资 ...

  9. datagrid 重载本地数据_音视频系列3:使用ffmpeg + nginx搭建本地转发服务器

    本文与csdn博客同步:https://blog.csdn.net/Hanghang_/article/details/104893135,欢迎关注,点赞,评论. 前言 音视频系列: HectoorZ ...

最新文章

  1. 计算机php外文翻译,php外文翻译.doc
  2. go语言的defer语句
  3. 激光点云格式转换 bin 相互 pcd转换
  4. 来,拆一堆芯片看看!
  5. js 控制 Windows Media Player
  6. eclipse package explorer视图中怎么让default package不显示?
  7. 【微软ALUM】当语言模型遇到对抗训练
  8. Linux lvm分区扩容
  9. Delphi学习视频02
  10. python读取excel写入word模板_使用python将Excel数据填充Word模板并生成Word
  11. 北大医学英语和计算机,医学英语专业本科生张泉同学在SSCI期刊发表论文
  12. could not find driver (SQL: select * from information_schema.tables where table_schema = oliver and
  13. 计算机录制视频的方法,怎么录制电脑屏幕视频步骤(电脑录屏的方法有4种)...
  14. linux下WMB通过ODBC连接数据库
  15. 企业erp系统对企业预算和采购环节的作用
  16. RabbitMQ是什么?一些简单的概念
  17. python表示倍数_倍数 python
  18. word办公插件中的佼佼者,Word魔方
  19. Python+OpenCV人脸识别签到考勤系统(新手入门)
  20. 记录一下NotImplementedError: Cannot convert a symbolic Tensor的解决办法

热门文章

  1. 985 CV 找不到工作? 4 点诚恳建议
  2. 他24岁,4篇Nature在手,也会关心学不懂C语言怎么办
  3. 2019年9月全国程序员工资统计,看看你拖后腿了没?
  4. Python模拟赌博实验,赌博为什么能赌到倾家荡产?
  5. Dubbo基础专题——第二章(Dubbo工程简单实践)
  6. 聊天机器人之文本分词
  7. PLT、POT、延迟绑定
  8. 机器学习算法常用指标总结
  9. 计算机视觉专家:如何从C++转Python
  10. 你知道怎么使用OpenCV检测篮球运动员吗?