目录
Nginx简介
简述Nginx和Apache的差异
3 Nginx 相对于 Apache 的优点
阻塞与非阻塞 同步与异步
ginx 应用场景
nginx编译安装
Nginx安装和升级
1.关闭防火墙,将安装nginx所需软件包传到/opt目录下
2.拖入软件包
3.安装依赖包
3.创建运行用户与组
5.编译安装Nginx
6.make一下
Nginx简介
Nginx是一个高性能的 HTTP 和反向代理服务器2011 年 6 月 1 日,Nginx 1.0.4 发布。1.18 1.20 1.22 1.12
Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮(IMAP/POP3)代理服务器,
单台物理服务器可支持30 000~50 000个并发请求
实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 Nginx 网站用户有:百度 BWS、新浪、网易、腾讯、等。
简述Nginx和Apache的差异
-
Nginx是一个甚于事件的Web服务器,Apache是一个基于流程的服务器;
-
Nginx避免子进程的概念,Apache是基于子进程的;
-
Nginx在内存消耗和连接方面更好,Apache在内存消耗和连接方面一般;
-
Nginx的性能和可伸缩性不依赖于硬件,Apache依赖于CPU和内存等硬件;
-
Nginx支持热部署,Apache不支持热部署;
-
Nginx对于静态文件处理具有更高效率,Apache相对一般;
-
Nginx在反向代理场景具有明显优势,Apache相对一般。
-
3 Nginx 相对于 Apache 的优点
轻量级,同样是 web 服务,比 Apache 占用更少的内存及资源 ;高并发,Nginx 处理请求是异步非塞的,而 Apache 则是阻塞型的,在高并发下 Nginx 能保持低资源低消耗高性能;高度模块化的设计
编写模块相对简单;社区活跃,各种高性能模块出品迅速。
阻塞与非阻塞 同步与异步
阻塞:意思就是 前面有人在一号试衣间里试衣服 我也会在一号试衣间外等待 直到一号试衣间里的人出来为止 这就是组塞
非组塞 :意思就是 一号试衣间里有人 在试衣服 我也会就去 一起试衣服 不管里面又没人有人 我试好了我就出来
总之,阻塞和非阻塞都是用于描述程序等待某个操作的状态。阻塞使程序被挂起等待结果,而非阻塞则让程序继续执行其他任务同时不断查询资源是否就绪以便尽快得到操作结果。
同步与异步
同步:指程序在执行任务时必须等待当前操作完成后才能进行下一步操作
异步:则是指程序在执行任务时可以继续进行其他操作,当任务完成后再去处理它的结果。
ginx 应用场景
① 静态服务器 (图片、视频服务、文本) ② 动态服务 ③ 反向代理, 负载均衡 ④ 缓存服务
nginx 中http七层代理和四层代理
web服务器
做:代理 服务器
反向代理, 负载均衡
nginx编译安装
Nginx安装和升级
1.关闭防火墙,将安装nginx所需软件包传到/opt目录下
systemctl stop firewalld
systemctl disable firewanlld
setenforce 0
2.拖入软件包
解压软软件包
进入软件包
3.安装依赖包
#nginx的配置及运行需要pcre、zlib等软件包的支持,因此需要安装这些软件的开发包,
以便提供相应的库和头文件。
yum -y install pcre-devel zlib-devl gcc gcc-c++
3.创建运行用户与组
#创建运行用户、组(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专
门的用户账号,以便更准确地控制其访问权限)useradd -M -s /sbin/nologin nginx
5.编译安装Nginx
cd nginx-1.12.2/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module make && make installln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #让系统识别nginx的操作命令
6.make一下
make && make install
7.做个软连接让系统识别nginx的操作命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
8..现在版本是nginx/1.12.2
nginx -v #查看版本
9.拖入新版本1.22.0
10.版本新版本升级
tar -zxvf nginx-1.22.0.tar.gz
cd nginx-1.22.0
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_ssl_module
11Make 跑起来就好就怕他不动
cmake
12. 备份 把之前的覆盖掉
13.复制
14. 查看版本号 现在就是最新版本了1.22.0
Nginx安装完成
总结:
更新感觉就是把之前的覆盖了平滑还没搞懂