什么是 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 白名單等安全措施。
文章目錄
- 什么是 Nginx?
- 主要特性
- 主要用途
- 1. 準備工作
- 1.1 安裝 Node.js
- 1.2 構建 Vue 項目
- 2. 安裝 Nginx
- 2.1 更新包列表
- 2.2 安裝 Nginx
- 2.3 啟動 Nginx 服務
- 2.4 檢查 Nginx 狀態
- 3. 配置 Nginx
- 3.1 創建一個新的 Nginx 配置文件
- 3.2 編輯配置文件
- 3.3 啟用配置文件
- 3.4 測試 Nginx 配置
- 3.5 重新加載 Nginx
- `以下不重要,僅限實驗項目可以不用`
- 4. 配置 SSL(可選)
- 4.1 安裝 Certbot 和 Nginx 插件
- 4.2 獲取并安裝 SSL 證書
- 4.3 自動續訂證書
- 5. 配置反向代理(可選)
- 5.1 修改 Nginx 配置文件
- 5.2 重新加載 Nginx
- 6. 部署后端服務(可選)
- 6.1 安裝 PM2(可選)
- 6.2 啟動后端服務
- 6.3 設置 PM2 自啟動
- 7. 驗證部署
- 8. 監控和日志
- 8.1 查看 Nginx 日志
- 8.2 使用監控工具
1. 準備工作
1.1 安裝 Node.js
確保你的服務器上已經安裝了 Node.js 和 npm。以下是基于 Ubuntu / linux 的安裝步驟:
# 更新包列表