nginx

Nginx

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

nginx 软件的特点 

高性能:

一、epoll 多路复用

nginx

二丶master worker 进程模型

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

nginx

三丶协程机制

  • 进程的出现是为了更好的利用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;
    }

相关推荐