当前位置: 首页 > news >正文

nginx的基础使用

目录

一、概念

1.1 核心概念

1.2 核心作用

1.3 主要应用场景

二、核心架构与工作原理

三、基础操作与配置

3.1 目录结构

3.2 核心配置文件:nginx.conf

3.2.1 全局与事件块

3.2.2 HTTP 块配置

3.2.3 Server 块配置

3.2.4 注意事项

3.3 常用命令


一、概念

1.1 核心概念

Nginx 是一个高性能、高并发、低内存消耗的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。可以把Nginx想象成一个非常高效、多才多艺的“交通警察”和“内容分发员”。它位于客户端(如浏览器)和你的后端服务(如应用服务器、文件存储)之间,指挥流量、分发内容并提供安全保障。

⽀持50000个并发连接数,不仅如此,CPU和内存的占⽤也⾮常的低,10000个没有活动的连 接才占⽤2.5M的内存。

  • 正向代理是客户端的代理,它代表客户端向服务器发送请求,隐藏了真实的客户端

  • 反向代理是服务器的代理,它代表服务器接收客户端的请求,隐藏了真实的服务器

擅长:

  • IO 密集型操作:处理网络流量、读写静态文件。

  • 请求路由和分发:根据规则决定将请求发往何处。

  • 内容转换:简单的头部修改、Gzip 压缩、响应重写。

  • 缓存:缓存代理内容和静态内容,极大减轻后端压力。

1.2 核心作用

  • 高性能的 Web 服务器

    • 静态内容服务:这是 Nginx 的看家本领。它能够以极高的并发性和极低的内存消耗处理静态文件(如 HTML、CSS、JavaScript、图片、视频、字体等)的请求。它的异步非阻塞事件驱动架构使其在处理大量并发连接时表现卓越,远超传统的 Apache 等多线程/多进程模型。

    • SSL/TLS 终止:Nginx 可以处理 HTTPS 连接的加密和解密工作(即 SSL/TLS 终止)。客户端与 Nginx 建立安全的 HTTPS 连接,而 Nginx 与后端服务器则可以通过普通的 HTTP 通信。这减轻了后端服务器的计算压力。

    • 缓存:Nginx 可以作为缓存服务器,将来自后端的响应缓存起来。对于相同的请求,Nginx 可以直接从缓存中返回内容,而无需再次请求后端服务器,极大地加快了响应速度并减少了后端负载。

    • 高可靠性:Nginx 以稳定性著称,即使在极高负载下也能平稳运行。它的主进程(Master Process)和工作进程(Worker Process)分离,即使工作进程出现问题,主进程也可以快速重启一个新的,保证服务不中断。

    • 高扩展性:通过模块化的设计,Nginx 的功能可以通过模块进行扩展。有大量的官方第三方模块可供选择,用于实现各种功能,如地理IP定位、图像转换、身份验证等。

  • 反向代理服务器

    • 负载均衡:Nginx 可以接收所有客户端的请求,然后按照一定的策略(如轮询、权重、IP哈希、最少连接数等)将请求分发到后端的多个应用服务器(如 Tomcat, Node.js, Django, PHP-FPM 等集群)。这提高了应用的可扩展性、可用性和性能。

    • 应用解耦与安全:客户端不直接访问应用服务器,而是通过 Nginx 这个中间层。这隐藏了后端服务器的真实 IP 和结构,提供了额外的安全层。同时,后端服务器的变化(如扩容、下线)对客户端是透明的。

  • API 网关(反向代理功能的延伸)

    • 在现代微服务架构中,Nginx 常被用作简单的 API 网关,实现路由转发(将 /user/** 的请求转发到用户服务,将 /order/** 的请求转发到订单服务)、认证限流日志聚合等。

1.3 主要应用场景

  • 静态内容服务:作为 Web 服务器,直接提供 HTML、图片、视频等静态文件。这是其最直接和高效的应用。

  • 反向代理服务器:隐藏后端真实服务器,提高安全性;实现负载均衡,将流量分发到多个应用服务器实例。

  • API 网关:在现代微服务架构中,Nginx 常被用作 API 网关,负责请求路由、认证、限流、日志记录等。

  • SSL 终端:集中管理 SSL 证书,为多个后端服务提供 HTTPS 访问能力。

  • 缓存层:在用户和后端应用之间建立缓存层,加速访问并减轻应用服务器压力。

  • 访问控制与安全:通过配置实现基于 IP 的访问限制、密码认证、限制请求速率等,增强应用安全性。

二、核心架构与工作原理

Nginx 采用一个主进程(Master Process) 和多个工作进程(Worker Process) 的模型。

  • 主进程 (Master Process)

    • 以 root 身份运行(为了绑定 80/443 等特权端口)。

    • 主要职责是:读取和验证配置、管理/维护工作进程(启动、停止、平滑重载配置)。

    • 它不处理具体的客户端请求

  • 工作进程 (Worker Process)

    • 以非特权用户(如 www-datanginx)运行,提高安全性。

    • 是真正处理 HTTP 请求的进程。

    • 它们相互独立,使用异步非阻塞模型来处理成千上万的并发连接。

    • 工作进程的数量通常配置为与服务器的 CPU 核心数相同,以最大化硬件性能。

  • 事件驱动模型

    • 每个工作进程内部都有一个高效的事件循环(Event Loop)。

    • 它不断地检查是否有新的网络事件发生(如新的连接、可读的数据、可写的缓冲区)。

    • 当一个事件发生时,工作进程会快速地处理它(如读取请求头、访问磁盘文件、转发请求),然后立即返回事件循环去处理下一个事件,而不是等待一个操作(如磁盘I/O)完成。操作完成后会触发另一个事件,工作进程再回来处理。

    • 这种“非阻塞”的方式避免了进程因等待而“空闲”,使得 CPU 利用率非常高。

三、基础操作与配置

3.1 目录结构

  • 路径差异:以下路径是基于 Linux 发行版通过包管理器安装 的典型路径。如果您是通过源码编译方式安装的 Nginx,前缀路径通常为 /usr/local/nginx/(例如:配置文件在 /usr/local/nginx/conf/nginx.conf)。

  • 配置管理最佳实践:建议将自定义的虚拟主机配置(server block)在 /etc/nginx/sites-available/ 下创建文件(如 example.com),然后通过 ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ 命令创建软链接来启用它。这种模式可以轻松地启用和禁用站点。

目录文件说明
/etc/nginx/核心配置目录,所有配置文件都存放于此。
nginx.conf主配置文件。Nginx 启动时读取的入口文件,包含全局设置,并通过 include 指令引用其他配置。
mime.typesMIME类型映射文件。定义了文件扩展名与内容类型(Content-Type)的对应关系。
proxy_params
fastcgi_params
通用参数文件。通常包含反向代理或FastCGI相关的通用配置指令,供其他配置文件 include 以保持整洁。
sites-available/可用站点配置目录。在此目录中存放所有虚拟主机(server block)的配置文件。但这里的配置不会被Nginx直接启用,相当于一个配置仓库。
sites-enabled/启用站点配置目录。此目录中的文件通常是 sites-available/ 中配置文件的符号链接(软链接)。Nginx 主配置会包含此目录下的文件,只有在这里的配置才会被真正启用。通过创建或删除符号链接来启用或禁用站点非常方便。
conf.d/附加配置目录。通常用于存放各种服务的配置文件(*.conf)。主配置文件nginx.conf默认会包含此目录下的所有 .conf 文件。管理自定义配置的推荐位置。通常在这里为每个网站或服务创建一个独立的 .conf 文件(如 example.com.conf)。
modules-available/可用模块目录。存放已安装的动态模块(.so 文件)的配置文件。
modules-enabled/启用模块目录。存放指向 modules-available/ 目录的符号链接,用于启用动态模块。
/var/log/nginx/日志文件目录。存放 Nginx 运行过程中产生的日志文件。
access.log访问日志文件。记录所有客户端请求的详细信息(默认配置下)。
error.log错误日志文件。记录 Nginx 运行和调试过程中的错误、警告等信息。排查故障时首先查看的文件。日志级别可调。
/var/www/html/

/usr/share/nginx/html/
默认网站根目录。存放网站静态资源(HTML, CSS, JS, 图片等)的位置。访问服务器时,Nginx 默认会在此寻找 index.html 等文件。
/usr/sbin/nginxNginx 二进制可执行文件。Nginx 服务的主程序文件。
/lib/systemd/system/
/etc/systemd/system/
nginx.serviceSystemd 服务单元文件。用于通过 systemctl 命令(如 systemctl start nginx)来管理 Nginx 服务的启动、停止、重启等。

/usr/lib/nginx/

Nginx 模块目录。存放 Nginx 动态模块(.so 文件)的目录。
/var/cache/nginx/Nginx 缓存目录。如果配置了代理缓存或 FastCGI 缓存,生成的缓存文件会存放于此。
/run/nginx.pidNginx 主进程 PID 文件。此文件存储了当前正在运行的 Nginx 主进程的进程ID(PID)。

3.2 核心配置文件:nginx.conf

Nginx 的配置文件通常是一个名为 nginx.conf 的文本文件。它的结构遵循分层嵌套的模式,主要由 Main(全局设置)、Events(事件模块设置)、Http(HTTP 服务器设置)以及 Server(虚拟主机设置)和 Location(URL 匹配特定位置设置)等块组成。其中,Server 块继承 Main 块,Location 块又继承 Server 块。

3.2.1 全局与事件块

这个文件是 Nginx 的核心,主要设置全局参数和工作模式。

Main 和 Events 块核心配置项:

文件功能配置项说明
全局设置user指定运行 Nginx worker 进程的用户和组,例如 user nginx nginx;。权限控制,增强安全性。
worker_processes设置 worker 进程的数量。通常设置为与 CPU 核心数相等或 auto(自动检测)。
error_log错误日志的存放路径和记录级别(如 warn)。调试和故障排除的关键。
pid指定存储 Nginx master 进程 PID 的文件路径。方便管理进程。
worker_rlimit_nofile设置一个 worker 进程能打开的最大文件描述符数。在高并发场合非常重要,需要根据系统限制(ulimit -n)调整。
事件模块events包含事件处理相关的配置。
worker_connections每个 worker 进程能够同时处理的最大连接数。理论总并发连接数 = worker_processes × worker_connections
use指定事件驱动模型。在 Linux 系统下,推荐使用 epoll,它能高效处理大量连接。
multi_accept设置为 on 时,一个 worker 进程可以同时接受多个新连接。有助于提高吞吐量。

生产配置示例 (nginx.conf 部分):

# 运⾏⽤户和组,为了安全考虑,不建议使⽤ root,指定非 root 用户运行 worker 进程。
user nginx nginx;
# Worker进程数,设置为auto可⾃动检测CPU核⼼数
worker_processes auto;
# 错误日志路径及级别(debug, info, notice, warn, error, crit, alert, emerg)
error_log /var/log/nginx/error.log warn;
# 存储主进程PID的⽂件,便于服务管理
pid /var/run/nginx.pid;
# ⼀个Worker进程能打开的最⼤⽂件描述符数(连接数),需配合系统设置
worker_rlimit_nofile 65535;# 事件处理模型配置
events {# 使⽤epoll事件驱动模型(Linux环境下⾼性能⽅案)use epoll;# 每个Worker进程的最⼤连接数worker_connections 10240;# 允许⼀个Worker同时接受多个新连接multi_accept on;
}

3.2.2 HTTP 块配置

HTTP 块定义了 Nginx 如何处理 HTTP 和 HTTPS 请求,是配置最丰富的部分。

Http 块核心配置项:

文件功能配置项说明
基础设置include引入其他配置文件(如 mime.types),使配置更清晰、模块化。
default_type默认的 MIME 类型。当无法识别文件类型时,会使用此类型,例如 application/octet-stream
sendfile设置为 on 时,启用高效文件传输模式,减少文件在应用和内核空间之间的拷贝。
日志设置log_format定义访问日志的记录格式。可以包含客户端IP、请求时间、请求方法、状态码、User-Agent等信息。
access_log访问日志的存放路径和使用的格式。
传输优化tcp_nopush在 sendfile on 时有效。将数据包攒到一起发送,提高网络效率。
tcp_nodelay禁用 Nagle 算法,允许立即发送小数据包,改善实时性。
keepalive_timeout设置客户端与服务器保持长连接的超时时间(单位:秒)。减少 TCP 连接重复建立的开销。
压缩与缓存gzip设置为 on 时,开启 Gzip 压缩,有效减少传输数据量。
gzip_comp_levelGzip 压缩级别 (1-9)。级别越高压缩比越大,但 CPU 消耗也越多,通常建议 2-6。
gzip_types指定需要压缩的 MIME 类型,例如 text/css application/javascript
客户端限制client_max_body_size允许客户端请求 body 的最大体积。重要:上传文件时需调整此值,例如 20m(20MB)。
client_body_buffer_size设置用于读取客户端请求体的缓冲区大小。
上游服务与代理upstream定义一组后端服务器,用于负载均衡或反向代理。
proxy_pass在 location 块中使用,将请求转发到指定的 upstream 或后端服务器地址。

生产配置示例 (http 块部分):

http {# 引⼊MIME类型定义⽂件include /etc/nginx/mime.types;# 默认MIME类型,当⽆法识别⽂件类型时使⽤default_type application/octet-stream;# 定义⽇志格式 mainlog_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# 访问⽇志路径及使⽤的格式access_log /var/log/nginx/access.log main;# 开启⾼效⽂件传输模式(sendfile)sendfile on;# 优化数据包发送,减少通信次数(通常在sendfile开启时有效)tcp_nopush on;# 禁⽤Nagle算法,减少数据传输延迟tcp_nodelay on;# 根据需要隐藏 Nginx 版本号# server_tokens off;# 客户端连接保持超时时间(秒)keepalive_timeout 65;# 开启Gzip压缩gzip on;# 设置Gzip压缩级别(1-9,压缩⽐和CPU开销折衷)gzip_comp_level 6;# 最⼩压缩⽂件⼤⼩,太⼩的⽂件压缩效果不明显gzip_min_length 1k;# 指定需要压缩的MIME类型gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;# 允许客户端请求的最⼤Body体积(重要,特别是上传⽂件时)client_max_body_size 20m;# 客户端请求体缓冲区⼤⼩client_body_buffer_size 128k;# 负载均衡后端服务器组定义(upstream)upstream backend_servers {# weight表⽰权重,权重越⾼被分配到的⼏率越⼤server 192.168.1.10:8080 weight=5 max_fails=3 fail_timeout=30s; # max_fails表⽰失败次数,fail_timeout表⽰超时时间server 192.168.1.11:8080 weight=5 max_fails=3 fail_timeout=30s;server 192.168.1.12:8080 weight=1 max_fails=3 fail_timeout=30s; # 此服务器权重较低,处理较少请求# 还可配置负载均衡策略,如ip_hash(同IP固定后端)、least_conn(最少连接数)等}# 引⼊其他conf⽂件(如虚拟主机配置)include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;
}

3.2.3 Server 块配置

Server 块定义了虚拟主机,用于处理对特定域名或端口的请求。通常在 nginx.conf 或 conf.d/*.conf 中。

模块化配置:使用 include 指令将不同站点的配置拆分到 /etc/nginx/conf.d/ 或 /etc/nginx/sites-enabled/ 下的独立文件中,使结构更清晰,管理更方便

Server 块核心配置项:

文件功能配置项说明
虚拟主机标识listen服务器监听的 IP 地址和端口(如 80443 ssl)。
server_name域名(或主机名),用于匹配请求。可以使用通配符(*.example.com)或正则表达式。
根目录与索引root该 server 或 location 块的 根目录,用于构造请求文件的完整路径。
index指定默认的索引文件。例如 index index.html index.htm;
SSL 证书ssl_certificateSSL 证书文件(如 .pem 或 .crt 文件)的路径。
ssl_certificate_keySSL 证书私钥文件(.key 文件)的路径。
错误页面error_page定义特定错误码(如 404500)时返回的自定义页面。
位置块location根据请求的 URI(路径)进行更精细的配置。匹配规则多样(精确 =, 前缀 ^~, 正则 ~ 或 ~* 等),优先级不同。
反向代理proxy_set_header在 location 块中与 proxy_pass 配合使用,将客户端信息(如真实 IP)传递给后端服务器。常用 HostX-Real-IPX-Forwarded-ForX-Forwarded-Proto 等头部。
静态资源alias在 location 块中定义目录别名,用于将请求映射到文件系统中的特定路径,与 root 指令有所不同。
try_files尝试按顺序提供文件或目录,若都不存在可指定默认动作(如转发或返回错误页面)。常用于单页应用(SPA)的路由处理。

生产配置示例 (Server 块部分):以下示例包含一个处理 HTTP 并重定向到 HTTPS 的 server 块,以及一个配置了 SSL、静态资源服务和反向代理的 HTTPS server 块。

# 重定向HTTP请求到HTTPS
server {listen 80;server_name example.com www.example.com;# 301永久重定向到HTTPS版本return 301 https://$server_name$request_uri;
}# HTTPS主服务器配置
server {# 监听443端⼝,并启⽤SSLlisten 443 ssl http2; # http2可提升性能server_name example.com www.example.com;# SSL证书和密钥路径ssl_certificate /etc/nginx/ssl/example.com.crt;ssl_certificate_key /etc/nginx/ssl/example.com.key;# SSL会话缓存等优化参数ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m;# 根⽬录和默认索引⽂件root /usr/share/nginx/html;index index.html index.htm;# 通⽤Location块 - 处理静态资源location / {# 尝试提供服务:先找$uri⽂件,再找$uri/目录下的索引⽂件,最后移交index.html(适⽤于单⻚应⽤)try_files $uri $uri/ /index.html;}# 处理后端API请求 - 反向代理location /api/ {# 代理到之前定义的 upstream 组 或 特定后端地址proxy_pass http://backend_servers;# 设置代理请求头,向后端传递真实客户端信息proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;# ⼀些超时和缓冲区配置proxy_connect_timeout 30s;proxy_send_timeout 30s;proxy_read_timeout 30s;client_max_body_size 20m; # 覆盖http块中的全局设置}# 处理静态⽂件(图⽚, CSS, JS)的Location块,并设置缓存location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {# 静态资源根⽬录(也可使⽤alias)root /usr/share/nginx/static;# 设置浏览器缓存时间expires 30d;# 关闭⽇志记录以减少I/Oaccess_log off;add_header Cache-Control "public, immutable";}# 精确匹配 = 的Location⽰例:健康检查端点location = /health {access_log off;# 返回200状态码和"OK"⽂本return 200 "OK\n";add_header Content-Type text/plain;}# 定义错误⻚⾯error_page 404 /404.html;location = /404.html {root /usr/share/nginx/error_pages;internal; # 标记此location只能由内部请求使⽤}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/error_pages;internal;}
}

配置 Nginx SSL 私钥文件的权限是确保服务器安全的重要环节。核心原则是:尽可能收紧权限,确保仅允许必要的用户(通常是 root 或 Nginx 主进程)读取该文件

权限设置所有权设置 (示例)适用场景/说明
600 (rw-------)root:root常见设置。 root用户拥有全部权限,其他用户无任何权限。Nginx主进程通常以root启动,有能力读取。
640 (rw-r-----)root:ssl-cert 或 root:nginx将私钥文件组所有者设为特定的组(如ssl-certnginx),并让Nginx工作进程用户加入该组。
400 (r--------)root:root600更严格,连root用户也无法修改(但可以更改权限后修改),只允许读取。

3.2.4 注意事项

  • 日志管理:定期轮询(rotate)日志文件,避免日志文件过大。可使用 logrotate 工具。

  • 测试与重载:每次修改配置文件后,务必使用 nginx -t 命令测试配置语法是否正确。确认无误后,使用 nginx -s reload 命令平滑重载配置,而不会中断现有连接。

  • 性能调优

    • 根据 CPU 核心数设置 worker_processes

    • 合理设置 worker_connections 和 worker_rlimit_nofile,以支持高并发。

    • 启用 sendfiletcp_nopushgzip 等优化选项。

    • 根据静态资源情况设置浏览器缓存 (expires)。

  • 权限与安全

    • 使用 user 指令指定非 root 用户运行 worker 进程。

    • 确保 SSL 私钥文件权限设置为 600 或 400,且仅对 root 用户可读。

    • 根据需要隐藏 Nginx 版本号:在 http 块中设置 server_tokens off;

    • 限流:使用limit_req_zone限制请求速率,防止恶意攻击。

3.3 常用命令

类别命令作用描述常用场景
启动命令nginx启动 Nginx 服务初次启动 Nginx
systemctl start nginx使用 systemd 系统启动 Nginx 服务在 systemd 系统上启动 Nginx
停止命令nginx -s stop立即停止 Nginx 服务需要立即终止服务时
nginx -s quit优雅停止:等待当前请求处理完毕后再停止希望正常处理完已接收的请求后再停止,避免中断业务
systemctl stop nginx使用 systemd 系统停止 Nginx 服务在 systemd 系统上停止 Nginx
重启与重载nginx -s reload重载配置:重新加载配置文件而不中断正在处理的连接修改了 nginx.conf 或其他配置文件后,希望新配置生效
systemctl reload nginx使用 systemd 系统重载 Nginx 配置在 systemd 系统上重载配置
systemctl restart nginx重启服务:先停止再启动 Nginx 服务配置文件变更无法通过重载生效,或需要完全重启服务时
配置检查nginx -t测试配置文件语法是否正确修改配置文件后,检查是否有语法错误 before reload 或 restart
nginx -T测试配置并显示配置内容需要查看当前 Nginx 实际读取的配置内容时
日志管理tail -f /var/log/nginx/access.log实时查看访问日志尾部实时监控访问情况,排查问题
tail -f /var/log/nginx/error.log实时查看错误日志尾部查看错误信息,诊断 Nginx 运行问题
nginx -s reopen重新打开日志文件日志文件被切割(logrotate)后,让 Nginx 开始写入新的日志文件
状态与信息查询nginx -v查看 Nginx 版本查看当前安装的 Nginx 版本号
nginx -V查看 Nginx 详细版本及编译信息查看编译时开启了哪些模块和参数
systemctl status nginx查看 Nginx 服务运行状态检查 Nginx 是否正常运行、有无错误
ps aux | grep nginx查看 Nginx 进程信息查看 Nginx 主进程和工作进程的状态及 PID
其他命令nginx -c /path/to/nginx.conf使用指定配置文件启动 Nginx需要使用非默认位置的配置文件时

其他:

  • 检查端口监听:使用 netstat -tulnp | grep nginx 或 ss -tulnp | grep nginx 查看 Nginx 正在监听的端口和状态。


文章转载自:

http://9uULzFEn.yzfrh.cn
http://jmBNnmo8.yzfrh.cn
http://kEAs6uDE.yzfrh.cn
http://vtmM3OGX.yzfrh.cn
http://CDr2fGey.yzfrh.cn
http://CoKF1XTW.yzfrh.cn
http://4tbQMRqp.yzfrh.cn
http://qklk7tLp.yzfrh.cn
http://GkAHrXou.yzfrh.cn
http://Go4uyOxK.yzfrh.cn
http://Td0SMZPS.yzfrh.cn
http://1Iw08tV2.yzfrh.cn
http://UeuRfLjq.yzfrh.cn
http://2IAPCUXj.yzfrh.cn
http://ceGYXn2p.yzfrh.cn
http://hICrvHGA.yzfrh.cn
http://JofGO2DO.yzfrh.cn
http://rDysTuXV.yzfrh.cn
http://QYNQ1KNp.yzfrh.cn
http://gZznYHtZ.yzfrh.cn
http://VVpdwX2g.yzfrh.cn
http://7KqEgW7J.yzfrh.cn
http://ChFFeoUI.yzfrh.cn
http://QdKaJrX9.yzfrh.cn
http://FZcu2ztT.yzfrh.cn
http://rpa94nEV.yzfrh.cn
http://PCIDvWbb.yzfrh.cn
http://0ZQruE1c.yzfrh.cn
http://wM8gkmoU.yzfrh.cn
http://pBGZGDkL.yzfrh.cn
http://www.dtcms.com/a/378429.html

相关文章:

  • AWS 查询 ALB access log
  • 认知语义学对人工智能自然语言处理深层语义分析的影响与启示
  • iText与OpenPDF使用差异及中文处理完全指南
  • 动态规划算法的欢乐密码(五):子数组系列(上)
  • 【国内电子数据取证厂商龙信科技】浅析文件头和文件尾和隐写
  • Gradio全解11——Streaming:流式传输的视频应用(8)——Gemini Live API:实时音视频连接
  • [特殊字符] 玩转 Python 命令行参数:从 `-m` 到 `argparse` 的全攻略
  • [免费]基于Python的Django医院管理系统【论文+源码+SQL脚本】
  • 【音视频】Android NDK 与.so库适配
  • 认识鸿蒙——它不是“安卓换皮”
  • YOLO11目标检测运行推理简约GUI界面
  • 如何在 VSCode 中设置默认浏览器为 Chrome 或 Firefox
  • VSCode设置:解决找不到文件的问题
  • rabbitmq的安装
  • 从拓扑排序看有向图的应用
  • 谷歌浏览器
  • openCV 角点检测与 SIFT 特征提取:原理与实战解析
  • 使用Samba网络磁盘作为MacOS时间机器的远程备份磁盘
  • YOLO + OpenPLC + ARMxy:工业智能化视觉识别、边缘计算、工业控制的“三位一体”解决方案
  • 超声波风向传感器:以科技之翼,捕捉风的每一次呼吸
  • 操作【GM3568JHF】FPGA+ARM异构开发板 使用指南:TF-Card
  • NineData云原生智能数据管理平台新功能发布|2025年8月版
  • 行业学习【电商】:直播电商的去头部化、矩阵号?
  • Kimi-Researcher:月之暗面推出的深度研究AI智能体
  • 西嘎嘎学习 - C++ 继承 - Day 10
  • 图像直方图,直方图均衡化和掩膜
  • react reducx的使用
  • 基于STM32设计的智慧路灯(华为云IOT)_281
  • 智慧水库综合管理系统平台御控物联网解决方案
  • react基础篇