Nginx 安裝與 HTTPS 配置指南:使用 OpenSSL 搭建安全 Web 服務器

Nginx 安裝與 HTTPS 配置指南:使用 OpenSSL 搭建安全 Web 服務器

一、Nginx安裝

1. 安裝依賴項

sudo yum groupinstall "Development Tools" -y # 非必須
sudo yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

2.下載Nginx

wget http://nginx.org/download/nginx-1.28.0.tar.gz

3.解壓下載的文件

tar -zxvf nginx-1.28.0.tar.gz
cd nginx-1.28.0

4. 配置安裝選項

在Nginx源代碼目錄下運行./configure腳本來準備編譯環境。可以使用默認配置或添加自定義選項。

./configure,加上 --with-http_ssl_module

./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre# 參數項說明---------------------------------------------------------------------------------------------------------------------------
1. --prefix=/usr/local/nginx
作用:指定 Nginx 的安裝目錄。
說明:編譯安裝完成后,Nginx 的可執行文件、配置文件、日志等都會放在這個目錄下。
默認值:如果不指定,默認是 /usr/local/nginx。
? 建議保留:除非你有特殊需求,否則建議使用這個路徑。2. --with-http_ssl_module
作用:啟用 HTTPS/SSL 支持。
說明:只有啟用了這個模塊,Nginx 才能支持 listen 443 ssl;,才能配置 HTTPS 網站。
依賴:需要系統中安裝了 OpenSSL 庫。
? 重要模塊:如果你要配置 HTTPS(如使用 Let's Encrypt 或自簽名證書),必須啟用。3. --with-http_realip_module
作用:允許 Nginx 獲取客戶端的真實 IP 地址。
適用場景:當 Nginx 前面有 CDN、反向代理或負載均衡器時,客戶端的真實 IP 會被代理服務器“隱藏”,這個模塊可以讓你通過設置 set_real_ip_from 和 real_ip_header 來還原真實 IP。
? 推薦啟用:尤其在做訪問控制、日志記錄、限流等操作時非常有用。4. --with-http_stub_status_module
作用:啟用 Nginx 的狀態監控模塊。
用途:可以讓你訪問一個類似 /nginx_status 的頁面,查看當前 Nginx 的連接數、請求數等運行狀態。
? 推薦啟用:用于監控 Nginx 性能,對運維很有幫助。5. --with-http_gzip_static_module
作用:支持預壓縮文件的靜態壓縮傳輸。
說明:比如你有一個 index.html.gz 文件,客戶端支持 gzip 時,Nginx 可以直接發送這個 .gz 文件,而不需要實時壓縮。
? 推薦啟用:提高性能,減少 CPU 開銷。6. --with-pcre
作用:啟用 PCRE(Perl Compatible Regular Expressions)庫支持。
用途:Nginx 的 location、rewrite 等指令依賴正則表達式,PCRE 是實現這些功能的基礎。
? 必須啟用:除非你完全不用正則匹配,否則這個參數必須加上。

5.編譯并安裝

運行make命令編譯源代碼,然后使用make install命令安裝Nginx。

make
make install

6. Nginx啟動停止腳本

/usr/local/nginx

#!/bin/bash
# nginx.sh - 控制 Nginx 啟動、停止、重啟、查看狀態
# 適用于手動安裝的 Nginx(路徑:/usr/local/nginx)### 配置項 ###
NGINX_PATH="/usr/local/nginx"
NGINX_EXEC="$NGINX_PATH/sbin/nginx"
NGINX_CONF="$NGINX_PATH/conf/nginx.conf"
NGINX_PID="$NGINX_PATH/logs/nginx.pid"### 檢查是否為 root 用戶運行 ###
if [ "$(id -u)" != "0" ]; thenecho "請使用 root 權限運行此腳本(sudo)"exit 1
fi### 啟動 Nginx ###
start() {echo "正在啟動 Nginx..."### 檢查配置文件 ###$NGINX_EXEC -t > /dev/nu

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92862.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92862.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

寫個 flask todo app,簡潔,實用

- 此項目雖然看起來簡單,實際上,修改成自己喜歡的樣子,也是費時間的。 - 別人都搞AI 相關的項目,而我還是搞這種基礎的東西。不要灰心。 - 積累。不論項目大小,不論難易,只看是否有用。項目地址&#xff1a…

4麥 360度定位

要在 ESP32 上用 4 個麥克風實現 360 聲源定位,通常思路是通過 時延估計(TDOA) 幾何計算,核心流程:陣列布置將 4 個麥克風等間距布置成正方形(或圓形)。記陣列中心為原點,麥克風編號…

使用yolov10模型檢測視頻中出現的行人,并保存為圖片

一、使用yolov10模型檢測視頻中出現的行人,并保存為圖片,detect_person.py代碼如下:from ultralytics import YOLOv10 import glob import os import cv2 import argparsedef detect_person(videoPath, savePath):if not os.path.exists(save…

現在希望用git將本地文件crawler目錄下的文件更新到遠程倉庫指定crawler目錄下,命名相同的文件本地文件將其覆蓋

git checkout main git pull origin main $source “D:\黑馬大數據學習\crawler” $dest Join-Path (Get-Location) “crawler” if (-not (Test-Path $dest)) { New-Item -ItemType Directory -Path $dest | Out-Null } Copy-Item -Path $source* -Destination $dest -Recur…

網絡調制技術對比表

📊 網絡調制技術全維度對比表?調制技術??簡稱??頻譜效率??抗噪性??功率效率??復雜度??關鍵特性??典型應用場景??幅度鍵控?ASK低差高低/低電路簡單,易受干擾遙控器、光通信(OOK)?頻移鍵控?FSK低-中中中中/中抗噪較好,頻譜…

優化 Elasticsearch JVM 參數配置指南

一、概述 Elasticsearch 是基于 JVM 的搜索和分析引擎。JVM 參數的合理配置直接影響著 Elasticsearch 的性能和穩定性。盡管 Elasticsearch 已經提供了默認的 JVM 設置,但在某些特定場景下,我們可能需要進行適當的調整和優化。 本文將詳細講述如何安全、…

Python, Go 開發如何進入心流狀態APP

要開發一款基于Python和Go語言、幫助用戶進入“心流”狀態(高度專注、高效愉悅的心理狀態)的應用,需結合兩種語言的技術優勢(Go的高并發與性能、Python的靈活性與AI生態)及心流觸發機制(清晰目標、即時反饋…

一文詳解手機WiFi模塊與連接

目錄 1 硬件模塊 1.1 Wifi射頻模 1.2 電源管理模塊 2 軟件與協議棧 2.1 系統服務層 2.2 認證與協議處理 3 連接流程 3.1 開啟WiFi與掃描 3.2 選擇網絡與認證 3.3 連接與IP分配 4 特殊連接方式 4.1 WPS快速連接 4.2 熱點模式(AP模式) 4.3 U…

Java 網絡編程詳解:從基礎到實戰,徹底掌握 TCP/UDP、Socket、HTTP 網絡通信

作為一名 Java 開發工程師,你一定在實際開發中遇到過需要與遠程服務器通信、實現客戶端/服務端架構、處理 HTTP 請求、構建分布式系統等場景。這時,Java 網絡編程(Java Networking) 就成為你必須掌握的核心技能之一。Java 提供了豐…

Java面試題(中等)

1. 計算機網絡傳輸層有哪些協議?分別適用于什么場景?TCP協議(傳輸控制協議)?:面向連接、可靠傳輸,流量控制、擁塞控制。適用于要求數據完整性的場景,如文件傳輸、網頁瀏覽、電子郵件等。UDP協議 (用戶數據報協議)?&a…

Apache 消息隊列分布式架構與原理

消息隊列 基本概念 定義 消息隊列(Message Queue, MQ)是一種分布式中間件,通過異步通信、消息暫存和解耦生產消費雙方的機制,提供消息的順序性保證、可靠投遞和流量控制能力,廣泛應用于微服務解耦、大數據流處理等場景…

ModernBERT如何突破BERT局限?情感分析全流程解析

自2018年推出以來,BERT 徹底改變了自然語言處理領域。它在情感分析、問答、語言推理等任務中表現優異。借助雙向訓練和基于Transformer的自注意力機制,BERT 開創了理解文本中單詞關系的新范式。然而,盡管成績斐然,BERT 仍存在局限…

股票Level2逐筆成交及十檔訂單簿分鐘級Tick歷史行情數據詳細解析

本地股票數據處理與分析實戰指南 在量化投資與金融數據分析領域,高效處理本地存儲的股票數據是核心能力之一。本文將從數據類型定義、解析流程及實際應用角度,系統介紹如何基于CSV文件管理股票分鐘數據、高頻Tick數據、逐筆數據、Level2歷史行情等多樣化…

面向互聯網2C業務的分布式類Manus Java框架

本文介紹了阿里巴巴推出的分布式類ManusAgent框架——ali-langengine-dflow,旨在解決現有Agent架構在互聯網2C業務場景中的局限性。文章從背景出發,分析了當前主流Agent架構(如Manus、字節TARS、AutoGLM)存在的問題,如…

Java-82 深入淺出 MySQL 內部架構:服務層、存儲引擎與文件系統全覆蓋

點一下關注吧!!!非常感謝!!持續更新!!! 🚀 AI篇持續更新中!(長期更新) AI煉丹日志-30-新發布【1T 萬億】參數量大模型!Kim…

開發避坑短篇(6):Vue+Element UI 深度選擇器實現表單元素精準對齊的技術實踐

需求 el-form 表單的el-input和el-select默認寬度度不一致&#xff0c;導致不對齊&#xff0c;如下圖。那么如何設置讓el-input和el-select的寬度度一致并對齊&#xff1f;<el-form class"page-form" :model"addForm" :rules"rules" :disable…

rust-參考與借用

參考與借用 在清單4-5中的元組代碼的問題在于&#xff0c;我們必須將String返回給調用函數&#xff0c;這樣我們才能在調用calculate_length之后繼續使用String&#xff0c;因為String已經被移動到了calculate_length中。相反&#xff0c;我們可以提供一個對String值的引用。引…

深入解析HDFS Federation:如何有效解決單NameNode瓶頸問題

HDFS Federation簡介與背景在Hadoop分布式文件系統&#xff08;HDFS&#xff09;的經典架構中&#xff0c;NameNode作為核心組件承擔著整個文件系統的元數據管理職責。這一設計雖然簡潔高效&#xff0c;但隨著數據規模的爆炸式增長&#xff0c;單NameNode架構逐漸暴露出難以克服…

為什么選擇EasyGBS?

作為集 算法倉、算力設備接入、視頻云平臺 于一體的綜合性智能安防監控平臺&#xff0c;EasyGBS有哪些優勢是您的必選理由呢&#xff1f;一、設備與協議的兼容性EasyGBS不挑設備品牌型號。只要支持GB28181、RTSP、ONVIF、RTMP標準協議里的任一種&#xff0c;就能將視頻接入。但…

【形態學變換】——圖像預處理(OpenCV)

目錄 1 核 2 腐蝕 3 膨脹 4 開運算 5 閉運算 6 禮帽運算 7 黑帽運算 8 形態學梯度 形態學變換是一種基于形狀的簡單變換&#xff0c;處理對象是二值化后的圖像。有兩個輸入&#xff1a;原圖像和核&#xff0c;一個輸出&#xff1a;形態學變換后的圖像。基本操作有以下四…