Apache 高級配置實戰:從連接保持到日志分析的完整指南

Apache 高級配置實戰:從連接保持到日志分析的完整指南

前言

最近在深入學習 Apache 服務器配置時,發現很多朋友對 Apache 的高級功能還不夠了解。作為一個在運維路上摸爬滾打的技術人,我想把這些實用的配置技巧分享給大家。今天這篇文章會帶你從連接保持優化開始,一路走到訪問控制日志管理,最后用 AWStats 來分析網站數據。這些都是生產環境中必備的技能!


🔗 一、Apache 連接保持 - 性能優化的第一步

為什么需要連接保持?

HTTP 協議本身是無狀態的,每次請求都需要建立 TCP 連接(三次握手)和斷開連接(四次揮手)。想象一下,一個網頁包含多個圖片、CSS、JS 文件,如果每個資源都要重新建立連接,那性能損耗會非常大。

連接保持(KeepAlive) 就是讓客戶端通過同一個 TCP 連接發送多個 HTTP 請求,能夠:

  • ? 提升響應速度 50% 以上
  • ? 降低服務器資源開銷
  • ? 減少網絡延遲

核心配置參數

編輯 httpd-default.conf 文件:

# 開啟連接保持功能
KeepAlive On# 連接超時時間(秒)- 兩次請求間的最大間隔
KeepAliveTimeout 15# 單個連接最大請求數
MaxKeepAliveRequests 100

配置建議:

  • 高并發站點KeepAlive On
  • 低并發站點KeepAlive Off(節省內存)
  • 超時時間:5-15秒比較合適
  • 最大請求數:根據頁面資源數量設置,一般 50-200

🛡? 二、Apache 訪問控制 - 網站安全防護

2.1 基于 IP 地址的訪問控制

這是最直接的訪問控制方式,通過 Require 指令實現:

允許所有訪問(默認)
<Directory "/usr/local/httpd/htdocs">Require all granted
</Directory>
只允許特定 IP 訪問
<Directory "/usr/local/httpd/htdocs/admin"># 只允許這個 IP 訪問管理目錄Require ip 192.168.1.100
</Directory>
禁止特定網段訪問
<Directory "/usr/local/httpd/htdocs/public"><RequireAll>Require all granted# 禁止內網用戶訪問Require not ip 192.168.0.0/24 192.168.1.0/24</RequireAll>
</Directory>

2.2 基于用戶認證的訪問控制

對于敏感目錄,IP 限制還不夠,需要用戶名密碼驗證。

第一步:創建用戶認證文件
# 創建第一個用戶(-c 參數表示創建新文件)
/usr/local/httpd/bin/htpasswd -c /usr/local/httpd/conf/.htpasswd admin# 添加更多用戶(不要 -c 參數)
/usr/local/httpd/bin/htpasswd /usr/local/httpd/conf/.htpasswd user1
第二步:配置目錄認證
<Directory "/usr/local/httpd/htdocs/secure"># 認證提示信息AuthName "Restricted Area - Please Login"# 認證類型AuthType Basic# 用戶文件路徑AuthUserFile /usr/local/httpd/conf/.htpasswd# 要求驗證用戶Require valid-user# 或者只允許特定用戶:Require user admin
</Directory>

重啟服務生效:

systemctl restart httpd

2.3 訪問控制配置規則說明

Require 指令的邏輯關系:

  • 多個不帶 “not” 的 Require:OR 關系(滿足任一條件即可訪問)
  • 同時存在帶 “not” 和不帶 “not” 的 Require:AND 關系(必須同時滿足所有條件)

常用 Require 指令:

Require all granted          # 允許所有主機訪問
Require all denied           # 拒絕所有主機訪問
Require local               # 僅允許本地主機訪問
Require host example.com    # 允許指定域名訪問
Require not host spam.com   # 拒絕指定域名訪問
Require ip 192.168.1.0/24   # 允許指定網段訪問
Require not ip 10.0.0.0/8   # 拒絕指定網段訪問

📊 三、Apache 日志分割 - 海量日志管理

隨著網站訪問量增長,日志文件會變得巨大。一個幾 GB 的日志文件不僅占用磁盤空間,打開分析也非常耗時。

3.1 為什么需要日志分割?

問題:

  • 📈 單個日志文件過大,占用大量磁盤空間
  • ? 打開大文件分析耗時很長
  • 🗑? 刪除整個日志文件會丟失寶貴的歷史數據
  • 🔍 難以按時間段分析訪問情況

解決方案:

  • 按日期自動分割日志文件
  • 便于按時間段進行分析
  • 方便日志歸檔和清理

3.2 方法一:使用 Apache 自帶的 rotatelogs

# 創建日志目錄
mkdir /var/log/httpd/# 編輯主配置文件
vim /usr/local/httpd/conf/httpd.conf

配置日志分割:

# 錯誤日志按天分割
ErrorLog "|/usr/local/bin/rotatelogs -l /var/log/httpd/error_%Y%m%d.log 86400"# 訪問日志按天分割  
CustomLog "|/usr/local/bin/rotatelogs -l /var/log/httpd/access_%Y%m%d.log 86400" combined

參數說明:

  • -l:使用本地時間(而非 GMT 時間)
  • %Y%m%d:年月日格式(如:20241225)
  • 86400:86400秒 = 24小時,即每天分割一次

重啟服務:

systemctl restart httpd# 查看分割后的日志文件
ll /var/log/httpd/
# 輸出示例:
# -rw-r--r-- 1 root root 150 1月 11 20:36 access_20241225.log
# -rw-r--r-- 1 root root 588 1月 11 20:35 error_20241225.log

3.3 方法二:使用第三方工具 cronolog

cronolog 是一個更靈活的日志分割工具,支持更多的時間格式。

安裝 cronolog:

# 下載安裝 cronolog
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure && make && make install

配置 cronolog 分割:

# 編輯 httpd.conf
vim /usr/local/httpd/conf/httpd.conf# 配置錯誤日志和訪問日志
ErrorLog "|/usr/local/sbin/cronolog /var/log/httpd/www.example.com-error_%Y%m%d.log"
CustomLog "|/usr/local/sbin/cronolog /var/log/httpd/www.example.com-access_%Y%m%d.log" combined

重啟服務并驗證:

systemctl restart httpd# 查看分割后的日志文件
ll /var/log/httpd/ | grep "www.example.com"
# 輸出示例:
# -rw-r--r-- 1 root root 150 1月 11 20:45 www.example.com-access_20241225.log
# -rw-r--r-- 1 root root 588 1月 11 20:45 www.example.com-error_20241225.log

3.4 日志分割最佳實踐

分割策略建議:

  • 小型網站:按天分割
  • 中型網站:按天分割,保留 30-90 天
  • 大型網站:按小時分割,配合日志壓縮

日志清理腳本示例:

#!/bin/bash
# 清理 30 天前的日志文件
find /var/log/httpd/ -name "*.log" -mtime +30 -delete# 壓縮 7 天前的日志文件
find /var/log/httpd/ -name "*.log" -mtime +7 -exec gzip {} \;

📈 四、AWStats 日志分析 - 數據驅動運營

光有日志還不夠,我們需要分析這些數據來了解網站運營情況。AWStats 是一個強大的開源日志分析工具。

4.1 AWStats 簡介

AWStats 特點:

  • 🌐 支持多種服務器日志格式(Apache、IIS、Nginx等)
  • 📊 提供豐富的統計圖表和報告
  • 🔄 支持實時和歷史數據分析
  • 🌍 多語言支持
  • 🆓 完全免費開源

能夠分析的數據:

  • 訪問量統計(PV、UV、IP)
  • 訪問時間分布
  • 用戶來源分析
  • 瀏覽器和操作系統統計
  • 搜索關鍵詞分析
  • 頁面訪問排行

4.2 安裝 AWStats

# 下載并解壓 AWStats
tar zxf awstats-7.7.tar.gz
mv awstats-7.7 /usr/local/awstats# 設置權限
chmod +x /usr/local/awstats/tools/*

4.3 配置 AWStats

第一步:運行配置腳本
cd /usr/local/awstats/tools/
./awstats_configure.pl
第二步:交互式配置過程

1. 指定 httpd 配置文件路徑:

-----> Check for web server install
Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Config file path ('none' to skip web server setup):
> /usr/local/httpd/conf/httpd.conf

2. 創建站點配置:

-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Your web site, virtual server or profile name:
> www.example.com-----> Define config file path
Directory path to store config file(s) (Enter for default):
> [直接回車使用默認路徑 /etc/awstats]
第三步:修改 Apache 配置支持 CGI
# 編輯 httpd.conf
vim /usr/local/httpd/conf/httpd.conf# 加載 CGI 模塊
<IfModule !mmp_prefork_module>
LoadModule cgid_module modules/mod_cgid.so
</IfModule>
<IfModule mmp_prefork_module>
LoadModule cgi_module modules/mod_cgi.so
</IfModule># AWStats 目錄權限配置
<Directory "/usr/local/awstats/wwwroot">Options NoneAllowOverride None# 注釋掉舊的權限配置# Order allow,deny# Allow from all# 添加新的權限配置Require all granted
</Directory>

4.4 配置站點統計

編輯站點配置文件:
vim /etc/awstats/awstats.www.example.com.conf

關鍵配置項:

# 指定要分析的日志文件路徑
LogFile="/usr/local/httpd/logs/access_log"# 指定統計數據存儲目錄
DirData="/var/lib/awstats"# 站點域名
SiteDomain="www.example.com"# 日志格式(通常使用 combined 格式)
LogFormat=1# 是否解析主機名(建議關閉以提高性能)
DNSLookup=0# 數據更新頻率設置
AllowToUpdateStatsFromBrowser=0

創建數據目錄:

mkdir -p /var/lib/awstats
chown apache:apache /var/lib/awstats

4.5 設置自動分析任務

手動執行分析:
cd /usr/local/awstats/tools/
chmod +x awstats_updateall.pl
./awstats_updateall.pl now

輸出示例:

Running '"/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -update -config=www.example.com' 
Create/Update database for config "/etc/awstats/awstats.www.example.com.conf"
From data in log file "/usr/local/httpd/logs/access_log"...
Phase 1 : First bypass old records, searching new record...
Parsed lines in file: 1250
Found 1250 new qualified records.
設置定時任務:
# 編輯定時任務
crontab -e# 添加以下內容(每5分鐘分析一次)
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now >/dev/null 2>&1# 或者每小時分析一次(推薦)
0 * * * * /usr/local/awstats/tools/awstats_updateall.pl now >/dev/null 2>&1

4.6 訪問分析報告

訪問地址:
http://your-server-ip/awstats/awstats.pl?config=www.example.com
創建便捷訪問頁面:
# 創建自動跳轉頁面
vim /usr/local/httpd/htdocs/stats.html
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>網站統計 - 正在跳轉...</title><meta http-equiv="refresh" content="0; url=/awstats/awstats.pl?config=www.example.com">
</head>
<body><div style="text-align: center; margin-top: 100px;"><h2>正在跳轉到網站統計頁面...</h2><p>如果頁面沒有自動跳轉,請點擊 <a href="/awstats/awstats.pl?config=www.example.com">這里</a></p></div>
</body>
</html>

4.7 AWStats 報告解讀

主要統計指標:

1. 訪問量統計:

  • Unique visitors:獨立訪客數(UV)
  • Number of visits:訪問次數
  • Pages:頁面瀏覽量(PV)
  • Hits:點擊數(包括圖片、CSS等所有文件)
  • Bandwidth:帶寬使用量

2. 時間分析:

  • 按月統計:了解網站流量趨勢
  • 按天統計:發現訪問規律
  • 按小時統計:找出訪問高峰時段

3. 訪客分析:

  • 操作系統分布:了解用戶設備情況
  • 瀏覽器分布:優化網站兼容性
  • 屏幕分辨率:優化頁面布局

4. 來源分析:

  • 搜索引擎:SEO 效果評估
  • 外部鏈接:推廣渠道效果
  • 搜索關鍵詞:內容優化方向

4.8 AWStats 優化技巧

性能優化:
# 在配置文件中添加以下設置
# 關閉 DNS 解析(提高處理速度)
DNSLookup=0# 排除不需要統計的文件類型
NotPageList="css js class gif jpg jpeg png bmp ico rss xml swf"# 排除搜索引擎爬蟲
SkipRobots=1# 設置數據保留時間(月數)
KeepBackupOfHistoricFiles=12
安全設置:
# 限制 AWStats 訪問權限
<Directory "/usr/local/awstats/wwwroot">Options NoneAllowOverride None# 只允許管理員 IP 訪問Require ip 192.168.1.100# 或者設置密碼保護AuthType BasicAuthName "AWStats Admin"AuthUserFile /usr/local/httpd/conf/.awstats_passwdRequire valid-user
</Directory>

🔧 五、故障排除與常見問題

5.1 連接保持相關問題

問題:KeepAlive 開啟后服務器內存占用過高

# 解決方案:調整相關參數
KeepAliveTimeout 5          # 減少超時時間
MaxKeepAliveRequests 50     # 減少最大請求數
ServerLimit 16              # 限制服務器進程數
MaxRequestWorkers 400       # 限制最大工作進程

問題:某些客戶端不支持 KeepAlive

# 解決方案:針對特定瀏覽器關閉 KeepAlive
BrowserMatch "MSIE [2-5]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

5.2 訪問控制相關問題

問題:配置訪問控制后出現 403 Forbidden

# 檢查目錄權限
ls -la /usr/local/httpd/htdocs/# 檢查 SELinux 狀態
getenforce
# 如果是 Enforcing,臨時關閉測試
setenforce 0# 檢查配置文件語法
/usr/local/httpd/bin/httpd -t

問題:htpasswd 創建的用戶無法登錄

# 檢查密碼文件權限
chmod 644 /usr/local/httpd/conf/.htpasswd
chown apache:apache /usr/local/httpd/conf/.htpasswd# 檢查文件內容格式
cat /usr/local/httpd/conf/.htpasswd

5.3 日志分割相關問題

問題:rotatelogs 分割的日志文件權限錯誤

# 在 httpd.conf 中設置日志文件所有者
User apache
Group apache# 或者使用 logrotate 替代方案
vim /etc/logrotate.d/httpd
/var/log/httpd/*.log {dailymissingokrotate 52compressdelaycompressnotifemptycreate 644 apache apachepostrotate/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || trueendscript
}

5.4 AWStats 相關問題

問題:AWStats 頁面顯示 Internal Server Error

# 檢查 CGI 模塊是否加載
/usr/local/httpd/bin/httpd -M | grep cgi# 檢查腳本權限
chmod +x /usr/local/awstats/wwwroot/cgi-bin/awstats.pl# 查看錯誤日志
tail -f /usr/local/httpd/logs/error_log

問題:AWStats 無法解析日志格式

# 在配置文件中指定正確的日志格式
LogFormat=1    # Combined 格式
# 或者
LogFormat="%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""

問題:AWStats 統計數據不準確

# 清除舊的統計數據重新分析
rm -rf /var/lib/awstats/*
/usr/local/awstats/tools/awstats_updateall.pl now# 檢查日志文件是否正常輪轉
ls -la /var/log/httpd/

📋 六、配置檢查清單

6.1 連接保持配置檢查

  • KeepAlive 參數已根據網站并發量合理設置
  • KeepAliveTimeout 設置在 5-15 秒之間
  • MaxKeepAliveRequests 根據頁面資源數量設置
  • 服務器內存使用情況正常
  • 網站響應速度有明顯提升

6.2 訪問控制配置檢查

  • IP 訪問控制規則配置正確
  • 用戶認證文件權限設置正確(644)
  • 敏感目錄已設置訪問保護
  • 訪問控制規則測試通過
  • 錯誤頁面顯示友好信息

6.3 日志管理配置檢查

  • 日志分割功能正常工作
  • 日志文件按預期時間間隔分割
  • 日志目錄權限設置正確
  • 舊日志文件清理策略已設置
  • 日志文件大小在可控范圍內

6.4 AWStats 配置檢查

  • AWStats 安裝配置正確
  • 站點配置文件參數設置合理
  • 定時分析任務正常運行
  • 統計頁面可以正常訪問
  • 統計數據準確反映網站訪問情況

🎯 總結

通過這篇文章,我們完整地走了一遍 Apache 高級配置的核心功能:

🔑 關鍵收獲

  1. 🔗 連接保持優化

    • 通過合理配置 KeepAlive 參數,能顯著提升網站性能
    • 高并發場景下能提升 50% 以上的響應速度
    • 需要根據實際業務場景調整參數
  2. 🛡? 多層訪問控制

    • IP 地址限制提供基礎安全防護
    • 用戶認證為敏感資源提供額外保護
    • 靈活的 Require 指令支持復雜的訪問策略
  3. 📊 智能日志管理

    • 自動日志分割避免單文件過大問題
    • rotatelogs 和 cronolog 兩種方案各有優勢
    • 合理的日志保留策略平衡存儲和分析需求
  4. 📈 數據驅動決策

    • AWStats 將枯燥的日志轉化為直觀的訪問報告
    • 實時了解網站訪問情況和用戶行為
    • 為網站優化和運營決策提供數據支持

🚀 實施建議

立即行動:

  1. 評估當前網站并發情況,配置合適的 KeepAlive 參數
  2. 為管理后臺等敏感目錄設置訪問控制
  3. 實施日志分割,避免日志文件過大

持續優化:

  1. 定期分析 AWStats 報告,了解網站訪問趨勢
  2. 根據訪問模式調整服務器配置參數
  3. 建立日志監控告警機制

安全加固:

  1. 定期更新訪問控制策略
  2. 監控異常訪問行為
  3. 建立安全事件響應流程

💡 下一步學習方向

  • 性能調優:學習 Apache MPM 模塊配置
  • 負載均衡:了解 mod_proxy 和反向代理配置
  • SSL/TLS:掌握 HTTPS 配置和證書管理
  • 緩存優化:學習 mod_cache 和靜態資源優化
  • 監控告警:集成 Prometheus、Grafana 等監控系統

有問題歡迎隨時交流討論!

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

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

相關文章

【Stable Diffusion 1.5 】在 Unet 中每個 Cross Attention 塊中的張量變化過程

系列文章目錄 文章目錄 系列文章目錄前言特征圖和注意力圖的尺寸差異原因在Break-a-Scene中的具體實現總結 前言 特征圖 (Latent) 尺寸和注意力圖(attention map)尺寸在擴散模型中有差異&#xff0c;是由于模型架構和注意力機制的特性決定的。 特征圖和注意力圖的尺寸差異原…

【監控】Prometheus+Grafana 構建可視化監控

在云原生和微服務架構盛行的今天&#xff0c;監控系統已成為保障業務穩定性的核心基礎設施。作為監控領域的標桿工具&#xff0c;Prometheus和Grafana憑借其高效的數據采集、靈活的可視化能力&#xff0c;成為運維和開發團隊的“標配”。 一、Prometheus Prometheus誕生于2012…

替代 WPS 的新思路?快速將 Word 轉為圖片 PDF

在這個數字化辦公日益普及的時代&#xff0c;越來越多的人開始關注文檔處理工具的功能與體驗。當我們習慣了某些便捷操作時&#xff0c;卻發現一些常用功能正逐漸變為付費項目——比如 WPS 中的一項實用功能也開始收費了。 這款工具最特別的地方在于&#xff0c;可以直接把 W…

CodeTop之數組中的第K個最大的元素

題目鏈接 215. 數組中的第K個最大元素 - 力扣&#xff08;LeetCode&#xff09; 題目解析 算法原理 解法一: 直接理由java內部的排序函數,Arrays.sort()進行排序, 然后我們直接返回第k個最大的元素 nums[nums.length-k] 解法二: 使用堆 我們先把所有元素丟到大根堆里面…

AI任務相關解決方案1-基于NLP的3種模型實現實體識別,以及對比分析(包括基于規則的方法、CRF模型和BERT微調模型)

大家好,我是微學AI,今天給大家介紹一下AI任務相關解決方案1-基于NLP的3種模型實現實體識別,以及對比分析。本文將深入探討三種不同的命名實體識別(NER)方法,包括基于規則的方法、CRF模型和BERT微調模型,用于識別文本中的地名(LOC)、機構名稱(ORG)和人名(PER)實體。通過系統…

IP動態偽裝開關

IP動態偽裝開關 在OpenWrt系統中&#xff0c;IP動態偽裝&#xff08;IP Masquerading&#xff09;是一種網絡地址轉換&#xff08;NAT&#xff09;技術&#xff0c;用于在私有網絡和公共網絡之間轉換IP地址。它通常用于允許多個設備共享單個公共IP地址訪問互聯網。以下是關于O…

【MySQL】第10節|MySQL全局優化與Mysql 8.0新增特性詳解

全局優化 mysql server參數 1. max_connections&#xff08;最大連接數&#xff09; 含義&#xff1a;MySQL 服務允許的最大并發連接數&#xff08;包括正在使用和空閑的連接&#xff09;。超過此限制時&#xff0c;新連接會被拒絕&#xff08;報錯 Too many connections&am…

VS Code 插件 Git History Diff

插件名 進命令行&#xff0c;進Git自己那個分支 查看分支 提交到Git的后想再把另一個也提交到那個分支&#xff0c;用這個命令

Shell腳本中的常用命令

一.設置主機名稱 文件設置 文件開機時已讀取所以要重新進入 命令更改&#xff08;即使生效&#xff09; 二.網絡管理命令 1.查看網卡命令 設置網卡 1&#xff09;DHCP工作模式 2)靜態IP 3&#xff09;修改網卡信息 三.簡單處理字符 1.打印連續數字 連續打印3個數字 指定打…

C++ 中 std::wstring::c_str() 的潛在風險與安全使用指南

一、問題背景 在開發過程中&#xff0c;我們經常會遇到不同接口之間的數據傳遞問題。例如&#xff0c;當調用某個接口時&#xff0c;需要傳入一個字符串指針作為數據接收的緩沖區&#xff0c;但外圍接口使用的是 std::wstring 類型。此時&#xff0c;如果直接將 std::wstring:…

‘js@https://registry.npmmirror.com/JS/-/JS-0.1.0.tgz‘ is not in this registry

解決方法&#xff1a; 1. npm cache clean --force 2.臨時切換到官方源 npm config set registry https://registry.npmjs.org/ npm install js0.1.0 npm config set registry https://registry.npmmirror.com/ # 切換回鏡像源

ubuntu24 安裝MongoDB-6.0.24 數據庫操作步驟和配置參數說明

目錄 1 下載MongoDB軟件 2 操作系統信息 3 MongoDB 軟件安裝步驟 4 編寫mongodb的配置文件 5 生成keyfile 6 使用mongo用戶啟動mongodb服務 7 設置開機啟動(mongo用戶) 8 安裝MongoDB shell&#xff0c;因為MongoDB-6.0.24 已經移除mongo命令 1 下載MongoDB軟件 https:…

單片機——keil5

文章目錄 安裝教程使用介紹案例展示 接下來進行keil5軟件的相關學習使用 安裝教程 參考視頻鏈接bilibili 51單片機 大約在8分鐘位置處 使用介紹 首先新建project選擇對應的芯片型號&#xff08;例如&#xff1a;STC89C52 —— 由于STC系列是國產&#xff0c;keil5軟件不支持…

計算機網絡相關發展以及常見性能指標

目錄 一、因特網概述 1.1 基本概念 1.2 因特網發展的三個階段 1.3 英特網服務提供者ISP 1.4 英特網的標準化工作 1.5 因特網的組成 1.6 簡單總結 二、3種交換方式 2.1 電路交換&#xff08;Circuit Switching&#xff09; 2.2 分組交換&#xff08;Packet Switching&…

Java 面試實錄:從Spring到微服務的技術探討

在一個明亮的會議室里&#xff0c;嚴肅的面試官與搞笑的程序員謝飛機正進行一場關于Java技術棧的面試。場景設定在一家知名互聯網大廠&#xff0c;他們的對話充滿了技術性與娛樂性。 第一輪&#xff1a;Spring框架與數據庫 面試官&#xff1a;“謝飛機&#xff0c;能解釋一下…

OpenCV CUDA模塊圖像過濾------創建一個 Scharr 濾波器函數createScharrFilter()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 該函數用于創建一個 Scharr 濾波器&#xff08;基于 CUDA 加速&#xff09;&#xff0c;用于圖像的一階導數計算。它常用于邊緣檢測任務中&#…

yolov8分割任務的推理和后處理解析

文章目錄 一、前言二、分割模型的前向推理1. 檢測結果&#xff1a;來自Detect類的輸出2. 分割結果&#xff08;最終&#xff09;3. 與Detect的主要區別4. 工作流程 三、后處理1. 非極大值抑制&#xff08;NMS&#xff09;過濾檢測框2. 分割原型&#xff08;Mask Prototypes&…

4.1.1 Spark SQL概述

Spark SQL是Apache Spark的一個模塊&#xff0c;專門用于處理結構化數據。它引入了DataFrame這一編程抽象&#xff0c;DataFrame是帶有Schema信息的分布式數據集合&#xff0c;類似于關系型數據庫中的表。用戶可以通過SQL、DataFrames API和Datasets API三種方式操作結構化數據…

華為OD機試真題——書籍疊放(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳實現

2025 A卷 200分 題型 本專欄內全部題目均提供Java、python、JavaScript、C、C++、GO六種語言的最佳實現方式; 并且每種語言均涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、3個測試用例以及綜合分析; 本文收錄于專欄:《2025華為OD真題目錄+全流程解析+備考攻略+經驗分…

尚硅谷redis7 63-69 redis哨兵監控之理論簡介

63 redis哨兵監控之理論簡介 什么是哨兵 master掛了如何辦?從機原地待命。此時數據只能讀取不能更新。因此需要&#xff1a; 吹哨人巡查監控后臺master主機是否故障,如果故障了根據投票數自動將某一個從庫轉換為新主庫, 哨兵的作用 1、監控redis運行狀態,包括master和slave…