• nginx


    Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP(邮件收发协议)代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。

    三个主要应用场景

    1、静态资源服务(通过本地文件系统提供服务)2、缓存、负载均衡服务器3、API服务(OpenResty)

    单核cpu:一次只运行一个进程,设置运行的时间1ms,对于所有进程来说都希望可以争抢到cpu的执行权

    死循环:密集型io;cpu无法释放

    内核空间和用户空间

    master进程主要来管理worker进程,具体包括以下的功能:

    1.接收来自外界的信号

    2.处理配置文件读取

    3.创建绑定和关闭套接字

    4.启动终止和维护配置的工作进程数

    5.当worker进程退出后,会自动重启新的worker进程

    server_name与Host的匹配优先级如下:

     1)首先选择所有字符串完全匹配的server_name,如nginx.2367.com。

    2)其次选择通配符在前面的server_name,如*.2367.com。

    3)再次选择通配符在后面的server_name,如nginx.2367.*。

    4)最后选择使用正则表达式才匹配的server_name,如~^.testweb.com$如果都不匹配1、优先选择listen配置项后有default或default_server的2、找到匹配listen端口的第一个server块

    配置块:location

    location语法:location[=|~|~*|^~|@]/uri/{...}配置块:serverlocation会尝试根据用户请求中的URI来匹配上面的/uri表达式,如果可以匹配,就选择location{}块中的配置来处理用户请求。当然,匹配方式是多样的,下面介绍location的匹配规则。

    ~表示执行一个正则匹配,区分大小写;

    ~*表示执行一个正则匹配,不区分大小写;

    ^~表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其他location;

    =进行普通字符精确匹配。也就是完全匹配;

    @它定义一个命名的location,使用在内部定向时,例如error_page,try_files

    等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项前缀普通匹配(^~)优先级次之。不支持正则表达式。使用前缀匹配,如果有多个location匹配的话,则使用表达式最长的那个正则表达式类型(~~*)的优先级次之。一旦匹配成功,则不再查找其他匹配项常规字符串匹配,如果有多个location匹配的话,则使用表达式最长的那个

    nginx常用命令

    1、查看Nginx的版本号:nginx-V

    2、停止nginx-sstop

    3、退出nginx-squit

    4、重启加载配置nginx-sreload

    5、配置文件启动nginx-c</path/to/config>为Nginx指定一个配置文件,来代替缺省的

    6、nginx-t不运行,而仅仅测试配置文件。nginx将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。

    nginx停止命令,等所有请求结束后关闭服务

    Kill -QUIT nginx主进程号

    重新载入配置

    kill -HUP nginx主进程号

  • 相关阅读:
    C#中回滚TransactionScope的使用方法和原理
    CAS5.3服务器搭建与客户端整合SpringBoot以及踩坑笔记
    JSON对象、JSON字符串和Java对象互相转
    Java实体类如何映射到json数据(驼峰映射到json中的下划线)
    expected at least 1 bean which qualifies as autowire candidate
    IDEA target中没有class文件/target中有class没有yml文件/yml文件不显示叶子
    yml配置从nacos配置中心取数据(单个或多个),读读源码,寻找如何配置多个
    seata-server 1.3.0整合nacos,使用nacos做注册和配置中心
    简单读读源码
    mybatis-plus.global-config.db-config.id-type=auto 和 @TableId(value = "id", type = IdType.ASSIGN_ID)哪个优先生效
  • 原文地址:https://www.cnblogs.com/gaosf/p/14534001.html
Copyright © 2020-2023  润新知