1. 基础知识
1.1 软件简介
– NGINX Plus是建立在开源NGINX之上的软件负载均衡器、Web服务器和内容缓存
– NGINX Plus具有超越开源产品提供的独有企业级别功能
– NGINX Plus可代替硬件负载均衡器
1.2 软件功能
– NGINX Plus支持会话持久性
– NGINX Plus支持API配置
– NGINX Plus支持动态运行状态检查
– NGINX Plus支持不受基础架构约束的扩展
1.3 软件的特点
1.3.1 负载均衡器
– 支持HTTP、TCP和UDP负载均衡器
– 支持第7层URL、Cookie等参数的请求路由
– 支持基于cookie的会话持久性*
– 支持对状态码和相应主题进行主动健康检查*
– 支持DNS的服务发现*
注:*表示NGINX Plus专有功能
1.3.2 内容缓存
– 支持缓存静态和动态的内容
– 支持通过微缓存提高动态内容的性能
– 支持后台重新验证并提高性能
– 支持覆盖和设置Cache-Control标题
– 支持使用清除缓存的API轻松管理缓存*
1.3.3 网络服务器
– 支持同时处理数十万客户
– 支持较低的内存用量(只占其他服务器的90%)
– 支持反向代理的多种协议(HTTP、gRPC、memcached、PHP-FPM、SCGI、uwsgi)
– 支持HTTP视频流(FLV、HDS、HLS、MP4)
– 支持HTTP/2服务器推送到支持的HTTP/2网关
1.3.4 安全控制
– 支持请求和链接限制
– 支持双栈RSA/ECC、SSL/TLS卸载
– 支持TLS 1.3
– 支持动态证书加载
– 支持基于IP地址的访问控制列表(ACL)
– 支持API和OpenID Connect单点登录(SSO)的JWT身份验证*
– 支持NGINX WAF动态模块*
1.3.5 动态模块
– 支持NGINX JavaScript模块在请求处理期间运行JavaScript代码
– 支持通过IP地址定位用户的GeoIP模块(需要MaxMind GeoIP数据库)
– 支持构建工具编译自己的自定义模块*
– 支持SSO模块(ForgeRock、IDF Connect、Ping Identity)*
1.3.6 监控方式
– 支持监控NGINX指标并使用NGINX Amplify验证配置
– 支持AppDynamics、Datadog和Dynatrace插件
– 支持超过90种独特指标的扩展状态
– 支持内置实时图形仪表板
– 支持JSON和HTML输出(可与自定义监视工具集成)*
1.3.7 高可用性(HA)*
– 支持active-active和active-passive模式
– 支持集群中NGINX Plus服务器之间的配置同步
– 支持状态共享(包括Sticky-Learn会话持久、速率限制和键值存储)
– 支持易于安装的内置脚本
1.3.8 Kubernetes入口控制器
– 支持通过SSL/TLS负载均衡
– 支持WebSocket和HTTP/2
– 支持请求转发到应用程序之前的URL重写
– 支持Prometheus出口监控
– 支持会话持久和监控检查*
– 支持JWT认证*
1.3.9 可编程
– 支持脚本和高级配置的NGINX JavaScrip他模块
– 支持Lua脚本语言
– 支持Ansible、Chef和Puppet集成
– 支持管理上游服务器、键值存储和实时指标的API*
– 支持动态重配置(无需重新加载进程)*
1.3.10 流媒体
– 支持实时流(RTMP、Apple HTTP实时流即HLS、基于HTTP的动态自适应流即DASH)
– 支持视频点播(Flash即flv、MP4)
– 支持自适应比特率VOD(HLS、Adobe HTTP动态流即HDS*)
– 支持MP4流的带宽控制*
2. 最佳实践
2.1 系统配置
2.1.1 系统基本的信息
OS = CentOS 7.7 x86_64
hostname = any.cmdschool.org
ip address = any
2.1.2 安装常用工具
yum install -y wget vim net-tools
2.1.3 升级系统到最新版本
yum update -y
2.2 准备工作
2.2.1 申请证书
请通过以下链接注册你的账号并申请试用(你将得到SSL证书和秘钥,详细请自行摸索,这里不累赘),
https://www.nginx.com/products/nginx/#tech-specs
2.2.2 备份旧的配置与日志
mkdir /backup cp -a /etc/nginx/ /backup/nginx-config cp -a /var/log/nginx/ /backup/nginx-log
2.2.3 部署证书
mkdir -p /etc/ssl/nginx cp ~/nginx-repo.crt /etc/ssl/nginx/ cp ~/nginx-repo.key /etc/ssl/nginx/
注:请提前将下载的上传证书到家目录
2.2.4 部署Mozilla基金CA证书包
yum install -y ca-certificates
2.2.5 部署yum源
wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/nginx-plus-7.4.repo
2.3 部署nginx-plus
2.3.1 安装软件包
yum install -y nginx-plus
2.3.2 确认软件包部署
nginx -v
可见如下显示,
nginx version: nginx/1.17.3 (nginx-plus-r19)
2.3.3 启动服务并配置自启动
systemctl start nginx.service systemctl enable nginx.service
2.3.4 配置的防火墙
firewall-cmd --permanent --add-service http --add-service https firewall-cmd --reload firewall-cmd --list-all
2.4 其他服务控制命令
2.4.1 正常关机
nginx -s quit
2.4.2 重载配置
nginx -s reload
2.4.3 重开日志文件
nginx -s reopen
2.4.4 立刻关闭
nginx -s stop
参阅文档
====================
nginx-plus的安装文档
———————
https://www.nginx.com/products/nginx/#tech-specs
nginx-plus的服务控制
———————
https://nginx.org/en/docs/control.html?_ga=2.227418013.1478615320.1571272204-1953014643.1569045545
https://docs.nginx.com/nginx/admin-guide/basic-functionality/runtime-control/
Mozilla基金CA证书包
—————-
https://fedoraproject.org/wiki/CA-Certificates
其他文档
—————–
https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync/
http://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync
没有评论