Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术。动静分离技术其实是采用代理的方式,在server{}段中加入带正则匹配的location来指定匹配项 针对PHP的动静分离:静态页面交给Nginx处理,动态页面交给PHP-FPM模块或Apache处理。 在Nginx的配置中,是通过location配置段配合正则匹配实现静态与动态页面的不同处理方式一、Ngi
转载
2024-05-21 06:52:29
20阅读
1.使用域名访问本地项目我们将使用以下域名: 主域名:www.leyou.com 管理系统域名:manage.leyou.com 网关域名:api.leyou.com最终,这些域名指向的还是我们本机的某个端口。1.1域名解析一个域名一定会被解析为一个或多个ip。一般包含两步:本地域名解析 浏览器会首先在本机的hosts文件中查找域名映射的ip地址,如果查找到就返回ip,没找到则进行域名服务器解析。
转载
2024-04-25 13:52:58
117阅读
官方参考文档:http://nginx.org/en/docs/configure.html--prefix=path nginx 程序目录。默认值:/usr/local/nginx。--conf-path=path nginx 配置文件的名称。默认值:<prefix>/conf/nginx.conf。但是,在启动时通过 -c filename 指定的配置文件优先级最高。--sbin-
转载
2024-03-28 07:36:16
95阅读
URL中的hash(井号) 1.#的含义#代表网页中的一个位置,其右边的字符,就是该位置的标识符。比如http://www.example.com/index.html#print 就是代表index.html中的print位置。浏览器会自动把print位置滚动到页面可视区域内。设置方法:step1:设置一个锚点定位到print位置step2:在页面需要定位的内容加上id=“print”。例如:
转载
2024-08-01 12:43:15
127阅读
在前面的文章中,其实很多代码就涉及到加锁释放锁的动作了,但是自己一直避免去深究他们,好了这篇文章就讲Nginx是如何实现锁的吧,然后还要讲Nginx是如何使用锁来避免惊群的发生。在Nginx的锁的实现中,要分为两种情况,分别为支持原子操作以与不支持原子操作。其定义在Ngx_shmtx.h当中://锁的定义
typedef struct {
#if (NGX_HAVE_ATOMIC_OPS)
转载
2024-04-12 07:26:06
82阅读
$args #请求中的参数值
$query_string #同 $args
$arg_NAME #GET请求中NAME的值
$is_args #如果请求中有参数,值为"?",否则为空字符串
$uri #请求中的当前URI(不带请求参数,参
转载
2024-03-27 11:21:39
188阅读
前言 弄懂nginx,首先要弄懂它的配置文件,毕竟nginx基本是配置。清楚配置文件 每个模块的作用。目录一、Nginx配置文件的整体结构
1.1、全局块1.2、events块1.3、http块1.4、server块1.5、location块1.6、配置清单例析二、配置文件详解
2.1 配置文件12.2 配置文件22.3 配置文件32.4 配置文件42.5 配置文件5三、按块详解
3.1、全局块
转载
2024-03-19 14:00:15
94阅读
背景前段时间出现了一个请求在测试环境签名成功,在线上环境签名失败的情况,排查原因是线上url中有双斜杠会被合并成一个传给后端,在测试环境中不会出现。这个就比较神奇了,Nginx 版本完全一样。确认问题方式是抓包确认:在线上Nginx和测试Nginx抓包,对比 以下例子中
218.218.218.218是线上服务器Nginx的ip
121.121.121.121是自己电脑出口ip
10.0.0.
转载
2024-08-22 22:56:21
827阅读
官网下载nginx源码包nginx 工作原理 nginx 由core内核和各个模块组成,core内核查找配置文件,将用户请求匹配location block 模块,调用location block(匹配url) 块中的模块(比如/root /proxy_pass ) 比如获取到proxy_pass模块后把请求转给后端做代理,后端把数据返给代理后转发给用户nginx的安装方式:源码安装部署 官网下载
转载
2024-03-28 13:41:28
243阅读
最近开始关注Nginx源码,粗浅地记录下我的一些学习心得。 Nginx是一款高性能的Web服务器,它既可以作为HTTP服务器,也可以作为反向代理服务器或者邮件服务器,其源码采用C语言编写。多进程模型 Nginx能够轻松支持万级别的并发,那么其背后的架构是怎样的呢?Nginx启动后,在Unix系统中会以Daemon
转载
2024-03-28 17:26:32
88阅读
FastCGI原理 FastCGI是一个运用于Http Server和动态脚本语言间通信的接口,多数流行的Http Server都支持FastCGI,包括Apache、Nginx和lighttpd等。同时,FastCGI也被许多脚本语言支持,其中就有PHP。FastCGI接口方式采用C/S结构,可以将HttP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进
版本:1.0.14 参考书籍:《深入理解Nginx模块开发与架构解析第2版》第一个问题:什么是nginx? nginx是一个支持高并发的web服务器,利用了等待时间,实现少数几个进程就解决大量的并发问题。 引出第二个问题:何为等待时间呢? 普通的服务器时通过一个连接开辟线程/进程处理请求,线程数就是并发数,那么大部分的web请求之后的等待时间都是因为消息的处理和传递,而nginx只开少量进程
分析nginx是如何解析并且存储http请求的。对非法甚至恶意请求的识别能力和处理方式。可以发现
原创
2023-08-11 15:36:08
294阅读
最近项目中需要实现上传视频过程中自动转码MP4格式的功能,想到了用FFmpeg来实现它,但从来没有操作过,查阅了很多资料,遇到了好多问题,现在终于安装成功,觉得应该写下来与人分享一下,以免有人遇到和我一样的困境。首先我是CentOs 6.7版本 环境是LNMP 我需要用PHP实现在上传过程中实施转码功能。 下面详细介绍一下安装ffmpeg扩展的操作要求:具有完全root访问权限。&nbs
转载
2024-05-21 06:23:26
310阅读
收集Nginx访问日志将Nginx访问日志格式改为JSONlog_format json '{ "@timestamp": "$time_iso
原创
2022-08-17 09:23:25
138阅读
URI encode的过程就是把部分的url做为字符,按照某种编码方式(如:utf-8,gbk等,各浏览器不同)编码成二进制的字节码,然后每个字节用一个 包含3个字符的字符串 “%xy” 表示,其中xy为该字节的两位十六进制表示形式。另外也会将空格替换成”+”。各浏览器的编码不同”且用户可以自己设置默认编码,这导致了很多不同可能。这也就是为什么IE可以firefox乱码,这个机器可以另一台机器乱码
转载
2024-04-29 17:19:23
38阅读
1.介绍网页的 URL 只能包含合法的字符。合法字符分成两类。URL 元字符:分号(;),逗号(,),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加号(+),美元符号($),井号(#)语义字符:a-z,A-Z,0-9,连词号(-),下划线(_),点(.),感叹号(!),波浪线(~),星号(*),单引号('),圆括号(())除了以上字符,其他字符出现在 URL 之中都必须
转载
2023-12-21 11:11:06
86阅读
视频解码分为软解和硬解两种,简单的来说纯粹依靠CPU来解码的称为软解,而使用GPU/VPU解码的称为硬解。常规地直接用CPU解码会极大地消耗CPU的运算能力,硬件解码是通过显卡的视频加速功能对高清视频进行解码,能够将CPU从繁重的视频解码运算中释放出来。 RIoTBoard使用的芯片是i.mx6 solo,芯片中包含一个VPU (video processing unit),可以进行硬件编解码加速
转载
2023-12-07 09:38:42
363阅读
流媒体视频直播包括以下几个步骤:采集—>处理—>编码和封装—>推流到服务器—>服务器流分发—>播放器流播放。在流媒体处理编码的过程中,会有硬解码和软解码两种播放方式。两者的区别在于,硬解码是利用硬件设备上专门的解码芯片来加速解码。一般来说,硬解码的解码速度比较快,但同时也存在另一个问题,那就是兼容。由于硬解码由各个硬件厂家实现,质量参差不齐,所以很容易出现兼容性问题。
转载
2024-01-09 17:34:07
214阅读
SDK中主功能类图设计 AospClient是供客户端直接调用的接口类。通过该类的方法可以实现对AOSP的服务访问。 AospResponse和AospRequest分别是请求的实体类和应答的实体类。 HttpPostUtils是构建请求的类,其中的静态方法实现了对请求参数的封装加密封以及请求的发送。该类是最主要的类。(该类中处理的东西有点多,几乎所有的逻辑都在这儿实现) 他们的关系如图所示
转载
2024-06-03 13:17:20
39阅读