《深入理解Nginx:模块开发与架构解析》(一)
第1章 研究 Nginx 前的准备工作
1.1 Nginx 是什么
Web 服务器的基本功能:基于 REST 架构风格,以统一资源描述符(URI)或者统一资源定位符(URL),作为沟通依据,通过 HTTP 为浏览器等客户端程序提供各种网络服务。
Nginx 是一个跨平台的 Web 服务器,可运行在 Linux、FreeBSD、Solaris、AIX、Mac OS、Windows 等操作系统上,并且使用当前操作系统特有的 API 来提高自己的性能。
1.2 为什么选择 Nginx
(1)更快:对请求的响应更快
(2)高扩展性:由多个不同功能、不同层次、不同类型且耦合度极低的模块组成
(3)高可靠性
(4)低内存消耗
(5)单机支持10万以上的并发连接
(6)热部署:master管理进程与worker工作进程分离设计
(7)最自由的 BSD 协议
Nginx 先天的事件驱动型设计,全异步的网络 I/O 处理机制,极少的进程间切换以及许多优化设计,都使得 Nginx 天生善于处理高并发压力下的互联网请求,同时 Nginx 降低了资源消耗,可以把服务器硬件资源使用到极致。
1.3 准备工作
1.3.1 Linux操作系统
为了支持 epoll,需要一个内核为Linux2.6及以上版本的操作系统。
1.3.2 使用Nginx的必备软件
(1)GCC编译器:用来编译C语言程序
(2)PCRE库:用来支持正则表达式
(3)zlib库:用于对HTTP包的内容做gzip格式的压缩
(4)OpenSSL开发库:用来在更安全的SSL协议上传输HTTP
1.3.3 磁盘目录
(1)Nginx源代码存放目录
(2)Nginx编译阶段产生的中间文件存放目录:默认情况下,configure命令会将该目录命名为obj,并放在Nginx源代码目录下
(3)部署目录:默认为 /usr/local/nginx
(4)日志文件存放目录
《深入理解Nginx:模块开发与架构解析》(一)的更多相关文章
- tcp/ip原理/三次握手/四次挥手
@ tcp/ip原理 1.1 tcp/ip三次握手 1.1.1 建立过程说明 a) 由主机A发送建立TCP连接的请求报文, 其中报文中包含seq序列号, 是由发送端随机生成的, 并且还将报文中SY ...
- 白话TCP/IP原理
TCP/IP(Transmission-Control-Protocol/Internet-Protocol),中文译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议 ...
- <TCP/IP原理> (四) IP编址
1.IP地址的基本概念:作用.结构.类型 2.特殊地址:作用.特征 网络地址.广播地址(直接.受限) 0.0.0.0 环回地址 3.单播.多播.广播地址:特征 4.专用地址:作用.范围 5.计算和应用 ...
- <TCP/IP原理> (二) OSI模型和TCP/IP协议族
1.OSI参考模型 1)作用 2)各层的名称和功能 2.对分层网络协议体系的理解 1)不同节点:层次组成不同,作用不同 2)横向理解:虚通信.对等实体.协议.PDU 3)纵向理解:封装与解封.服务.接 ...
- <TCP/IP原理> (一)
1.协议和标准 2.标准化组织 3.Internet标准:RFC 4.Internet的管理机构 一.协议和标准 1.协议(Protocol) 一组控制数据通信的规则 三要素:语法(syntax).语 ...
- TCP/IP原理浅析
TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...
- [转] TCP/IP原理、基础以及在Linux上的实现
导言:本篇作为理论基础,将向我们讲述TCP/IP的基本原理以及重要的协议细节,并在此基础上介绍了TCP/IP在LINUX上的实现. OSI参考模型及TCP/IP参考模型 OSI模型(open syst ...
- TCP/IP原理简述
TCP/IP与OSI TCP/IP工作在第4层,在TCP/IP协议簇中,有两个不同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议),它们分别承载不同的应用.TCP协议提供可靠的服务,UDP ...
- <TCP/IP原理> (三) 底层网络技术
传输介质 局域网(LAN) 交换(Switching) 广域网(WAN) 连接设备 第三章 底层网络技术 引言 1)Interne不是一种新的网络 建立在底层网络上的网际网 底层网络——“物理网”,网 ...
- 在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP
如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...
随机推荐
- 自定义的一个JDBC工具类
package JDBCutils; import java.io.File;import java.io.FileInputStream;import java.sql.Connection;imp ...
- spark技术热点问题互动问答2
决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第3期互动问答分享] Q1: groupbykey是排好序的吗?分组排序怎么实现? groupByKey在一个由(K,V)对组成的数据 ...
- ZCMU训练赛-H(模拟)
H - Hard to Play MightyHorse is playing a music game called osu!. After playing for several months ...
- SDL安装小结
SDL是一个基于C的简易实现,安装过程中也多亏了,各位大神的助攻,这里简单mark一下遇到的问题,以备查找: 关于VS的版本:目前文档里确定支持的VS为2008到2013,我的VS是2013,2015 ...
- 【左偏树】BZOJ2809-[APIO2012]dispatching
[题目大意] 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一名忍者被称之为 Master.除了 Master以外,每名忍者都有且仅有一个上级.为保密,同 ...
- 【AC自动机+DP】USACO2012 JAN GOLD_Video Game Combos
[题目大意] 给你个模式串(每个长度≤15,1≤N≤20),串中只含有三种字母.求一长度为K(1≤K≤1000)的字符串,使得匹配数最大(重复匹配计多次),输出最大值. [解题思路] W老师给的题,然 ...
- Java高级架构师(一)第18节:X-gen所需service、web层模板
以X-gen的Controller为例: package $#modulePackge#.web; import org.springframework.beans.factory.annotatio ...
- Linux发布Tomcat Web项目
1.打包项目,项目右键–>Export –> WAR file 2.将.war文件放到tomcat下的webapps下.重启tomcat即可. ps afux — 查看进程 ki ...
- Android UI Material Design
Material Design 中文版: http://wiki.jikexueyuan.com/project/material-design/ Material Design开发文章系列1:App ...
- mq使用经验
1.Producer使用指南--发送消息注意事项 1.正常情况下一个业务系统尽可能用一个Topic,消息子类型用tags来标识,tags可以由业务系统自由设置.只有发送消息设置了tags,消费方在订阅 ...