nginx

Posted l999999999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx相关的知识,希望对你有一定的参考价值。

Nginx

nginx 是一个强大的 Web 服务器软件,用于处理高并发的 HTTP 请求和作为反向代理服务器做负载均衡。具有高性能、轻量级、内存消耗少,强大的负载均衡能力等优势。

 

nginx 软件的特点 

 

高性能:

 

一、epoll 多路复用

技术图片

 

 

 

二丶master worker 进程模型

一个 master,多个 worker,master 管理 worker,worker 处理请求,且 worker 进程为单线程

技术图片

 

三丶协程机制

  • 进程的出现是为了更好的利用CPU资源使到并发成为可能
  • 线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干一样事的缺陷,使到进程内并发成为可能
  • 协程通过在线程中实现调度,避免了陷入内核级别的上下文切换造成的性能损失,进而突破了线程在IO上的性能瓶颈

支持高并发:能支持几万并发连接(特别是静态小文件业务环境)
资源消耗少:在 3 万并发连接下,开启 10 个 Nginx 线程消耗的内存不到 200MB、进程占用系统资源比较低

 

nginx源码安装

  安装nginx依赖

 

yum -y install gcc gcc-c++ pcre-devel zlib-devel

 

 

  上传源码包并编译安装

  

上传nginx源码包到/usr/local/src

tar -zxf nginx-1.16.1.tar.gz -C /usr/local/

cd /usr/local/nginx-1.16.1

./configure && make && make install

  

 

 

 

 

 

nginx匹配模式

location = /uri    =开头表示精确匹配,只有完全匹配上才能生效。
location ^~ /uri   ^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~ pattern  ~开头表示区分大小写的正则匹配。
location ~* pattern  ~*开头表示不区分大小写的正则匹配。
location /uri     不带任何修饰符,也表示前缀匹配,但是在正则匹配之后。
location /      通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default。

 

  

location ^~ /admin {
            deny all;
    }
     
    location = /50x.html {
        #root   html;
            return 600;
    }
    location  ~ /helloword {
            return 601;
    }
    location ~* /Helloword {
            return 602;
    }

以上是关于nginx的主要内容,如果未能解决你的问题,请参考以下文章

将 nginx rtmp 片段发送到 WebRTC

text 有用的nginx命令和片段

linux学习:Nginx--常见功能配置片段与优化-06

HLS NGINX-RTMP [错误] 1281#0:* 58 hls:强制片段拆分:10.002 秒

Nginx 跨域

Nginx配置文件详细介绍