1.nginx的特点:快、扩展性强、可靠性强、内存低消耗、支持高并发、热部署、开源免费

2.nginx由master进程来管理多个(CPU数)worker进程

3.配置按功能分,有4类:

  1)用于调试、定位问题的配置项

  2)正常运行必备的配置项

  3)优化性能的配置项

  4)事件类配置项

4.web服务器配置

  4.1虚拟主机与请求的分发:

  1)listen:监听端口【server】

  2)server_name:请求中的主机域名【server】

  3)server_names_has_buket_size:每个散列桶的内存大小【server、http、location】

  4)server_names_has_max_size:分配的内存大小,内存越大冲突越小,检索越快【server、http、location】

  5)server_names_in_redirect:决定是否使用是server_name配置的主机名代替host中的头部【server、http、location】

  6)location:匹配uri,如果匹配,用后面的配置来处理请求【server】

  4.2文件路径的定义:

  1)root:定义资源文件目录的相对于请求的路径【server、http、location、if】

  2)alias:定义资源文件目录的相对于请求的路径的别名【location】

  3)index:首页文件【server、http、location】

  4)error_page:错误码重定向页面【server、http、location、if】

  5)recursive_error_page:是否允许递归定义错误页面【server、http、location】

  6)try_files:尝试访问uri,如果都不存在则重定向到最后设置的路径【server、location】

  4.3内容及磁盘资源的分配:请求占用内存、磁盘的相关设置

  4.4网络连接的设置:连接、超时、关闭

  4.5MIME类型设置:类型type与文件后缀的映射

  4.6对客户端请求限制:请求方法、包体最大值、限速

  4.7文件操作优化:IO、缓存

  4.8对客户端请求的特殊处理:HEAD合法性、URI检查、DNS

  4.9ngx_http_core_module模块提供的变量:

5.负载均衡的配置

  5.1.upstream:上游服务器集群【http】  

  5.2.server:上游服务器名字【upstream】

  5.3.ip_hash:根据IP转发的策略

  5.4.记录日志时支持的变量

6.反向代理的配置

  6.1.proxy_pass:反向代理的上行地址。如果转发要带上host头部,需要加上配置:proxy_set_header  Host $host;

  6.2.proxy_method:转发时的方法

  6.3.proxy_hide_header:转发时过滤掉某些字段

  6.4.proxy_pass_header:与上面配置相反

  6.5.proxy_pass_request_body:是否转发body

  6.6.proxy_pass_request_headers:是否转发header

  6.7.proxy_redirect:重定向相关设置

  6.8.proxy_next_upstream:发生错误时,配置另一台服务器处理请求

后面是nginx的高级部分,介绍了如何开发一个nginx模块和了解nginx的实现原理,如果有机会的话,再继续学习:https://www.amazon.cn/dp/B01CHUPLE0/ref=sr_1_1?s=digital-text&ie=UTF8&qid=1536817830&sr=1-1&keywords=nginx

附录

常用命令:

1.校验配置文件: nginx -t

2.启动服务 nginx

3.停止服务:nginx -s quit|stop

4.重启服务:nginx -s reload

5.(日志移走后)重新写入新日志:nginx -s reopen

6.显示命令帮助:nginx -h

《深入理解Nginx:模块开发与架构解析》读书笔记的更多相关文章

  1. csapp读书笔记-并发编程

    这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...

  2. CSAPP 读书笔记 - 2.31练习题

    根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1)  属于第一种情况 sum = x ...

  3. CSAPP读书笔记--第八章 异常控制流

    第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...

  4. CSAPP 并发编程读书笔记

    CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...

  5. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  6. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  7. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  8. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  9. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  10. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

随机推荐

  1. poj3278

    #include<iostream> #define MAX 100001 int john,cow; int queue[MAX]; int vis[MAX]; int ans; voi ...

  2. git 远程删除文件

    git rm -r --cached a/2.txt //删除a目录下的2.txt文件 删除a目录 git rm -r --cached a git commit -m "删除a目录下的2. ...

  3. element-ui table表格展开行每次只能展开一行

    https://www.jianshu.com/p/a59c22202f2c <template> <el-table @expand-change="expandSele ...

  4. PowerBI更新 - 解决方案架构 - PowerBI Solution Architecture(一图胜万字!)

    2019/04更新 参见这里 今天发福利啦!发福利啦!发福利啦! 企业的各种数据整合到PowerBI显示,浏览器,移动端显示关键指标. 一个很好的PowerBI解决方案的图!一图胜万字!你所需要知道的 ...

  5. 三、UI开发之核心基础——约束(入门)

    先学个新技能:添加图片控件Image View iOS的图片控件是ImageView,ImageView通过提前载入用户指定的图片资源来显示相应的图片. 所以图片控件的关键信息有3个: 1. Imag ...

  6. linux挂载概念简述:

    挂载概念简述: 根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载” 1.挂载:根 ...

  7. select2 api参数中文文档

    select2 api参数的文档   具体参数可以参考一下: 参数 类型 描述 Width 字符串 控制 宽度 样式属性的Select2容器div minimumInputLength int 最小数 ...

  8. crontab定时

    yum install -y vixie-cron --安装定时服务 每分钟更新一次商品crontab -e* * * * * /usr/bin/curl http://test.wadao.com/ ...

  9. OpenStack-RabbitMQ-获取vm、磁盘、网络设备的状态变化

    需求 及时知道vm,硬盘,镜像,网络设备.负载均衡器状态变化 分析 Dashboard中也是通过定时使用ajax调用API来获取虚拟机的状态信息的定时轮训的方式过于被动 解决方案 共用rabbitmq ...

  10. winfrom进程、线程、用户控件

    一.进程 一个进程就是一个程序,利用进程可以在一个程序中打开另一个程序. 1.开启某个进程Process.Start("文件缩写名"); 注意:Process要解析命名空间. 2. ...