Nginx
文章平均质量分 73
Nginx基础
吴声子夜歌
个人学习记录
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Nginx应用与运维——Nginx在微服务架构中的应用(二)
Nginx官方也提供了相应的产品组件,并在商业版本中提供了完整的微服务网关方案。Kong为方便实现Nginx配置的动态管理,定义了多个操作对象和对象参数,通过管理接口对不同的操作对象按照该对象的对象参数进行配置,可以非常快速地完成Kong的管理操作。Konga是基于Node.js开发的Kong开源管理工具,它不仅提供了Kong管理接口的全部操作对象的管理功能,同时还可以对多个Kong节点进行管理,包括Kong节点的备份、还原、健康监测等,还提供了多用户的功能,让Kong的日常管理操作可以更加方便灵活。原创 2026-10-06 00:42:15 · 195 阅读 · 0 评论 -
Nginx应用与运维——Nginx在微服务架构中的应用(一)
近几年,微服务(Microservices)技术迅猛发展,以SpringCloud为架构方案、Kubernetes为支撑平台成为微服务架构的主流实践方案。微服务架构中,把一个大系统中的单体应用按业务功能分解成多个功能单一的服务化小系统,并以API的方式使这些小系统相互协作,组合成这个大系统的功能应用。以往大型的复杂单体应用被拆解后的多个微服务所代替,系统中的每个微服务被独立部署,彼此之间是松耦合的。每个微服务仅关注如何很好地完成自身的任务,开发人员也可以更专注所负责的服务化模块,使软件生产的效率得到有效提升原创 2026-10-06 00:05:42 · 253 阅读 · 0 评论 -
Nginx应用与运维——Nginx在Kubernetes中的应用(三)
Nginx的各种功能设置都是在配置文件中修改相关配置指令实现的,Nginx Ingress为实现对Nginx自动化的管理和操作,它对Nginx原始配置文件使用了模板化的方式进行管理,并为用户提供了通过资源配置进行Nignx配置修改的方法。Nginx Ingress配置映射是由Nginx Ingress控制器提供相关的预置键值对,这些键值对与Nginx的配置指令或实现某一特定功能的指令集相对应,提供给用户对Nginx进行相关配置。配置映射的配置为全局负载均衡的配置,详见本章的注解负载均衡说明。原创 2026-10-05 23:41:36 · 221 阅读 · 0 评论 -
Nginx应用与运维——Nginx在Kubernetes中的应用(二)
摘要认证模块使Nginx的基本认证功能增加了摘要认证(Digest Authentication)的支持,这是一种简单的身份验证机制,是对基本认证的一种安全改进,仅通过服务端及客户端根据用户名和密码计算的摘要信息进行验证,避免了密码的明文传递,增加了认证过程的安全性。模块网址:https://github.com/nginx-modules/nginx-http-auth-digest。原创 2026-10-05 23:41:23 · 285 阅读 · 0 评论 -
Nginx应用与运维——Nginx在Kubernetes中的应用(一)
Kubernetes是分布式容器管理系统,它提供了对容器快速部署、网络规划、负载调度及宿主机节点自动化更新和维护的管理机制,使容器自动化按照用户期望的方式运行。与大多数分布式系统一样,Kubernetes集群由主节点(Master)和多个从节点(Node)组成,集群中运行多个应用组件,是计算、存储、网络资源的集合,为运行的各种应用提供资源管理、调度和维护等功能。Kubernetes架构如图所示。具体说明如下。原创 2026-10-05 17:59:44 · 192 阅读 · 0 评论 -
Nginx应用与运维——Nginx集群负载与配置管理(二)
当用Nginx服务器作为负载均衡应用时,经常会因业务调整或被代理服务器的变化需要对Nginx的配置进行修改,对于Nginx集群,若修改其中一台Nginx的配置,还需要对集群内Nginx的配置进行同步修改。Ansible是一款自动化的运维工具,是基于Python开发的。Nginx的配置是以文件形式存在的,配置指令会在启动时一次性加载并生效,采用这种方式除upstream的配置可动态变更(商业版本支持API变更,开源版本依赖第三方模块动态修改)外,其他配置的修改均需要重启或热加载Nginx进程才可生效。原创 2026-10-05 13:57:04 · 244 阅读 · 0 评论 -
Nginx应用与运维——Nginx集群负载与配置管理(一)
LVS(Linux Virtual Server)是一个开源的负载均衡项目,是国内最早出现的开源项目之一,目前已被集成到Linux内核模块中。该项目在Linux内核中实现了基于TCP层的IP数据负载均衡分发,其工作在内核空间且仅做负载均衡分发处理,所以稳定性相对较好,性能相对较强,对内存及CPU资源的消耗也最低。Keepalived是一款用C语言编写的开源路由软件,目前仍处于活跃开发的状态,其主要目标是基于Linux系统提供一款配置简单且功能强大的负载均衡和高可用的软件应用。原创 2026-10-05 11:16:42 · 265 阅读 · 0 评论 -
Nginx应用与运维——Nginx监控配置及管理(二)
Prometheus是由SoundCloud开源的监控告警解决方案,其在GitHub上的Star数已经超过3.1万,已成为很多大公司首选的监控解决方案。Prometheus由Prometheus Server、PushGateway、Alertmanager、Exporter等4个组件共同组成。其中,Exporter可以由用户自行开发,只需输出符合Prometheus的规范数据即可;原创 2026-10-04 16:49:08 · 200 阅读 · 0 评论 -
Nginx应用与运维——Nginx监控配置及管理(一)
Nginx连接状态是Nginx服务器整体连接数据的统计,在实际使用中,Nginx会配置很多虚拟主机,每个虚拟主机的客户端连接的处理状况也各不相同。5)stream_server_traffic_status_display指令启用后,才会启用监控数据输出功能,监控数据包括Nginx服务器连接状态(Server Main)、Nginx stream主机连接状态(Server Zones)、过滤关键字连接状态(Filters)和stream上游服务器组连接状态(Upstreams)4个部分的内容。原创 2026-10-04 15:49:24 · 175 阅读 · 0 评论 -
Nginx应用与运维——Nginx日志管理
ELK(Elasticsearch、Logstash、Kibana)是开源的实时日志收集分析解决方案。ELK访问逻辑如图9-1所示,是由Elasticsearch、Logstash、Kibana这三款软件和数据采集客户端(如Filebeat)等实现日志采集、储存、搜索分析等操作。(1)Elasticsearch是一款用Java语言开发的,基于Lucene的开源搜索引擎,它提供了分布式多用户的全文搜索、分析、存储能力。Elasticsearch的常见关键词如表所示。原创 2026-10-04 14:06:26 · 201 阅读 · 0 评论 -
Nginx应用与运维——Nginx负载均衡应用实战(二)
模块lua-resty-upstream-healthcheck的原理是每到(interval)设定的时间,就会对被代理服务器的HTTP端口主动发起GET请求(http_req),当请求的响应状态码在确定为合法的列表(valid_status)中出现时,则认为被代理服务器是健康的,如果请求的连续(fall)设定次数返回响应状态码都未在列表(valid_status)中出现,则认为是故障状态。默认配置下,HTTP协议的负载均衡与上游服务器组中被代理的连接都是HTTP/1.0版本的短连接。原创 2026-10-04 11:35:41 · 330 阅读 · 0 评论 -
Nginx应用与运维——Nginx负载均衡应用实战(一)
HTTP客户端在与服务端交互时,因为HTTP协议是无状态的,所以任何需要上下文逻辑的情景都必须使用会话保持机制,会话保持机制是通过客户端存储由唯一的SessionID进行标识的会话信息,每次与服务器交互时都会将会话信息提交给服务端,服务端依照会话信息实现客户端请求上下文的逻辑关联。在应对高并发的应用请求时,单节点的应用服务计算能力有限,无法满足客户端的响应需求,通过负载均衡技术,可以将请求分配到集群中的多个节点中,让多个节点分担高并发请求的运算,快速完成客户端的请求响应。原创 2026-10-04 00:18:34 · 219 阅读 · 0 评论 -
Nginx应用与运维——Nginx缓存服务应用实战(二)
Nginx开源版本并没有提供代理缓存模式下清理缓存的功能,这对于使用代理缓存非常不便,为了解决这一问题,可以使用开源的第三方模块ngx_cache_purge来实现代理缓存的手动清理和维护,ngx_cache_purge模块的源GitHub仓库已经很久不更新了,Nginx模块社区的GitHub仓库还处在活跃状态,并提供功能更新和bug修复。另一种配置方式是位于独立的location指令域中,通过指定的访问路径实现缓存的清除功能,该方式下的指令只能配置在location指令域下,指令格式如下。原创 2026-10-03 22:51:13 · 224 阅读 · 0 评论 -
Nginx应用与运维——Nginx缓存服务应用实战(一)
Nginx的缓存功能是集成在代理模块中的,当启用缓存功能时,Nginx将请求返回的响应数据持久化在服务器磁盘中,响应数据缓存的相关元数据、有效期及缓存内容等信息将被存储在定义的共享内存中。在以Memcached服务器为缓存应用的方案中,Memcached作为内容缓存的存储服务器,用户通过URL为Memcached的key将Web请求数据缓存到Memcached服务器中,在客户端发起请求时,Nginx通过一致的URL为key,快速地从Memcached服务器中将缓存的内容作为用户的请求响应数据返回给客户端。原创 2026-10-03 17:02:38 · 108 阅读 · 0 评论 -
Nginx应用与运维——Nginx代理服务应用实战(gRPC代理)
gRPC是一个开源的基于HTTP/2协议的高性能、跨语言的远程过程调用(RPC)框架。它提供了双向流、流控、头部压缩、单TCP连接上的多复用请求等功能,这些功能使其在移动设备上可更节省空间和降低电量消耗。而且gRPC相对于REST的数据调用方式,提供了一个更加适合服务间调用数据的通信方案。基于gRPC的客户端应用可以像调用本地对象方法一样直接调用gRPC服务端提供的方法,使其更适合分布式应用和服务场景。原创 2026-10-03 13:56:05 · 163 阅读 · 0 评论 -
Nginx应用与运维——Nginx代理服务应用实战(TCP/UDP代理)
该模块配置指令如表所示。被代理服务器的默认网关通常与Nginx不是同一个IP,proxy_bind指令透传参数模式下的被代理服务器接收到客户端TCP连接时,在默认网关的路由下无法找到透传过来的客户端IP地址和端口的路由,所以无法正常响应客户端的连接。Nginx通过stream模块提供了对TCP/UDP代理的支持,stream模块是在Nginx 1.9.0版本上开始添加的,该模块在Nginx配置文件配置中增加了stream指令域,通过在stream指令域中对指令的配置,实现TCP/UDP协议的代理功能。原创 2026-10-03 12:45:36 · 207 阅读 · 0 评论 -
Nginx应用与运维——Nginx代理服务应用实战(HTTP代理)
模块配置指令如表所示。Nginx默认不支持HTTP的CONNECT方法,所以无法实现HTTPS的正向代理的功能,若要实现Nginx的HTTPS的正向代理功能,需要添加一个第三方模块ngx_http_proxy_connect_module,实现HTTPS的正向代理支持。反向代理是用户客户端访问代理服务器后,被反向代理服务器软件按照一定的规则从一个或多个被代理服务器中获取响应资源并返回给客户端的代理模式,客户端只知道代理服务器的IP,并不知道后端服务器的IP,原因是代理服务器隐藏了被代理服务器的信息。原创 2026-10-03 00:22:57 · 210 阅读 · 0 评论 -
Nginx应用与运维——Nginx Web服务应用实战(HTTP增强协议服务器的搭建)
Nginx是通过ngx_http_v2_module实现HTTP/2协议支持的,编译配置时可通过增加参数–with-http_v2_module启用HTTP2模块。HTTP2模块配置指令如下。Nginx通过ngx_http_dav_module模块实现对WebDAV协议的支持,使用户通过WebDAV模块的配置指令实现文件的管理操作,该模块支持WebDAV协议的PUT、DELETE、MKCOL、COPY和MOVE请求方法,在配置编译参数时,需要添加–with-http_dav_module参数启用该功能。原创 2026-10-02 23:33:02 · 183 阅读 · 0 评论 -
Nginx应用与运维——Nginx Web服务应用实战(伪流媒体服务器的搭建)
Nginx支持伪流媒体播放功能,其可以和客户端的Flash播放器结合,对以.flv、.f4f、.mp4、.m4v、.m4a为扩展名的文件实现流媒体的播放功能。若启用伪流媒体的支持功能,需要按媒体文件格式在配置编译时增加–with-http_f4f_module、–with-http_flv_module和–with-http_mp4_module这3个参数。F4F格式仅在Nginx商业版本中提供。伪流媒体模块配置指令如表所示。原创 2026-10-02 23:13:35 · 99 阅读 · 0 评论 -
Nginx应用与运维——Nginx Web服务应用实战(XSLT转换服务器)
XSLT是用于将XML文档转换成其他格式,如XML、HTML或XHTML的脚本语言。本节的配置样例是将Nginx利用自动索引功能生成XML格式目录列表,通过XSLT模板将XML数据转换成Bootstrap样式的HTML表格页面,页面效果如图所示。XSLT样式模板是在Nginx启动初始化时加载的,所以XSLT样式模板每次变更都需要Nginx重载配置。XSLT样式模板可以引入CSS、JS文件,所以它可将XML文件渲染成具有更多功能的前端动态页面。XSLT模块配置指令如表所示。原创 2026-10-02 22:54:52 · 146 阅读 · 0 评论 -
Nginx应用与运维——Nginx Web服务应用实战(Python网站的搭建)
uWSGI是Python实现WSGI、uWSGI(uWSGI独有的协议)、HTTP等协议功能的Web服务器,Nginx通过ngx_http_uwsgi_module模块实现与uWSGI服务器的数据交换并完成Python网站的请求处理。该模块默认编译在Nginx二进制文件中,无须单独编译。该模块的配置指令如表所示。CentOS 7系统默认安装Python 2.7版本,本节搭建的是基于Python3的Django网站,所以需要升级到Python3版本。uwsgi_cache_path指令值参数如表所示。原创 2026-10-02 20:34:58 · 205 阅读 · 0 评论 -
Nginx应用与运维——Nginx Web服务应用实战(PHP网站搭建)
Nginx的PHP网站搭建是Nginx与PHP-FPM组合实现的,由于Nginx不支持对PHP动态脚本程序的直接调用或解析,所有的动态脚本程序解析都是通过调用FastCGI接口服务器实现的。PHP-FPM是一个被编译到PHP内核中的FastCGI应用,因为它是作为PHP的补丁开发的,所以它在PHP脚本的解析上更加高效。安装PHP-FPM后,如果把PHP代码部署在与Nginx不同的服务器上,需要修改PHP-FPM服务器中的/etc/php-fpm.d/www.conf配置。该模块配置指令如表所示。原创 2026-10-02 19:55:34 · 104 阅读 · 0 评论 -
Nginx应用与运维——Nginx Web服务应用实战(HTTPS安全服务器的搭建)
基于DH的密钥交换过程是在服务端产生服务端随机数后,将DH参数和密钥交换服务端公钥加密后传递给客户端,客户端根据DH参数和密钥交换服务端公钥计算出第3个随机数,并把自己产生的密钥更换为客户端公钥发送给服务端,服务端依据密钥交换客户端公钥计算出第3个随机数并完成后续的操作。在使用椭圆曲线的DH密钥交换时,服务器会为密钥交换指定一条预先定义好参数的曲线,Nginx的ECDH密钥交换默认配置的是prime256v1曲线算法。密钥协商完毕后,服务端和客户端通过协商后的密钥进行通信数据的加解密传输。原创 2026-10-02 17:15:14 · 252 阅读 · 0 评论 -
Nginx应用与运维——Nginx Web服务应用实战(静态文件服务器的搭建)
参数有file(引入一个文件)、virtual(引入一个内部请求响应数据)、stub(引入一个block内容为默认数据)、wait(是否等待virtual参数发起请求处理完毕再处理SSI命令)、set(将virtual参数的响应内容输出到指定的变量)。通过config命令可以设置SSI处理过程中使用的参数errmsg(SSI处理出错时输出的字符串)和timefmt(输出时间的格式,默认为“%A,%d-%b-%Y %H:%M:%S %Z”)。通过if命令可进行条件控制,且if命令支持正则判断。原创 2026-10-02 16:11:48 · 254 阅读 · 0 评论 -
Nginx应用与运维——Nginx HTTP模块详解(数据处理功能模块)
HTTP请求经过一系列的请求流程处理后,最终将读取数据并把数据内容返回给用户。当用户请求没有明确指定请求的文件名称时,Nginx会根据设定返回默认数据,实现这一功能包含ngx_http_index_module、ngx_http_random_index_module、ngx_http_autoindex_module这3个模块。常用的首页处理配置指令如表所示。配置样例如下:指令值为多个文件时,会按照从左到右的顺序依次查找,找到对应文件后将结束查找。3.1.2、随机首页指令——random_ind原创 2026-10-02 14:16:51 · 158 阅读 · 0 评论 -
Nginx应用与运维——Nginx HTTP模块详解(访问控制功能模块)
referer请求头控制模块可以通过设置请求头中的属性字段Referer的值控制访问的拒绝与允许。该模块会对指定变量的请求次数进行计数,当该变量在单位时间内的请求次数超过设定的数值时,后续请求会被延时处理,当被延时处理的请求数超过指定的队列数时,将返回指定的状态码(默认状态码为503)。该模块的功能是将用户的访问请求镜像复制到指定的URI,通过location的URI匹配将流量发送到指定的服务器。启用认证转发后,会将认证需求以子请求的方式转发给指定的服务器,并通过子请求的返回结果判断客户端的认证授权。原创 2026-10-02 00:46:38 · 291 阅读 · 0 评论 -
Nginx应用与运维——Nginx HTTP模块详解(动态赋值功能模块)
用户每次请求时,指定的字符串会被计算出一个数值,该模块会将该数值所在范围对应的给定值赋值给配置中定义的变量。该模块的功能是将客户端的IP地址与MaxMind数据库中的城市地址信息进行比对,然后将对应的城市地址信息赋值给内置变量。该模块的功能是在客户端每次请求时,Nginx按照map指令域中源变量的当前值把设定的对应值赋值给新变量。该模块的功能是根据客户端HTTP请求头中的属性字段User-Agent的值,按照用户的指令配置设置变量。的值对客户端浏览器进行区分,并对HTTP请求进行不同的处理。原创 2026-10-01 21:24:40 · 276 阅读 · 0 评论 -
Nginx应用与运维——Nginx核心配置指令(二)
Nginx最核心的功能就是处理HTTP请求,HTTP核心配置指令用于进行Nginx处理HTTP请求时的相关处理方法的配置。HTTP请求处理的简单闭环流程模型是当客户端发起HTTP请求后,服务端会解析HTTP请求头,并根据HTTP请求头中访问的URI与本地路径文件进行匹配,进行读数据或写数据的操作,然后返回处理结果并断开HTTP连接。请求报文是客户端向服务端发起请求时告知服务端请求的方式、相关属性和请求内容的数据包,由请求行、请求头、请求体组成,这里以百度首页的请求为例,HTTP请求头结构如图所示。原创 2026-10-01 19:42:22 · 171 阅读 · 0 评论 -
Nginx应用与运维——Nginx核心配置指令(一)
Nginx的配置指令按照内部设定可以同时编写在不同指令域中,包含在最内层的指令将对外层同名指令进行指令值覆盖,并以最内层指令配置为最终生效配置。如果哈希桶的大小等于CPU的缓存行的大小,在Nginx进行哈希关键码搜索期间,内存的访问次数最多是两次,一次是计算哈希桶的地址,另一次是在哈希桶内进行哈希关键码的搜索。由于具体硬件、操作系统及应用场景的不同,需要Nginx在对HTTP请求的处理方法上进行不同的调整,为了应对这些差异,Nginx提供了多种配置指令,让用户可以根据实际的软硬件及使用场景进行灵活配置。原创 2026-09-30 20:04:35 · 155 阅读 · 0 评论 -
Nginx应用与运维——Nginx编译及部署(部署)
Docker是一款基于Go语言开发的开源应用容器引擎,Docker可以让用户将需要运行的应用服务和依赖环境打包在一个小体积的应用容器中,被打包的容器可以移植到任意可运行Docker环境的操作系统中,极大地缩短了应用服务编译和部署所需的时间。Docker的虚拟化机制也使得在不同操作系统环境下编译的应用服务都可运行在同一Docker宿主机中。Docker中有两个基本概念:镜像(Image)和容器(Container)。原创 2026-09-30 15:57:05 · 240 阅读 · 0 评论 -
Nginx应用与运维——Nginx编译及部署(编译)
如表所示,具有带“–with”前缀的编译配置参数的模块都不会被默认编译,若要使用该功能模块,需要使用提供的编译配置参数进行编译配置。Nginx是一款优秀的开源软件,是运行在操作系统上的应用程序,因此Nginx的性能依赖于操作系统及其对底层硬件的管理机制,为了使Nginx在运行时发挥最大的性能,需要对操作系统的服务配置和参数做一些调整。OpenResty是Nginx的扩展版,其在编译配置参数上也进行了清晰的区分,分为Nginx原有编译配置参数和扩展编译配置参数两部分,扩展编译配置参数如表所示。原创 2026-09-30 12:54:02 · 213 阅读 · 0 评论 -
Nginx应用与运维——Nginx概述
1、Nginx的不同版本1.1、开源版Nginx1.2、商业版Nginx Plus1.3、分支版本Tengine1.4、扩展版本OpenResty2、Nginx源码架构浅析2.1、多进程模型2.1.1、信号2.1.2、频道2.1.3、共享内存2.1.4、进程调度2.1.5、事件驱动2.2、工作流机制2.2.1、HTTP请求处理阶段2.2.2、TCP/UDP处理阶段2.3、模块化2.3.1、模块分类2.3.2、动态模块。原创 2026-09-30 00:15:25 · 219 阅读 · 0 评论 -
Nginx——限流配置
限流(Rate Limitting)是服务降级的一种方式,通过限制系统的输入和输出流量以达到保护系统的目的。比如我们的网站暴露在公网环境中,除了用户的正常访问,网络爬虫、恶意攻击或者大促等突发流量都可能都会对系统造成压力,如果这种压力超出了服务器的处理能力,会造成响应过慢甚至系统崩溃的问题。因此,当并发请求数过大时,我们通过限制一部分请求(比如限制同一IP的频繁请求)来保证服务器可以正确响应另一部分的请求。nginx 提供了两种限流方式,一种是限制请求速率,一种是限制连接数量。原创 2023-08-04 01:00:20 · 5684 阅读 · 0 评论 -
Nginx——防盗链的配置
防盗链盗链是指有一些不良网站,为了在不增加成本的前提下扩充自己站点的内容,直接盗用其他网站的资源链接,而大部分用户又不会发现。这样的做法一方面损害了原网站的合法利益,另一方面又加重了原网站服务器的流量负担图片防盗链图片是一个网站中最容易被盗取的资源,如何使用Nginx来保护图片不被盗链呢?在讲解之前,首先要了解HTTP请求消息中的一个名称为referer的字段,它用于保存当前网页的来源URL地址。当用户打开一个含有图片内容的网页时,浏览器会在图片的请求消息中将网页的URL放在referer中,从而使图原创 2020-06-13 01:15:48 · 618 阅读 · 0 评论 -
Nginx——重写与重定向
重写与重定向在实际网站运营的过程中,为了能够在修改网站结构或域名后,避免造成网站中的链接或在其他网站中的外链失效,以及提高该网站在搜索引擎的收录量和排名等目的。通常会采用URL重写与重定向,在增强网站专业化的同时,为用户提供更加舒适的使用体验。rewrite模块概述重写与重定向功能是现在大多数Web服务器都支持的一项功能,相对于其他产品而言,Nginx中的rewrite模块提供的功能在配置上更加的灵活自由,可定制性非常的高。它的实现方式也非常的简单,只需要通过rewrite指令根据Nginx提供的全局原创 2020-06-13 00:41:01 · 2216 阅读 · 0 评论 -
Nginx——网页压缩传输
gzip压缩技术gzip(GNU-ZIP)是一种压缩技术,经过gzip压缩后,页面大小可以变为原来的30%甚至更小。这样,用户浏览页面的时候速度会快得多。gzip 网页压缩的实现需要浏览器和服务器的支持,如图:从图可以看出,gzip压缩的过程,首先在服务器端压缩,然后传到浏览器端后解压。当浏览器支持gzip解压时,会在请求消息头中包含Accept-Encoding:gzip,这样Nginx就会向浏览器发送经过gzip后的内容,同时在响应消息头中加人Content-Encoding:gzip,声明这是g原创 2020-06-13 00:07:58 · 1212 阅读 · 1 评论 -
Nginx——缓存配置
缓存配置对于一个含有大量内容的网站来说,随着访问量的增多,对于经常被用户访问的内容,若每一次都要到后端服务器中获取,会给服务器造成很大的压力。为此,利用反向代理服务器对访问频率较多的内容进行缓存,有利于节省后端服务器的资源。Nginx 提供了两种Web缓存方式,一种是永久性缓存,另一种是临时性缓存。缓存实现原理Web缓存服务器位于内容源Web服务器和客户端之间,当客户端用户访问一个URL时,Web缓存服务器就会请求相应的内容源Web服务器,并将响应的信息缓存至内存或磁盘;然后,当下一个请求到来时,如果原创 2020-06-12 22:14:11 · 1297 阅读 · 0 评论 -
Nginx——虚拟主机、设置目录列表、子配置文件引入
虚拟主机虚拟主机技术是指在一台物理主机服务器上划分出多个磁盘空间,每个磁盘空间都是一台虚拟主机,每台虛拟主机都可以独立对外提供Web服务,且互不干扰。在外界看来,虚拟主机就是一台独立的服务器主机,这就意味着用户能够利用虚拟主机把多个不同域名的网站部署在同一台服务器上,而不必再为建立一个网站单独购买一台服务器,既解决了维护服务器技术的难题,同时又极大地节省了服务器硬件成本和相关的维护费用。例如,在一台物理主机服务器(10.20. 30. 40)上划分出多台虚拟主机,同时在每台虚拟主机上部署并运行一个网站,原创 2020-06-12 17:56:32 · 1831 阅读 · 1 评论 -
Nginx——访问日志、错误日志、日志文件切割
访问日志访问日志主要用于记录客户端访问 nginx的每一个请求,格式可通过 log format指令进行自定义,存储路径、缓存大小等可使用 access log指令设置。通过访问日志的配置,可以记录用户IP、访问时间、请求方式、响应状态、地域来源、跳转来源、使用终端等信息。1. 查看默认访问配置:打开Nginx的配置问价nginx.conf,找到log_fromat与access_log指令的默认配置,具体如下:上述第1~3行用于设置访问日志的格式,main表示访问日志格式名称,用户可以自定义。其原创 2020-06-12 13:48:05 · 4353 阅读 · 0 评论 -
Nginx——访问控制
访问控制访问控制是网络安全防范和保护的主要策略,其任务是保证网络资源不被非法访问。Nginx作为Web服务器的后起之秀,也提供了访问控制的功能。它可以根据实际需求,对用户可以访问和禁止的目录进行限制。下面将对Nginx提供的权限控制指令以及典型的应用进行详细讲解。权限控制指令Nginx中提供了两个用于配置访问权限控制的指令,分别为allow和deny。从其名称就可以看出,allow用于设置允许访问的权限deny用于设置禁止访问的权限。在使用时,权限指令后只需跟上允许或禁止的IP、IP段或all即可。其原创 2020-06-12 00:40:29 · 7653 阅读 · 0 评论
分享