资讯专栏INFORMATION COLUMN

你需要了解的 nginx 基础配置

stormzhang / 3343人阅读

摘要:初探今天给大家讲下的基础配置很多小伙伴在开发的过程中会使用到但是确对的配置其实并不了解今天我给大家讲下基础的配置项的功能很多但是说到大家最先想到的是反向代理和负载均衡负载均衡在开发环境体现的不太明显主要是为了解决生产环境的客户端请求很多的时

初探nginx
今天给大家讲下nginx的基础配置,很多小伙伴在开发的过程中会使用到 nginx ,但是确对 nginx 的配置其实并不了解,今天我给大家讲下基础的配置项.nginx 的功能很多,但是说到 nginx 大家最先想到的是反向代理和负载均衡.

"负载均衡"在开发环境体现的不太明显,主要是为了解决生产环境的客户端请求很多的时候,动态的去分散给各个服务器,缓解服务器压力,充 分利用资源.而说到 "反向代理",你的第一反应应该是"正向代理",简称"代理",你可以把代理想象成客户端和服务端的中介,代理的种类很多,比较常见的是,客户端对服务端进行请求的时候,代理会对请求的内容进行下载缓存,从而提高客户端的请求速度,代理还有多重代理,加密处理等功能,"反向代理"的作用和正项代理的功能相辅相成,原理也类似,反向代理将字符串和相应的服务器和端口匹配上,从而获取用户想要获取的内容,那么这两者的区分是什么呢,"正向代理"作用于客户端,"反向代理"作用于服务器.

生动的 nginx 反向代理解释

为了让大家能够更加深刻的理解代理和反向代理的模式,我们引用下知乎上车小胖的回答

有了第三方订餐外卖平台(代理),老王懒得动身前往饭店,老王打个电话或用APP,先选好某个饭店,再点好菜,外卖小哥会送上门来。由于某个品牌的饭店口碑特别好,食客络绎不绝涌入,第三方订餐电话也不绝于耳,但是限于饭店接待能力有限,无法提供及时服务,很多食客等得不耐烦了,纷纷铩羽而归,饭店老总看着煮熟的鸭子飞走了,心疼不已。痛定思痛,老总又成立了几个连锁饭店,形成一个集群,对外提供统一标准的菜品服务,电话订餐电话400-xxx-7777,当食客涌入饭店总台,总台将食客用大巴运到各个连锁店,这样食客既不需要排队,各连锁店都能高速运转起来,一举两得,老总乐开了花,并为此种运作模式起名为“反向代理”(Reverse Proxy)。
nginx 基础配置

好了,了解了 nginx 的一些概念之后,我们要开始切入今天的主题,"ngix 的基础配置",安装好 nginx 配置之后,你对 nginx 的配置都写在 nginx.conf 的文件里,从 nginx 的配置指令作用域来讲,我们分为 5 个作用域块,分别是:

全局作用域块

event 作用域块

http 指令作用域块

server 指令作用域块

location 指令作用域块


在 "全局作用域块" 作用域块中配置通用的nginx 配置,比如 nginx 的用户组信息,nginx 的并发进程数,日志存放位置等,nginx 的用户组信息配置,用来控制启动 nginx 的权限,服务并发一般情况下是越多越好,但是当超过硬件的承受范围时会适得其反,所以一般我们会配置为 auto,这样 nginx 会去检查硬件的信息,启用适当的进程数量.

日志存放位置你也可以配置在 http 作用域块,"http 作用域块"作用域通常是配置请求相关的内容,比如数据的传输,对同一个接口的请求次数上线,配置请求的潮湿时间,还有是否要对请求进行 gzip 压缩等.在之前讲 web性能优化的时候,我记得和大家讲过 gzip 压缩是提高 web 性能优化的一种手段,gzip 能对 http 请求的请求头和请求体进行压缩,从而达到优化.但是不是所有的请求都要去压缩,有些压缩之后的请求体积可能会更大,从而达不到压缩的效果.那怎么办呢,在 nginx 的配置中,你可以进行配置,设置当请求大于一定值的时候,才触发 gzip 压缩 gzip 的内容这里就深入讲解了,想要了解的同学可以去谷歌下,或则在下次 nginx 的高级配置的分享的时候我们再来细讲.

在 event 模块我们通常会配置进程的连接数量,就是每一个worker进程能并发处理(发起)的最大连接数.在 "server 指令作用域块" 我们可以进行独立项目的代理配置,

一个 http 指令中可以包含多个 server ,每一个 server 你可以看做是一个虚拟机,部署过网站的同学应该知道,若果你没有做代理,你的服务器只能部署一个项目的内容,默认是80端口,使用代理,能将客户端的请求根据端口作为区分,发散到不同的项目中.nginx 这一点,能让我们更好的利用服务器资源

在server 指令中,我们同样可以配置多个 location 指令,location 指令能将我们的字符串请求解析到对应的IP和端口,从而去获取正确的资源,location 也可以进行特殊配置,定制 网站的 404 ,500 等页面.

nginx 的项目配置示例


我们简单的看下,我目前使用到的两个项目的 nginx 配置,在fengdai_pc 项目中我们通过 listen 来配置项目监听端口,通过 root 来配置前端项目文件的地址,我们还通过 location 来配置了几个模块代理,account 和 funds ,定制了 404 页面,在 另一个 nginx 配置项目中我们做了https 配置,配置了域名 baibatianpc.com,并且指定了证书的位置,这样配置后,我们能通过 访问 https://baibatianpc.com/ 来查看我们的项目.这里对于如何搭建 https 环境就不细讲了,不同的开发系统证书的获取和配置方式也不太一样,想要深入了解的同学继续谷歌.

复习

好了,我们今天讲了nginx 的基础配置,我们现在来复习一下,我们今天讲的知识点有哪些

nginx 常用的功能的概念,负载均衡,反向代理

nginx 指令配置的5个作用域空间

nginx 的每个配置作用域的基础配置项目

简单的两个项目配置示例

你都掌握了吗

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39566.html

相关文章

  • 面向生产和开发环境LNP基础镜像

    摘要:地址这是一份适用于生产和开发环境的。目前已经在我司的生产环境上并运行良好。日常开发中也是基于此镜像进行的。如果想快速看看镜像里有啥东西,只需要运行其中替换成你实际的镜像。开发环境的使用单独运行这个容器是没有意义的。 GITHUB地址:https://github.com/banyancheu... 这是一份适用于生产和开发环境的 Dockerfile。 在 phuison/baseim...

    sshe 评论0 收藏0
  • 面向生产和开发环境LNP基础镜像

    摘要:地址这是一份适用于生产和开发环境的。目前已经在我司的生产环境上并运行良好。日常开发中也是基于此镜像进行的。如果想快速看看镜像里有啥东西,只需要运行其中替换成你实际的镜像。开发环境的使用单独运行这个容器是没有意义的。 GITHUB地址:https://github.com/banyancheu... 这是一份适用于生产和开发环境的 Dockerfile。 在 phuison/baseim...

    wangzy2019 评论0 收藏0
  • 服务器部署静态资源(通过nginx反向代理)

    摘要:场景最近一直在做一个养老项目,符合时代发展,此项目为一个前后端分离的项目,对于后台的部署比较熟悉,说到前端的静态资源部署一时间有点蒙圈,后来查阅资料发现,其实很简单。 场景 最近一直在做一个养老项目,符合时代发展,此项目为一个前后端分离的项目,对于后台的部署比较熟悉,说到前端的静态资源部署一时间有点蒙圈,后来查阅资料发现,其实很简单。 前提 工具 基础知识 工具 软件推荐本地与服务...

    liujs 评论0 收藏0
  • PHP程序员学习路线

    摘要:第一阶段基础阶段基础程序员重点把搞熟练核心是安装配置基本操作目标能够完成基本的系统安装,简单配置维护能够做基本的简单系统的开发能够在中型系统中支持某个功能模块的开发。本项不做重点学习,除非对前端有兴趣。 第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作) 目标:能够完成基本的LNMP系统安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在P...

    genedna 评论0 收藏0

发表评论

0条评论

stormzhang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<