Nginx 實戰系列(一)—— Web 核心概念、HTTP/HTTPS協議 與 Nginx 安裝

文章目錄

  • 前言
  • 一、Web 概念
    • 1.1 Web 的基本概念
      • 1.1.1 Web的特點
    • 1.2 B/S 架構模型
    • 1.3 Web 請求與響應過程(重點)
    • 1.4 靜態資源與動態資源
    • 1.5 Web 的發展階段
    • 1.6 案例:搭建最小 Web 服務
      • 1.6.1 目標
      • 1.6.2 搭建步驟
    • 1.7 小結
  • 二、HTTP 與 HTTPS 協議
    • 2.1 HTTP與HTTPS區別
    • 2.2 HTTPS 握手流程
    • 2.3 HTTP狀態碼(重點)
      • 2.3.1 HTTP 狀態碼概覽
      • 2.3.2 常用狀態碼詳解
        • 2.3.2.1 2xx 成功
        • 2.3.2.2 3xx 重定向
        • 2.3.2.3 4xx 客戶端錯誤(重點)
        • 2.3.2.4 5xx 服務器錯誤(重點)
      • 2.3.3 生活中的 HTTP 狀態碼類比
  • 三、Nginx 概念
    • 3.1 Nginx 介紹
      • 3.1.1 Nginx 官網
    • 3.2 Nginx與Apache的差異
    • 3.3 Nginx 進程結構
  • 四、Nginx安裝
    • 4.1 關閉防火墻,將安裝nginx所需軟件包傳到/opt目錄下
    • 4.2 安裝依賴包
    • 4.3 創建運行用戶、組
    • 4.4 編譯安裝Nginx
    • 4.5 檢查、啟動、重啟、停止 nginx服務
    • 4.6 添加 Nginx 系統服務
      • 4.6.1 方法一
      • 4.6.2 方法二
  • 總結

前言

在互聯網技術體系中,Web 作為連接用戶與信息的核心載體,其底層邏輯與關鍵技術是每一位技術學習者、運維工程師及開發人員必須掌握的基礎。從用戶在瀏覽器輸入 URL 到頁面最終呈現,背后涉及 Web 架構模型、請求響應流程、協議交互等一系列復雜機制;而 Nginx 作為當前主流的高性能 Web 服務器,更是支撐海量并發訪問、保障服務穩定運行的關鍵工具。

為幫助讀者系統性梳理 Web 技術體系,逐步掌握從理論到實踐的完整技能鏈,特推出《Nginx 實戰系列》文章。本系列將以 “概念解析 - 原理深挖 - 實戰操作” 為核心邏輯,從基礎到進階,層層遞進地講解 Web 技術棧與 Nginx 的核心能力。

作為系列的第一篇,本文將聚焦 Web 的核心概念、HTTP/HTTPS 協議的關鍵機制,以及 Nginx 的安裝配置,為后續深入學習反向代理、負載均衡、性能優化等內容打下堅實基礎,無論是零基礎入門還是技術復盤,都能從中獲取清晰的知識框架與可落地的操作指南。


一、Web 概念

1.1 Web 的基本概念

Web(World Wide Web,萬維網)是運行在互聯網之上的一個超文本信息系統,它依賴于 HTTP/HTTPS 協議 實現瀏覽器與服務器之間的交互。

DNS解析:
生效順序:1、host文件 2、網卡配置 3、/etc/resolv.conf

1.1.1 Web的特點

  • 分布式:資源分布在世界各地的服務器上。
  • 跨平臺:只要有瀏覽器,就能訪問資源。
  • 無狀態:每次 HTTP 請求都是獨立的,服務器不會記住客戶端狀態(除非使用 Cookie/Session)。

1.2 B/S 架構模型

Web 采用 B/S 架構(Browser/Server)

  • Browser(瀏覽器):用戶的入口,發送請求、渲染頁面。
  • Server(服務器):接收請求,返回所需資源或動態內容。

圖 1-1:B/S 架構示意圖

用戶瀏覽器 ──> Web服務器(Nginx/Apache)│└─> 應用服務器(PHP/Python/Java)│└─> 數據庫(MySQL/Redis)

1.3 Web 請求與響應過程(重點)

一次完整的 Web 訪問過程包括以下步驟:

  1. 輸入 URL:用戶在瀏覽器輸入 http://www.example.com
  2. DNS 解析:瀏覽器將域名解析為 IP 地址。
  3. 建立連接:瀏覽器與 Web 服務器建立 TCP 連接(3 次握手)。
  4. 發送請求:瀏覽器發起 HTTP 請求(GET/POST)。
  5. 服務器處理
    • Web 服務器處理靜態資源請求
    • 動態請求轉發到應用服務器(如 Tomcat、Django)
    • 應用服務器可能再查詢數據庫
  6. 返回響應:Web 服務器將結果打包成 HTTP 響應報文返回瀏覽器。
  7. 渲染頁面:瀏覽器解析 HTML、加載 CSS/JS、渲染最終頁面。

圖 1-2:Web 請求-響應流程

瀏覽器 ----> Web服務器 ----> 應用服務器 ----> 數據庫<----       <----             <---- 

1.4 靜態資源與動態資源

  • 靜態資源:不需要服務器額外處理,直接返回即可。

    • HTML、CSS、圖片、視頻、JS 文件
    • 優點:速度快,壓力小
  • 動態資源:需要服務器端代碼計算生成,再返回客戶端。

    • PHP 腳本、Python Flask/Django、Java Servlet、Ruby

    • 優點:個性化內容,支持交互

圖 1-3 靜態與動態資源對比圖

靜態資源:用戶請求 → Web服務器直接返回
動態資源:用戶請求 → Web服務器 → 應用服務器運行代碼 → 返回結果

1.5 Web 的發展階段

  • Web 1.0(只讀):以靜態網頁為主,用戶僅能被動瀏覽內容
  • Web 2.0(交互式):支持用戶生成內容,AJAX等前端技術廣泛應用
  • Web 3.0(智能化):引入語義網、區塊鏈技術,推動去中心化網絡發展

1.6 案例:搭建最小 Web 服務

注意后面安裝nginx之后再創建一個靜態頁面

1.6.1 目標

體驗一次最簡單的 Web 請求與響應過程 Wireshark 并且抓包。
三次握手與四次揮手
在這里插入圖片描述
在這里插入圖片描述

1.6.2 搭建步驟

創建一個靜態頁面:

<!-- index.html -->
<html>
<head><title>My First Web</title></head>
<body>
<h1>Hello Web!</h1>
<p>This is my first web page.</p>
</body>
</html>HTML 文檔結構
<!-- index.html -->
<html(標簽)> 
<head(頭部)><title>My First Web</title></head>    
<body(主體)>
<h1(一級標題)>Hello Web!</h1>
<p(段落標簽)>This is my first web page.</p>
</body>
</html>

1.7 小結

  • Web 是基于 B/S 架構 的信息交互方式。
  • 核心是 請求-響應模型,通過 HTTP/HTTPS 協議傳輸數據。
  • Web 可提供 靜態資源動態資源

二、HTTP 與 HTTPS 協議

2.1 HTTP與HTTPS區別

  • HTTP:明文傳輸,不安全。
  • HTTPS:在 HTTP 上加入 SSL/TLS 加密,防止中間人攻擊。

2.2 HTTPS 握手流程

TLS 握手過程:客戶端發起請求 → 服務端返回證書 → 雙方協商加密算法 → 建立安全通道。
客戶端 Hello → 服務端 Hello + 證書 → 客戶端驗證 → 加密通信

TLS 握手過程(建立安全通道)

流程

  1. 客戶端 Hello

    • 瀏覽器發起請求,告訴服務器自己支持哪些加密算法。
  2. 服務端 Hello + 證書

    • 網站返回 SSL 證書(證明身份),選擇一種加密算法。
  3. 客戶端驗證證書

    • 瀏覽器檢查證書是否可信(CA 頒發、沒過期、域名匹配)。
  4. 協商密鑰

    • 雙方生成一個臨時密鑰,用于對稱加密后續通信。
  5. 加密通信開始

    • 后續 HTTP 數據都通過加密通道傳輸。

2.3 HTTP狀態碼(重點)

2.3.1 HTTP 狀態碼概覽

HTTP 狀態碼都是 三位數字,按首位分為五類:

類型范圍含義大白話理解
1xx100–199信息性狀態碼“我收到了請求,還在處理中”
2xx200–299成功“請求成功,服務器給你東西了”
3xx300–399重定向“你要的東西搬家了,去新地址找”
4xx400–499客戶端錯誤“你請求有問題(URL錯、權限不夠)”
5xx500–599服務器錯誤“服務器出問題,暫時拿不到東西”

2.3.2 常用狀態碼詳解

2.3.2.1 2xx 成功
狀態碼含義類比
200 OK請求成功“東西拿到了”
201 Created創建成功“你提交的表單/資源已創建”
204 No Content成功,但沒有內容“操作成功,但沒有額外東西返回”
2.3.2.2 3xx 重定向
狀態碼含義類比
301 Moved Permanently永久搬家“這個頁面永久換地址了”
302 Found臨時搬家“暫時換地址,下一次還用舊地址”
304 Not Modified內容未改“東西沒變,你可以用緩存”
2.3.2.3 4xx 客戶端錯誤(重點)
狀態碼含義類比
400 Bad Request請求格式錯“你寫的請求我看不懂”
401 Unauthorized未認證“先登錄,再訪問”
403 Forbidden禁止訪問“你沒權限”
404 Not Found找不到頁面“東西搬走或根本沒這東西”
2.3.2.4 5xx 服務器錯誤(重點)
狀態碼含義類比
500 Internal Server Error服務器內部出錯“服務器崩了”
502 Bad Gateway網關錯誤“我去找別的服務器,結果那邊掛了”
503 Service Unavailable服務不可用“服務器忙不過來了,稍后再試”
504 Gateway Timeout網關超時“找別的服務器太慢,超時了”

2.3.3 生活中的 HTTP 狀態碼類比

場景狀態碼對應情況
打開網頁正常200成功拿到網頁
點鏈接頁面搬家301/302瀏覽器自動跳到新地址
輸入錯網址404“沒找到這個頁面”
登錄需要權限401“先登錄才能看”
網站掛了500“服務器出問題了”

HTTP 狀態碼就是服務器對你請求的“回話信息”,告訴你請求成功沒、東西搬沒搬、你有沒有權限、或者服務器出問題了。


三、Nginx 概念

3.1 Nginx 介紹

Nginx (“engine x”) 是一個高性能的 HTTP 和反向代理服務器。Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,第一個公開版本 0.1.0 發布于 2004 年 10 月 4 日。其將源代碼以類 BSD 許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。2011 年 6 月 1 日,Nginx 1.0.4 發布。企業中一般使用1.20版本。

Nginx 是一款輕量級的 Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,單臺物理服務器可支持30 000~50 000個并發請求。并在一個 BSD-like 協議下發行。由俄羅斯的程序設計師 Igor Sysoev 所開發,供俄國大型的入口網站及搜索引擎 Rambler(俄文:Рамблер)使用。其特點是占有內存少,并發能力強,事實上 Nginx 的并發能力確實在同類型的網頁服務器中表現較好,中國大陸使用 Nginx 網站用戶有:百度 BWS、新浪、網易、騰訊等。

Nginx 是一個 高性能 Web 服務器,它可以做很多事情:

  • 靜態資源服務:可以直接把網頁、圖片、視頻這些文件發給用戶。
  • 反向代理:用戶訪問你的服務器,Nginx 可以幫你把請求轉發到后端真正處理請求的服務器。
  • 負載均衡:Nginx 能夠智能地將訪問流量分配到多臺后端服務器,確保每臺服務器都能均衡處理請求,避免過載情況發生。
  • 高并發處理:用事件驅動的方式處理請求,能同時處理成千上萬的用戶請求,而不會占用太多資源。

優勢

  • 輕量級,占用內存小
  • 支持百萬級并發訪問
  • 穩定可靠,開源且社區活躍

3.1.1 Nginx 官網

RamBler:http://www.rambler.ru/ 
nginx: http://nginx.org/Mainline version 主線版本
Stable version 穩定版本
Legacy versions 老版本,遺產版本舊版本下載:http://mirrors.sohu.com/nginx/
Nginx 中文參考地址: http://www.nginx.cn/doc/

3.2 Nginx與Apache的差異

  • Nginx是一個基于事件的Web服務器,Apache是一個基于流程的服務器;
  • Nginx避免子進程的概念,Apache是基于子進程的;
  • Nginx在內存消耗和連接方面更好,Apache在內存消耗和連接方面一般;
  • Nginx的性能和可伸縮性不依賴于硬件,Apache依賴于CPU和內存等硬件;
  • Nginx支持熱部署,Apache不支持熱部署;
  • Nginx對于靜態文件處理具有更高效率,Apache相對一般;
  • Nginx在反向代理場景具有明顯優勢,Apache相對一般。

3.3 Nginx 進程結構

Web請求處理機制:

  • 多進程方式:服務器每接收到一個客戶端請求就有服務器的主進程生成一個子進程響應客戶端,直到用戶關閉連接,這樣的優勢是處理速度快,子進程之間相互獨立,但是如果訪問過大會導致服務器資源耗盡而無法提供請求。
  • 多線程方式:與多進程方式類似,但是每收到一個客戶端請求會有服務進程派生出一個線程來個客戶方進行交互,一個線程的開銷遠遠小于一個進程,因此多線程方式在很大程度減輕了web服務器對系統資源的要求,但是多線程也有自己的缺點,即當多個線程位于同一個進程內工作的時候,可以相互訪問同樣的內存地址空間,所以他們相互影響,一旦主進程掛掉則所有子線程都不能工作了,IIS服務器使用了多線程的方式,需要間隔一段時間就重啟一次才能穩定。

工作進程(worker process)的功能

所有 Worker 進程都是平等的
實際處理:網絡請求,由 Worker 進程處理
Worker進程數量:一般設置為核心數,充分利用CPU資源,同時避免進程數量過多,導致進程競爭CPU資源,增加上下文切換的損耗
接受處理客戶的請求
將請求依次送入各個功能模塊進行處理
I/O調用,獲取響應數據
與后端服務器通信,接收后端服務器的處理結果
緩存數據,訪問緩存索引,查詢和調用緩存數據
發送請求結果,響應客戶的請求
接收主程序指令,比如重啟、升級和退出等

四、Nginx安裝

4.1 關閉防火墻,將安裝nginx所需軟件包傳到/opt目錄下

cd /opt
wget https://nginx.org/download/nginx-1.20.2.tar.gz
systemctl stop firewalld
systemctl disable firewalld
setenforce 0

在這里插入圖片描述

4.2 安裝依賴包

nginx的配置及運行需要pcre、zlib等軟件包的支持,因此需要安裝這些軟件的開發包,以便提供相應的庫和頭文件。

yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel

4.3 創建運行用戶、組

Nginx 服務程序默認以 nobody 身份運行,建議為其創建專門的用戶賬號,以便更準確地控制其訪問權限

#-M:不創建用戶的主目錄
#-s /sbin/nologin:將用戶的登錄shell設置為/sbin/nologin,禁止交互式登錄
useradd -M -s /sbin/nologin nginx

在這里插入圖片描述

4.4 編譯安裝Nginx

cd /opt
tar zxvf nginx-1.20.2.tar.gz -C /opt/
cd nginx-1.20.2/
./configure \
--prefix=/usr/local/nginx \							#指定nginx的安裝路徑
--user=nginx \											#指定用戶名
--group=nginx \										#指定組名
--with-http_stub_status_module				#啟用 http_stub_status_module 模塊以支持狀態統計
--with-http_ssl_module							# 啟用 HTTPS 模塊   

執行以下代碼:

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_ssl_module

在這里插入圖片描述

make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/	#讓系統識別nginx的操作命令

在這里插入圖片描述
在這里插入圖片描述
企業中常用的模塊:

./configure
–prefix=/usr/local/nginx \ # 安裝目錄
–user=nginx \ # 運行用戶(后續會創建)
–group=nginx \ # 運行用戶組
–with-http_ssl_module \ # 啟用 HTTPS 模塊
–with-http_v2_module \ # 啟用 HTTP/2 協議(提升性能)
–with-http_gzip_static_module \ # 啟用靜態 gzip 壓縮
–with-http_stub_status_module \ # 啟用狀態監控模塊
–with-pcre \ # 啟用 PCRE 正則支持(rewrite 依賴)
–with-stream \ # 啟用 TCP 代理模塊(如反向代理數據庫)
–with-stream_ssl_module \ # 啟用 TCP 代理的 SSL 支持
–http-log-path=/var/log/nginx/access.log \ # 訪問日志路徑
–error-log-path=/var/log/nginx/error.log \ # 錯誤日志路徑
–pid-path=/var/run/nginx/nginx.pid \ # PID 文件路徑
–lock-path=/var/lock/nginx.lock # 鎖文件路徑
注意:
可根據需求增減模塊(如 --without-xxx 禁用不需要的模塊)
企業若需特殊模塊(如第三方緩存模塊),可通過 --add-module 引入

4.5 檢查、啟動、重啟、停止 nginx服務

#檢查配置文件是否配置正確
nginx -t							
#啟動
nginx

在這里插入圖片描述
在這里插入圖片描述

nginx拓展

#停止
cat /usr/local/nginx/logs/nginx.pid		#先查看nginx的PID號
kill -3 <PID號>
kill -s QUIT <PID號>
killall -3 nginx
killall -s QUIT nginx
#重載
kill -1 <PID號>
kill -s HUP <PID號>
killall -1 nginx
killall -s HUP nginx
#日志分割,重新打開日志文件
kill -USR1 <PID號>
#平滑升級
kill -USR2 <PID號>
信號編號信號名含義
0EXIT程序退出時收到該信息。
1HUP掛掉電話線或終端連接的掛起信號,這個信號也會造成某些進程在沒有終止的情況下重新初始化。
2INT表示結束進程,但并不是強制性的,常用的 “Ctrl+C” 組合鍵發出就是一個 kill -2 的信號。
3QUIT退出。
9KILL殺死進程,即強制結束進程。
11SEGV段錯誤。
15TERM正常結束進程,是 kill 命令的默認信號

4.6 添加 Nginx 系統服務

4.6.1 方法一

vim /etc/init.d/nginx
#!/bin/bash
#chkconfig: 35 99 20    // 這是固定格式,2345表示運行級別,之后為開機執行順序和關機執行順序
#description:Nginx Service Control Script    //這也是必須的 
COM="/usr/local/nginx/sbin/nginx" 
PID="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)$COM
;;stop)kill -s QUIT $(cat $PID)
;;restart)$0 stop$0 start
;;reload)kill -s HUP $(cat $PID)
;;*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1esac
exit 0

在這里插入圖片描述

chmod +x /etc/init.d/nginx
chkconfig --add nginx				 #添加為系統服務
systemctl stop nginx   
systemctl start nginx

在這里插入圖片描述
在這里插入圖片描述

4.6.2 方法二

vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[Unit]:服務的說明
Description:描述服務
After:依賴,當依賴的服務啟動之后再啟動自定義的服務[Service]服務運行參數的設置
Type=forking是后臺運行的形式,使用此啟動類型應同時指定
PIDFile以便systemd能夠跟蹤服務的主進程。
ExecStart為服務的具體運行命令
ExecReload為重啟命令
ExecStop為停止命令
PrivateTmp=True表示給服務分配獨立的臨時空間
注意:啟動、重啟、停止命令全部要求使用絕對路徑[Install]服務安裝的相關設置,可設置為多用戶
chmod 754 /lib/systemd/system/nginx.servicesystemctl start nginx.service
systemctl enable nginx.service

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述


總結

本文作為《Nginx 實戰系列》的開篇,圍繞 Web 技術體系的 “基礎層” 與 “工具層” 展開,完成了從理論到實踐的初步銜接。在 Web 概念部分,我們明確了 Web 作為超文本信息系統的本質,梳理了 B/S 架構的組成、一次完整 Web 請求 - 響應的 7 個關鍵步驟,并區分了靜態資源與動態資源的差異,同時回顧了 Web 從 1.0 到 3.0 的發展脈絡,幫助讀者建立對 Web 技術的整體認知。

HTTP/HTTPS 協議部分,重點對比了兩者的安全性差異,拆解了 TLS 握手的 5 個核心流程,并系統梳理了 HTTP 狀態碼的分類與常用場景 —— 尤其是 4xx 客戶端錯誤與 5xx 服務器錯誤的典型狀態碼,為后續問題排查提供了關鍵依據。

Nginx 實戰部分,我們從環境準備、依賴安裝、用戶創建,到編譯配置、服務啟停與系統服務注冊,完整呈現了 Nginx 1.20 版本的安裝流程,同時補充了 Nginx 的進程結構、核心功能(靜態資源服務、反向代理等)及與 Apache 的差異,讓讀者不僅能完成安裝操作,更能理解背后的設計邏輯。

后續系列文章將在此基礎上,進一步深入 Nginx 的核心配置(如反向代理、負載均衡)、性能優化、日志分析與故障排查等內容,持續完善 Web 技術與 Nginx 實戰的知識體系,助力讀者將理論轉化為實際應用能力。

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

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

相關文章

一種用geoserver發布復雜樣式矢量服務的方法

最近因為系統需要在國產系統中部署&#xff0c;遇見了國產系統不支持ArcGIS的尷尬局面&#xff0c;好在geoserver還是可以支持的&#xff0c;遂用geoserver解決服務問題。 在發布過程中&#xff0c;遇到比較難受的點就是矢量數據的樣式配圖&#xff0c;在我用QGIS配好導出sld后…

為什么神經網絡網絡算法比機器學習模型算法更加強大?

神經網絡&#xff08;尤其是深度神經網絡&#xff09;相比傳統機器學習模型&#xff08;如線性回歸、決策樹、支持向量機等&#xff09;的“強大”主要體現在其更強的表達能力、自適應特征學習能力以及對復雜模式的建模能力。但這種“強大”并非絕對&#xff0c;而是有特定條件…

中國移動浪潮云電腦CD1000-系統全分區備份包-可瑞芯微工具刷機-可救磚

中國移動浪潮云電腦CD1000-系統全分區備份包-可瑞芯微工具刷機-可救磚 開啟ADB教程&#xff1a; 可查看&#xff1a;浪潮CD1000-移動云電腦-RK3528芯片-232G-安卓9-開啟ADB ROOT破解教程 可輕松打開了wifi adb和USB調試。 往期詳細內容-文章&#xff1a;浪潮CD1000-移動云電腦…

C++兩個字符串的結合

這段代碼實現字符串拼接功能。用戶輸入兩個字符串a和b后&#xff0c;使用append()方法將b追加到a后面&#xff0c;然后輸出拼接后的結果。代碼簡潔但存在改進空間&#xff1a;1. 缺少輸入驗證 2. 直接修改原字符串a可能不符合某些場景需求 3. 可考慮更高效的拼接方式。適合基礎…

UE4 Rider調試時添加自定義命令行參數

1、打開 Rider 右上角&#xff0c;針對你的項目&#xff08;例如叫做“Mini”&#xff09;打開 Edit 2、輸入自定義的參數&#xff0c;如下圖的例子是輸入 -dx12 -norhithread &#xff0c;然后Apply并OK。3、開始調試&#xff08;蟲子按鈕&#xff09;

混合架構大型語言模型(Jamba)

Jamba是由AI21 Labs開發的混合架構大型語言模型&#xff08;LLM&#xff09;&#xff0c;結合了Transformer的語義理解能力和Mamba結構化狀態空間模型&#xff08;SSM&#xff09;的高效性&#xff0c;旨在解決長文本處理中的計算瓶頸。 一、技術特點 1.混合架構設計 Jamba采用…

2025 年高教社杯全國大學生數學建模競賽C 題 NIPT 的時點選擇與胎兒的異常判定詳解(一)

基于胎兒Y染色體濃度的孕周與BMI建模分析摘要本文利用某競賽提供的胎兒Y染色體濃度數據&#xff0c;建立了以孕周和孕婦BMI為自變量的多項式回歸模型&#xff0c;探討了其對Y染色體濃度的影響。通過數據清洗與篩選&#xff0c;共獲得1082條有效男胎樣本。結果顯示&#xff1a;Y…

PyTorch DDP 隨機卡死復盤:最后一個 batch 掛起,NCCL 等待不返回

PyTorch DDP 隨機卡死復盤&#xff1a;最后一個 batch 掛起&#xff0c;NCCL 等待不返回&#xff0c;三步修復 Sampler & drop_last很多人在接觸深度學習的過程往往都是從自己的筆記本開始的&#xff0c;但是從接觸工作后&#xff0c;更多的是通過分布式的訓練來模型。由于…

計算機專業考研備考建議

對于全國碩士研究生招生考試&#xff08;考研&#xff09;&#xff0c;考試科目主要由兩大部分組成&#xff1a;全國統一命題的公共課 和 由招生單位自主命題的專業課。具體的考試科目取決于你報考的專業和學校。下面我為你詳細拆解&#xff1a;一、考試科目構成&#xff08;絕…

關于嵌入式學習——單片機1

基礎整體概念以應用為中心:消費電子(手機、藍牙耳機、智能音響)、醫療電子(心率脈搏、呼吸機)、無人機(大疆D)、機器人(人形四足機器人) 計算機技術:計算機五大組成:運算器(數據運算)、控制器(指令控制)、存儲器(內存外存)、輸入設備(鼠標、鍵盤、攝像頭)、輸出設備(顯示器)軟件…

LightDock.server liunx 雙跑比較

LightDock: a new multi-scale approach to protein–protein docking The LightDock server is free and open to all users and there is no login requirement server 1示例 故去除約束 next step 結果有正有負合理 2.常見警告? Structure contains HETATM entries. P…

SQL面試題及詳細答案150道(61-80) --- 多表連接查詢篇

《前后端面試題》專欄集合了前后端各個知識模塊的面試題,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux… 。 前后端面試題-專欄總目錄 文章目錄 一、本文面試題目錄 61. 什么是內連接(INNE…

【實操】Noej4圖數據庫安裝和mysql表銜接實操

目錄 一、圖數據庫介紹 二、安裝Neo4j 2.1 安裝java環境 2.2 安裝 Neo4j&#xff08;社區版&#xff09; 2.3 修改配置 2.4 驗證測試 2.5 卸載 2.6 基本用法 2.7 windows連接服務器可視化 三、neo4j和mysql對比 3.1 場景對比 3.2 Mysql和neo4j的映射對比 3.3 mys…

【mysql】SQL查詢全解析:從基礎分組到高級自連接技巧

SQL查詢全解析&#xff1a;從基礎分組到高級自連接技巧詳解玩家首次登錄查詢的多種實現方式與優化技巧在數據庫查詢中&#xff0c;同一個需求往往有多種實現方式。本文將通過"查詢每個玩家第一次登錄的日期"這一常見需求&#xff0c;深入解析SQL查詢的多種實現方法&a…

MySQL常見報錯分析及解決方案總結(9)---出現interactive_timeout/wait_timeout

關于超時報錯&#xff0c;一共有五種超時參數&#xff0c;詳見&#xff1a;MySQL常見報錯分析及解決方案總結(7)---超時參數connect_timeout、interactive_timeout/wait_timeout、lock_wait_timeout、net等-CSDN博客 以下是當前報錯的排查方法和解決方案&#xff1a; MySQL 中…

第13章 Jenkins性能優化

13.1 性能優化概述 性能問題識別 常見性能瓶頸&#xff1a; Jenkins性能問題分類&#xff1a;1. 系統資源瓶頸- CPU使用率過高- 內存不足或泄漏- 磁盤I/O瓶頸- 網絡帶寬限制2. 應用層面問題- JVM配置不當- 垃圾回收頻繁- 線程池配置問題- 數據庫連接池不足3. 架構設計問題- 單點…

Python+DRVT 從外部調用 Revit:批量創建梁

今天讓我們繼續&#xff0c;看看如何批量創建常用的基礎元素&#xff1a;梁。 跳過軸線為直線段形的&#xff0c;先從圓弧形的開始&#xff1a; from typing import List, Tuple import math # drvt_pybind 支持多會話、多文檔&#xff0c;先從簡單的單會話、單文檔開始 # My…

水上樂園票務管理系統設計與開發(代碼+數據庫+LW)

摘 要 隨著旅游業的蓬勃發展&#xff0c;水上樂園作為夏日娛樂的重要組成部分&#xff0c;其票務管理效率和服務質量直接影響游客體驗。然而&#xff0c;傳統的票務管理模式往往面臨信息更新不及時、服務響應慢等問題。因此&#xff0c;本研究旨在通過設計并實現一個基于Spri…

【前端教程】JavaScript DOM 操作實戰案例詳解

案例1&#xff1a;操作div子節點并修改樣式與內容 功能說明 獲取div下的所有子節點&#xff0c;設置它們的背景顏色為紅色&#xff1b;如果是p標簽&#xff0c;將其內容設置為"我愛中國"。 實現代碼 <!DOCTYPE html> <html> <head><meta ch…

qiankun+vite+react配置微前端

微前端框架&#xff1a;qiankun。 主應用&#xff1a;react19vite7&#xff0c;子應用1&#xff1a;react19vite7&#xff0c;子應用2 &#xff1a;react19vite7 一、主應用 1. 安裝依賴 pnpm i qiankun 2. 注冊子應用 (1) 在src目錄下創建個文件夾&#xff0c;用來存儲關于微…