Nginx是俄罗斯人Igor Sysoev基于C语言编写的十分轻量级的HTTP服务器 , 它主要有以下特点:
- 它是一个高性能的HTTP和反向代理服务器 , 同时也是一个IMAP/POP3/SMTP 代理服务器;
- Nginx使用异步事件驱动的方法来处理请求 , Nginx的模块化事件驱动架构可以在高负载下提供更可预测的性能;
- 作为Web服务器,Nginx处理静态文件、索引文件 , 自动索引的效率非常高
- 作为反向代理服务器 , Nginx可以实现反向代理加速,提高网站运行速度
- 作为负载均衡服务器,Nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡
- Nginx是专门为性能优化而开发的,非常注重效率,Nginx在官方测试的结果中,能够支持五万个并行连接 , 而在实际的运作中,可以支持二万至四万个并行链接
- 在高可用性方面,Nginx支持热部署,启动速度特别迅速,因此可以在不间断服务的情况下,对软件版本或者配置进行升级
Nginx的配置文件默认存放路径是etc/nginx/nginx.conf,可以在Nginx启动时添加参数–conf-path=PATH来更改nginx.conf文件的存放路径 。nginx.conf中的配置信息主要包含以下五个部分:
- main(全局设置):主要是包括Nginx工作进程,日志的配置以及server,location中一些共用的配置
- events(连接设置):主要包括Nginx连接信息的配置
- server(主机设置):主要是包括主机名称,Ip,路径解析,http请求头设置,反向代理等配置
- upstream(上游服务器设置):主要为反向代理服务器信息、负载均衡等相关配置
- location(URL匹配):特定URL的匹配设置
nginx中location部分url如何匹配?
location主要是匹配url中除去server_name(主机名)后的部分,其中关于url的匹配规则有以下几种:
- 精确匹配:以“=”开头表示精确匹配
- 开头匹配:^~ 表示uri以某个常规字符串开头,不是正则匹配
- 区分大小写的正则匹配:~开头表示区分大小写的正则匹配
- 不区分大小写的正则匹配:~* 开头表示不区分大小写的正则匹配
- 【你需要知道的Nginx配置二三事】通用匹配:匹配url的前面部分
- 不同类型之间匹配和location的顺序无关,只和优先级有关,各种匹配规则的优先级关系是: [精确匹配] > [开头匹配] > [正则匹配] > [通用匹配];
- 除了通用匹配,开头匹配以外,相同类型的匹配优先级只和顺序有关,排在前面的优先匹配;
- 通用匹配和开头匹配的优先级与通用匹配的最长字符串有关,通用字符串越长,匹配优先级越高;
Nginx也可以使用变量 , 变量分为系统变量和自定义变量
变量特点
- Nginx变量的创建只能发生在Nginx配置加载的时候 , 或者说Nginx启动的时候;
- Nginx变量的赋值操作则只会发生在请求实际处理的时候;
- 每个请求都有所有变量的独立副本,或者说都有各变量用来存放值的容器的独立副本,它们之间的值彼此互不干扰;
自定义变量通过set命令初始化和赋值,变量名前需要加$符号作为区分
- nginx -t 检查配置是否可用
- nginx -s reload 重启nginx
猜你喜欢
- DNF手游公测了,首日双榜登顶,速度快的玩家已经刷出史诗了
- 什么是电子刊?什么是报纸刊?有什么区别?
- 十大男款鸭舌帽排行榜,啄木鸟上榜,第一价格廉价时兴大气
- 1 玩转Fiddler抓包教程-HTTP和HTTPS基础知识
- 线上遇到nginx Cors跨域请求OPTIONS方法405 Method Not Allowed问题
- Flask | 设置 HTTP 请求 方法
- 眉粉十大品牌排行榜:SUQQU上榜,第8国产彩妆领先品牌
- 五大设置可提高拼音输入法的使用效率
- Win+X快捷键和软件热键有冲突?原来解决方法这么简单!