Skip to content

Latest commit

 

History

History
124 lines (77 loc) · 5.54 KB

1.md

File metadata and controls

124 lines (77 loc) · 5.54 KB

[toc]

😶‍🌫️Nginx官网地址

❤️❤️💕💕🐾🐾

😶‍🌫️我的学习笔记(github)


区块链技术(也称之为分布式账本技术),是一种互联网数据库技术,其特点是去中心化,公开透明,让每一个人均可参与的数据库记录

❤️💕💕关于区块链技术,可以关注我,共同学习更多的区块链技术。博客http://nsddd.top


Nginx基本概念

[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万远未封顶。
  • 热部署:
    • master 进程与 worker 进程的分离设计,使得 Nginx 能够提供热部署功能,即在 7x24 小时不间断服务的前提下,升级 Nginx 的可执行文件。当然,它也支持不停止服务就更新配置项,更换日志文件等功能。
  • 最自由的 BSD 许可协议:
    • 这是 Nginx 可以快速发展的强大动力。BSD 许可协议不只是允许用户免费使用 Nginx ,它还允许用户在自己的项目中直接使用或修改 Nginx 源码,然后发布。

#你可能需要掌握的

  • Linux 服务器和一些常用的操作命令
  • 域名,当然如果是本地玩玩也可以是 Hosts
  • 基本的正则表达式

#特点

  1. 反向代理
  2. 负载均衡
  3. 动静分离

1. 反向代理

  • 正向代理:
    • 依靠代理服务器,返回网址,比如通过www.abc.com访问www.gmail.com
    • 再通俗一点,就是我们连接的vpn这不就是嘛
  • 反向代理:
    • 反向代理不需要配置代理服务器,客户端对代理是无感知的,我们只需要将请求发送给反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端

2. 负载均衡

一般的请求与相应过程如果是并发请求较少,比较合适,如今对并发的要求特别高,此时需要用负载均衡实现

  • 我们增加服务器数量,将请求分发到多个服务器(tomcat)上,将原先请求集中到单个服务器的情况改为分发到多个服务器上,将负载分发到多个服务器上就是我们说的负载均衡

3. 动静分离

为了加快网站的解析速度,可以把动态页面和静态页面交由不同的服务器来解析,加快解析速度,降低原来的单个服务器的压力

  • 静态资源: html 、css 、js
  • 动态资源:jsp 、servlet、php

Nginx 目录建议

安装 Nginx 时可以选择配置文件的路径,由于 Nginx 程序后续可能会升级版本,但配置基本上就是一份,那么推荐使用配置和程序分离的方式,遵循:

  1. 配置文件独立管理, 不存放在nginx程序目录内
  2. 每个站点独立一个配置文件
  3. 每个站点独立的日志文件
  4. 提取公用的配置文件

如:

$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 主程序版本升级,还是修改某个站点配置,还是快速查找某个站点日志都是得心应手~