目录
目录
一、Nginx简介
- Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器。Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以类 BSD 许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011 年 6 月 1 日,Nginx 1.0.4 发布。
- Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,单台物理服务器可支持30 000~50 000个并发请求。并在一个 BSD-like 协议下发行。由俄罗斯的程序设计师 Igor Sysoev 所开发,供俄国大型的入口网站及搜索引擎 Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 Nginx 网站用户有:百度 BWS、新浪、网易、腾讯、等。
二、简述Nginx和Apache的差异
- Nginx是一个甚于事件的Web服务器,Apache是一个基于流程的服务器
- Nginx避免子进程的概念,Apache是基于子进程的:
- Nginx在内存消耗和连接方面更好,Apache在内存消耗和连接方面一般
- Nginx的性能和可伸缩性不依赖于硬件,Apache依赖于CPU和内存等硬件:
- Nginx支持热部署,Apache不支持热部署
- Nginx对于静态文件处理具有更高效率,Apache相对一般
- Nginx在反向代理场景具有明显优势,Apache相对一般。
三、 Nginx 相对于 Apache 的优点
- 轻墨级,同样是 web 服务,比 Apache 占用更少的内存及资源,高并发,Nginx 处理请求是异步非塞的,而Apache 则是阻塞型的,在高并发下 Nginx 能保持低资源低消耗高性能;高度模块化的设计编写模块相对简单:社区活跃,各种高性能模块出品迅速
四、 Apache 相对于 Nginx 的优点
rewrite,比Nginx 的 rewrite 强大;模块超多,基本想到的都可以找到;少 bug,Nginx的 bug相对较多:超稳定
总结:存在就是理由,一般来说,需要性能的 web 服务,用 Nginx 。如果不需要性能只求稳定,那就Apache。Nginx 处理动态请求是弱项,一般动态请求要 Apache 去做,Nginx 只适合静态和反向。
五、扩展( 阻塞与非阻塞 同步与异步)
1.阻塞与非阻塞
阻塞和非阻塞是进程在访问数据的时候,数据是否准备就绪的一种处理方式。当数据没有准备的时候,阻塞需要等待调用结果返回之前,进程会被挂起,函数只有在得到结果之后才会返回。非阻塞和阻塞的概念相对,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。
2.同步与异步
同步指的是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。异步的概念和同步相对,当一个异步过程调用发出后,调用者不能立刻得到结果。实际理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。
举个例子来说,对于我们经常使用B/S架构来说,同步和异步指的是从客户端发起访问数据的请求,阻塞和非阻塞指的是服务端进程访问数据,进程是否需要等待。这两者存在本质的区别,它们的修饰对象是不同的。
3.总结
阻塞和非阻塞是指进程访问的数据如果尚未就绪,进程是否需要等待,简单说这相当于函数内部的实现区别,也就是未就绪时是直接返回还是等待就绪
同步和异步是指访问数据的机制,同步一般指主动请求并等待1/0操作完毕的方式,当数据就绪后在读写的时候必须阻塞,异步则指主动请求数据后便可以继续处理其它任务,随后等待1/O,操作完毕的通知,这可以使进程在数据读写时也不阻塞。
六、编译安装Nginx服务
1、将nginx所需软件包到/opt目录下
2. 安装依赖包
3、创建运行用户、组
4、编译安装Nginx
5、检查、启动、重启、停止 nginx服务
6、添加 Nginx 系统服务
7、认识Nginx服务的主配置文件 nginx.conf
七、Nginx迭代升级1.12->1.20
1.关闭正在使用的Nginx进程
2.上传需要升级的软件包并解压
3.下载openssl依赖包
4.编译 安装
5.备份旧版本并启动查看版本
6.验证结果