存档

‘nginx’ 分类的存档

nginx proxy_pass 指令结尾加不加/的区别

2020年3月10日 没有评论

If it is necessary to transmit URI in the unprocessed form then directive proxy_pass should be used without URI part. 这段话的意思是如果你要保持输入的请求原样不变传给后端,那么你的proxy_pass指令就不能带有URI部分。 读起来比较晦涩,尤其是英文长句,举个实际例子: #结尾不加/ location /abc/ { proxy_pass http://10.1.12.123:8080; } #结尾添加/ location /abc/ { proxy_pass http://10.1.12.123:8080/; } 咋一看,这两个配置没什么区别。实际上最主要的区别就是proxy_pass指...

分类: nginx 标签:

php-fpm安装tidy扩展

2020年3月8日 没有评论

W3tc是一个wordpress速度优化插件,插件的运行需要很多php扩展,其中对html的优化需要用到tidy。 安装tidy库 yum install libtidy libtidy-devel -y 源码编译安装,进入php-fpm的源码路径 cd php-7.3.11/ext/tidy/ 编译和安装tidy扩展库 /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install 编辑php.ini [root@VM_0_16_centos tidy]# vi /usr/local/php/etc/php.ini 去掉tidy.so前的分号 ;extension=soap ;extension=sockets ;e...

分类: nginx 标签: ,

一文彻底读懂nginx中的location指令

2020年3月6日 4 条评论

location指令是nginx中最关键的指令之一,location指令的功能是用来匹配不同的url请求,进而对请求做不同的处理和响应,这其中较难理解的是多个location的匹配顺序,本文会作为重点来解释和说明。 开始之前先明确一些约定,我们输入的网址叫做请求URI,nginx用请求URI与location中配置的URI做匹配。 location格式 location有两种格式: 匹配uri类型,有四种参数可选,当然也可以不带参数。 命名location,用@来标识,类似于定义goto语句块。 location [ = | ~ | ~* | ^~ ] uri { ... }locat...

分类: nginx 标签:

nginx版本号详解

2020年3月5日 没有评论

nginx 1.17 已发布,这是 nginx 目前最新的版本,同时也是 mainline 主线版。 我们都知道,nginx 都会同时维护着两个分支,分别为 mainline 主线版和 stable 稳定版。 mainline 是更新活跃的开发分支,其添加了最新功能和错误修复。其版本号的第二位用奇数表示,例如 1.17.0。stable 接收针对高严重性错误的修复,但不会使用最新的功能。其版本号的第二位用偶数表示,例如 1.16.0。 不过在 nginx 中,“稳定”指的是功能和更新频率,它与软件质量无关。稳定分支在其生命周期中从不接收新功能,并且通常仅...

分类: nginx 标签:

Nginx中的if指令详解

2020年3月4日 没有评论

if指令用来判断条件表达式的结果,为true时执行的指令,条件为false时不执行相应的指令,if指令只能用在server、location内。 01 if指令的格式如下: if (condition) { ... } condition可以是如下类型: 变量名,如果变量的值是空字符串或者0表示false 变量使用“=”和“!=”来跟字符串比较 可以是正则表达式 检查文件是否存在使用“-f” 和 “!-f” 检查目录是否存在使用 “-d” 和 “!-d” 检查文件、目录、符号链接是否存在使用 “-e” 和 “!-e” 检查是否是可执行文件使用“-x” 和 “!-x” if...

分类: nginx 标签:

nginx禁止未绑定https域名访问

2020年2月19日 没有评论

http的情况系下,我们使用如下办法禁止未授权的域名指向我们的服务器。 server {     listen       80  default_server;     server_name  _;     return       444; } 如何把端口简单改成443,会宝如下错误 [root@VM_0_16_centos conf]# nginx -t nginx: [emerg] no "ssl_certificate" is defined for the "listen … ssl" directive in /usr/local/nginx/conf/nginx.con...

分类: nginx 标签:

nginx proxy_pass 配置详解

2019年7月10日 没有评论

语法:proxy_pass URL;默认值:—上下文:location, if in location, limit_except 设置被代理的服务器的协议和地址,还可以设置可选的URI。 协议是“http”或者“https”。 地址既可以使用域名或者IP地址加端口(可选)的形式来定义: proxy_pass http://localhost:8000/uri/; 或使用UNIX域套接字路径来定义。该路径接在“unix”字符串后面,两端由冒号所包围,比如: proxy_pass http://unix:/tmp/backend.socket:/uri/; 如果解析一个域名得到多个地址,所有的地址都会以轮转的方式被使用。当然,也可...

分类: nginx 标签:

nginx upstream 配置和作用

2019年7月10日 1 条评论

配置例子 upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3; server backup1.example.com:8080 backup; server backup2.example.com:8080 backup; } server { location / { proxy_pass http://backend; } } 指令 语法:upstream name { ... }默认值:—上下文:http 定义一组服务器。 这些服务器可以监听不同的端口。 而且,监听在TCP和UNIX域套接字的服务器可以混用。 例子: ups...

分类: nginx 标签:

nginx rtmp流媒体直播服务器配置

2019年7月9日 没有评论

nginx是一个轻量级的web服务器,通过RTMP模块可以提供流媒体服务。RTMP没有预编译好的包,需要从源码编译。 安装nginx和RTMP模块 本文在ubuntu环境实现。安装前的编译工具准备: $ sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev 下载nginx源码包: $ wget http://nginx.org/download/nginx-1.15.1.tar.gz 从git上下载RTMP模块源码: $ wget https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/archive/dev.zip 解压两个压缩包,进入nginx文件夹: $ tar -zxvf...

分类: nginx 标签:

理解Nginx的server匹配规则

2019年6月27日 没有评论

Nginx的块配置 Nginx在逻辑上将提供不同内容的配置划分为块,这些块以层次结构的形式存在(http->server->location)。客户端发出请求时,Nginx收到之后,会有一个确定应该使用哪些配置块来处理请求的过程。本文主要介绍 server 块背后的处理过程。 server块是Nginx配置的子集,它定义用于处理已定义类型请求的虚拟服务器(虚拟机)。管理员通常会配置多个server块,并根据请求的域名,端口和IP地址决定哪个块应该处理哪个连接。 Nginx如何决定哪个server块来处理请求 由于Nginx允许管理员定义多个server块作为单独的虚拟We...

分类: nginx 标签: