什么是 Nginx?
Nginx(发音为 “engine-x”)是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。它以其高性能、高并发处理能力和低资源消耗而闻名。以下是 Nginx 的主要特性和用途:
主要特性
-
高性能和高并发
- Nginx 能够处理大量并发连接,适合高流量的网站和应用。
- 使用事件驱动架构,能够高效地管理大量连接。
-
反向代理和负载均衡
- 作为反向代理,Nginx 可以将客户端请求分发到多个后端服务器,实现负载均衡。
- 支持多种负载均衡算法,如轮询、IP 哈希、最少连接等。
-
静态文件服务
- 高效地提供静态文件(如 HTML、CSS、JavaScript、图片等)。
- 支持缓存静态文件,提高响应速度。
-
SSL/TLS 支持
- 内置支持 SSL/TLS,可以轻松配置 HTTPS。
- 支持 HTTP/2 协议,提高传输效率。
-
模块化设计
- Nginx 采用模块化设计,可以根据需要添加或删除模块。
- 支持第三方模块扩展功能。
-
低资源消耗
- 占用较少的内存和 CPU 资源,适合在资源有限的环境中运行。
-
灵活的配置
- 使用简单的配置文件,易于理解和维护。
- 支持热配置更新,无需重启服务即可应用配置更改。
-
安全性
- 提供多种安全功能,如访问控制、速率限制、DDoS 防护等。
主要用途
-
Web 服务器
- 提供静态文件服务,如 HTML、CSS、JavaScript 等。
- 支持动态内容处理,通过反向代理与后端应用(如 Node.js、PHP、Python 等)集成。
-
反向代理
- 将客户端请求分发到多个后端服务器,实现负载均衡。
- 提供缓存功能,减少后端服务器的负载。
-
负载均衡
- 分发客户端请求到多个后端服务器,提高系统的可用性和性能。
- 支持多种负载均衡算法,确保请求均匀分布。
-
缓存
- 缓存静态文件和动态内容,提高响应速度。
- 支持多种缓存策略,如内存缓存、文件缓存等。
-
SSL/TLS 加密
- 提供 HTTPS 支持,确保数据传输的安全性。
- 支持 HTTP/2 协议,提高传输效率。
-
安全性
- 提供访问控制、速率限制、DDoS 防护等功能。
- 支持基本认证、IP 白名单等安全措施。
文章目录
1. 准备工作
1.1 安装 Node.js
确保你的服务器上已经安装了 Node.js 和 npm。以下是基于 Ubuntu / linux 的安装步骤:
# 更新包列表