Nginx的这些妙用,你肯定有不知道的!
yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel ③解压、配置(Nginx 支持各种配置选项 )、编译、安装 Nginx: tar -zxvf nginx-1.15.tar.gz cd nginx-1.16.1 cd nginx-1.16.1 ./configure make && sudo make install ④启动、重启、关闭: cd /usr/local/nginx/ cd sbin ./nginx #关闭命令 ./nginx -s stop #重启,热部署 ./nginx -s reload #修改配置文件后也别嘚瑟,反正我会动不动就写错,检查修改的nginx.conf配置是否正确 ./nginx -t ⑤验证(浏览器输入 IP): 配置文件 nginx.conf 配置文件主要分为三部分: 全局块 Events 块 HTTPS 块 Nginx 配置语法: 配置文件由指令和指令块构成 每条指令以分号(;)结尾,指令和参数间以空格符分隔 指令块以大括号{}将多条指令组织在一起 include 语句允许组合多个配置文件以提高可维护性 使用 # 添加注释 使用 $ 定义变量 部分指令的参数支持正则表达式 全局块 全局配置部分用来配置对整个 Server 都有效的参数。主要会设置一些影响 Nginx 服务器整体运行的配置指令,包括配置运行 Nginx 服务器的用户(组)、允许生成的 Worker Process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。 示例如下: user nobody; worker_processes 4; error_log /data/nginx/logs/error.log notice; Events 块 Events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 Work Process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 Word Process 可以同时支持的最大连接数等。 events { #每个 work process 支持的最大连接数为 1024. worker_connections 1024; } HTTP 块 这算是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。 需要注意的是:HTTP 块也可以包括 HTTP 全局块、Server 块。 ①HTTP 全局块 HTTP 全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。 http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; ②Server 块 这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。 每个 HTTP 块可以包括多个 Server 块,而每个 Server 块就相当于一个虚拟主机。 而每个 Server 块也分为全局 Server 块,以及可以同时包含多个 Locaton 块。 全局 Server 块:也被叫做“虚拟服务器”部分,它描述的是一组根据不同server_name指令逻辑分割的资源,这些虚拟服务器响应 HTTP 请求,因此都包含在 HTTP 部分。 最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或 IP 配置。 server { listen 80; #server_name也支持通配符,*.example.com、*、.example.com server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; Location 块:一个 Server 块可以配置多个 Location 块。 这块的主要作用是基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称 (也可以是 IP 别名)之外的字符串(例如前面的 /uri-string)进行匹配,对特定的请求进行处理。 地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。 Location 指令说明:该指令用于匹配 URL。 语法如下: location [ = | ~ | ~* | ^~] uri{} = :该修饰符使用精确匹配并且终止搜索。 ~:该修饰符使用区分大小写的正则表达式匹配。 ~*:该修饰符使用不区分大小写的正则表达式匹配。 ^~:用于不含正则表达式的 URI 前,要求 Nginx 服务器找到标识 URI 和请求字符串匹配度最高的 Location 后,立即使用此 Location 处理请求,而不再使用 Location 块中的正则 URI 和请求字符串做匹配。 ?>Tip 注意:如果 URI 包含正则表达式,则必须要有 ~ 或者 ~* 标识。 当一个请求进入时,URI 将会被检测匹配一个最佳的 Location: 没有正则表达式的 Location 被作为最佳的匹配,独立于含有正则表达式的 Location 顺序。 在配置文件中按照查找顺序进行正则表达式匹配。在查找到第一个正则表达式匹配之后结束查找。由这个最佳的 Location 提供请求处理。 location / { root html; index index.html index.htm; }
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location / { #try_files指令将会按照给定的参数顺序进行匹配尝试 try_files $uri $uri/ /index.html; } nginx.conf 详细配置如下: #定义Nginx运行的用户和用户组 user www www;
#nginx进程数,通常设置成和cpu的数量相等 worker_processes 4;
#全局错误日志定义类型,[debug | info | notice | warn | error | crit] #error_log /data/nginx/logs/error.log; #error_log /data/nginx/logs/error.log notice;
#日志文件存放路径 access_log path [format [buffer=size | off]] access_log /data/nginx/logs/lazyegg.com/web/access.log combinedio;
#进程pid文件 #pid logs/nginx.pid;
#指定进程可以打开的最大描述符:数目 #工作模式与连接数上限 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |