[toc]
😶🌫️Nginx官网地址
❤️❤️💕💕🐾🐾
😶🌫️我的学习笔记(github)
区块链技术(也称之为分布式账本技术),是一种互联网数据库技术,其特点是去中心化,公开透明,让每一个人均可参与的数据库记录
❤️💕💕关于区块链技术,可以关注我,共同学习更多的区块链技术。博客http://nsddd.top
[toc]
Nginx(发音同engine x)是一个异步框架的 Web 服务器,也可以用作反向代理,负载平衡器 和 HTTP 缓存。该软件由 Igor Sysoev 创建,并于2004年首次公开发布。同名公司成立于2011年,以提供支持。Nginx 是一款免费的开源软件,根据类 BSD 许可证的条款发布。一大部分Web服务器使用 Nginx ,通常作为负载均衡器。
Nginx是一个高性能的HTTP和反向代理服务器,特点是征用内存少,并发能力强
#Nginx的特点
- 更快:
- 单次请求会得到更快的响应。
- 在高并发环境下,Nginx 比其他 WEB 服务器有更快的响应。
- 高扩展性:
- Nginx 是基于模块化设计,由多个耦合度极低的模块组成,因此具有很高的扩展性。许多高流量的网站都倾向于开发符合自己业务特性的定制模块。
- 高可靠性:
- Nginx 的可靠性来自于其核心框架代码的优秀设计,模块设计的简单性。另外,官方提供的常用模块都非常稳定,每个 worker 进程相对独立,master 进程在一个 worker 进程出错时可以快速拉起新的 worker 子进程提供服务。
- 低内存消耗:
- 一般情况下,10000个非活跃的
HTTP Keep-Alive
连接在 Nginx 中仅消耗2.5MB
的内存,这是 Nginx 支持高并发连接的基础。 - 单机支持10万以上的并发连接:理论上,Nginx 支持的并发连接上限取决于内存,10万远未封顶。
- 一般情况下,10000个非活跃的
- 热部署:
- master 进程与 worker 进程的分离设计,使得 Nginx 能够提供热部署功能,即在 7x24 小时不间断服务的前提下,升级 Nginx 的可执行文件。当然,它也支持不停止服务就更新配置项,更换日志文件等功能。
- 最自由的 BSD 许可协议:
- 这是 Nginx 可以快速发展的强大动力。BSD 许可协议不只是允许用户免费使用 Nginx ,它还允许用户在自己的项目中直接使用或修改 Nginx 源码,然后发布。
#你可能需要掌握的
- Linux 服务器和一些常用的操作命令
- 域名,当然如果是本地玩玩也可以是 Hosts
- 基本的正则表达式
#特点
- 反向代理
- 负载均衡
- 动静分离
1. 反向代理
- 正向代理:
- 依靠代理服务器,返回网址,比如通过www.abc.com访问www.gmail.com
- 再通俗一点,就是我们连接的
vpn
这不就是嘛
- 反向代理:
- 反向代理不需要配置代理服务器,客户端对代理是无感知的,我们只需要将请求发送给反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端
2. 负载均衡
一般的请求与相应过程如果是并发请求较少,比较合适,如今对并发的要求特别高,此时需要用负载均衡实现
- 我们增加服务器数量,将请求分发到多个服务器(tomcat)上,将原先请求集中到单个服务器的情况改为分发到多个服务器上,将负载分发到多个服务器上就是我们说的负载均衡
3. 动静分离
为了加快网站的解析速度,可以把动态页面和静态页面交由不同的服务器来解析,加快解析速度,降低原来的单个服务器的压力
- 静态资源: html 、css 、js
- 动态资源:jsp 、servlet、php
安装 Nginx 时可以选择配置文件的路径,由于 Nginx 程序后续可能会升级版本,但配置基本上就是一份,那么推荐使用配置和程序分离的方式,遵循:
- 配置文件独立管理, 不存放在nginx程序目录内
- 每个站点独立一个配置文件
- 每个站点独立的日志文件
- 提取公用的配置文件
如:
$dir/wwwroot/ - 网站根目录,以域名为文件夹名称
./xuexb.com/
./static.xuexb.com/
$dir/src/ - 安装源包
$dir/local/nginx/ - nginx相关根目录
./conf/ - 配置文件
./nginx.conf - 配置主入口
./inc - 通用配置
./vhost/ - 各站点的配置,以 `域名.conf` 命名
./xuexb.com.conf
./static.xuexb.com.conf
./1.11.1/ - 各个版本的nginx
./1.11.2/
$dir/logs/ - 日志相关目录,内以 `域名.type.log` 命名
./last/ - 最新的日志
./xuexb.com.error.log
./xuexb.com.access.log
./back/ - 天级备份日志
./20170908/
这样分离之后不管是 Nginx 主程序版本升级,还是修改某个站点配置,还是快速查找某个站点日志都是得心应手~