nginx

178 阅读3分钟

nginx命令

1、使用nginx操作命令前提条件:必须进入nginx的目录

  • user/local/nginx/sbin

2、查看nginx的版本号

  • ./nginx -v

3、启动nginx

  • ./nginx

4、关闭nginx

  • ./nginx -s stop

5、重新加载nginx

  • ./nginx -s reload

nginx配置文件

1、nginx配置文件位置

  • user/local/nginx/conf/nginx.conf

2、nginx配置文件组成 nginx配置文件分三部分 1、全局块

  • 从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令,主要包含配置运行Nginx服务器的用户、允许生成的worke rprocess数,进程PID存放路径、日志存放路径和类型以及配置文件的引入等

2、events块

  • events块涉及的指令主要影响Nginx服务器与用户的网络连接,常用的设置包括是否开启对多work process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个word process可以同时支持的最大连接数等

3、http块

  • Nginx服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里 ⚠️:http块也可以包括http全局块、server块
    (1) http全局块

    • http全局块配置的指令包括文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求上限等

    (2)server块

    • 这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本
    • 每个http块可以包括多个server块,而每个server块相当于一个虚拟主机
    • 而每个server块也分为全局server块,以及可以同时包含多个location块

    1、全局server块

    • 最常见的配置是本虚拟主机的监听配置和本虚拟主机的名称或IP配置

    2、location块

    • 一个server块可以配置多个location块
    • 这块的主要作用是居于Nginx服务器接收到的请求字符串(例如server_name/uri-string),对虚拟主机名称(也可以是IP别名)之外的字符串(例如前面的/uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行

1、=:用于不含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求 2、~:用于表示uri包含正则表达式,并且区分大小写
3、~*:用于表示uri包含正则表达式,并且不区分大小写
4、^~:用于不含正则表达式的uri前,要求Nginx服务器找到标识uri和请求字符串匹配度最高的location后,立即使用此loaction处理请求,而不再使用location块中的正则uri和请求字符串做匹配