
nginx 学习笔记
Nginx 入门
秋风小凉鱼
技术无边界!
展开
-
nginx 之 root 和 alias
目录1、alias 语法2、root 语法3、差别1、alias 语法Syntax: alias path;Default: —Context: location定义指定location的替换。例如,使用以下配置location /i/ { alias /data/w3/images/;}当请求“/i/top.gif” 时 ,文件/data...原创 2020-01-30 11:20:01 · 729 阅读 · 0 评论 -
nginx 之 location 匹配规则
目录1、语法、规则2、下面演示一个具体的例子1、语法、规则Syntax: location [ = | ~ | ~* | ^~ ] uri { ... }location @name { ... }Default: —Context: server, location= 严格匹配。如果请求匹配这个location,那么将停止搜索并立即处理此请求...原创 2020-01-29 22:39:35 · 1847 阅读 · 0 评论 -
nginx 之postread 阶段:获取真实客户端地址的realip 模块
如果拿到真实的用户IP地址,需要有如下前提1、TCP 连接四元组 (src_ip,src_port,dst_ip, dst_port)2、HTTP头部X-Forwarded-For 用户传递IP3、HTTP头部X-Real-IP用户传递用户IP4、网络中存在许多反向代理X-Forwarded-For: 115.203.2.22,1.1.1.1X-Real-IP: 115....原创 2020-01-29 15:02:29 · 708 阅读 · 0 评论 -
nginx 之 Http 请求处理的11个阶段
处理的11个阶段POST_HEAD realip SERVER_REWRITE rewrite FIND_CONFIG REWRITE rewrite POST_REWRITE PREACCESS limit_conn, limit_req ACCESS auth_basic ,access, auth_requ...原创 2020-01-29 13:23:30 · 428 阅读 · 0 评论 -
nginx 之 如何找到处理请求的server 指令
在nginx 模块处理请求之前,我们首先要确保它的指令被正确的解析出来,为了处理这个请求,到底使用哪个指令的值,因为指令的配置可以出现在http 下,也可以出现在server 块下,也可以出现在location 块下,在这里,我们首先必须确保请求是被哪一个server 块处理 . 下面介绍server_name ,它可以保证我们在处理11个阶段的http 模块处理之前,先决定哪个s...原创 2020-01-28 22:31:09 · 446 阅读 · 0 评论 -
nginx 之 pcre 安装
1、下载pcrewget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.43/pcre-8.43.tar.gz2、解压3、进入解压目录4、执行如下命令./configure --enable-utf8 5、make6、make install...原创 2020-01-28 21:21:50 · 1316 阅读 · 0 评论 -
nginx 之正则表达式(二)
\ 转义符号 : 取消元字符的特殊含义() 分组 与取值:示例原始url : /admin/website/article/35/change/uploads/party/5.jpg转换后的url: /static/uploads/party/5.jpg匹配原始url的正则表达式: /^\/admin\/website\/article\/(\d+)\/chang...原创 2020-01-28 19:02:00 · 550 阅读 · 0 评论 -
nginx 之正则表达式(一)
1、元字符 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 2、重复 * ...原创 2020-01-28 18:28:38 · 652 阅读 · 0 评论 -
nginx 之从源码编译
参考:https://nginx.org/en/docs/configure.html使用configure命令配置构建。它定义了系统的各个方面,包括nginx允许用于连接处理的方法。最后,它创建一个Makefile。configure命令支持以下参数:--help: 打印帮助信息. --prefix=path :定义保存服务器文件的目录。这个目录还将用于configure设...原创 2020-01-28 15:36:43 · 341 阅读 · 0 评论 -
nginx 之优雅的关闭worker进程
1、设置定时器 worker_shutdown_timeout2、关闭监听句柄3、关闭空闲连接4、在循环中等待全部连接关闭5、退出进程原创 2020-01-28 10:15:45 · 2427 阅读 · 0 评论 -
nginx 之热升级流程(平滑升级)
目录1、安装nginx 1.14.22、编译新版本的nginx按照第一步操作,下载新版本的nginx3、热升级nginx1、将旧nginx二进制文件换成新的nginx二进制 文件(注意备份)2、向master进程发送USR2信号.3、master进程修改pid文件名,加后缀.olidbin4、master进程用新nginx文件启动新master进程5、向老...原创 2020-01-27 22:52:40 · 624 阅读 · 0 评论 -
nginx之进程管理信号
进程结构:一个master进程和多个子进程。子进程分两类:一种是 Worker 进程,另一种是 Cache 相关的进程。1、master进程a、监控worker进程CHLD因为master 进程会启动worker进程,它管理worker进程的信号首先是监控woker 进程有没有发送CHLD信号。linux 操作系统中规定,当子进程终止的时候,会向父进程发送CHLD信号。b...原创 2020-01-27 21:57:10 · 268 阅读 · 0 评论 -
Nginx 学习 二(启动)
nginx 启动命令直接执行可执行二进制文件nginx 即可.[study@zk02 ~]$ nginxnginx 启动完成之后,就可以使用-s 接收信号,处理其他请求了.nginx -s signalsignal 信号如下:Where signal may be one of the following:stop — fast shutdownquit —...原创 2020-01-05 10:36:21 · 181 阅读 · 0 评论 -
Nginx 学习 一(安装)
1、从官网现在nginxwget https://nginx.org/download/nginx-1.16.1.tar.gz解压,共有如下目录文件2、让nginx 配置文件 vim 语法高亮原先的复制contrib 目录下文件到当前用户下的.vim 目录中cp -r contrib/vim/* ~/.vim/复制完成之后,语法高亮3、...原创 2020-01-04 10:26:59 · 278 阅读 · 0 评论