组成

  • 可执行文件
  • 配置文件
  • access.log
  • error.log

版本

image.png

版本选择

  • nginx.org
  • nginx.com
  • tengine
  • openresty.org
  • openresty.com

编译 nginx

https://www.yuque.com/jdxj/ux1duz/oeg66h

  1. 配置高亮
  1. $ cp -r contrib/vim/* ~/.vim/
  1. 编译前检查
  1. $ ./configure --prefix=/home/jdxj/app/nginx
  1. 编译
  1. $ make
  1. 安装
  1. $ make install

配置

语法

image.png

例子:

image.png

时间单位:

image.png

空间单位:

image.png

指令块

  • http
  • server
  • upstream
  • location

命令行

image.png

热部署 nginx

  1. 备份
  1. $ cp nginx nginx.old
  1. 覆盖原来的 nginx
  1. $ cp new old
  1. 通知运行中的 master 进行热部署
  1. $ kill -USR2 pid
  1. 优雅关闭旧 nginx
  1. $ kill -WINCH pid

老的 worker 退出, 老的 master 仍在运行 (如果发现问题可以版本回退).

日志切割

  1. # 1. 移动 log
  2. # 2. reopen
  3. $ nginx -s reopen

静态文件服务器

image.png

  • 用 alias 而不用 root
  • 可以使用 gzip 压缩 text 类型的页面
  • autoindex 指令
  • set $limit_rate
  • log_format

缓存功能

  • proxy_cache_path 缓存存储目录
  • proxy_cache

GoAccess

https://goaccess.io

TLS

image.png

密码套件

image.png

通讯过程

image.png

Nginx 握手性能

  • RSA
  • 椭圆加密算法

PKI 公钥基础设施

image.png

证书类型

image.png