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

Nginx高级配置

目录

一.网页的状态页

二. Nginx第三方模块

2.1 echo模块

三. 变量 

3.1 内置变量

3.2 自定义变量 

四. 自定义访问日志 (优化) 

4.1 自定义访问日志的格式

4.2 自定义json 格式日志

五. Nginx压缩功能 

六 . HTTPS 功能

6.1 https概述 

6.2 配置实例-----自签名证书

1. 先进行编译安装 

2. 进行证书配置

七. 自定义图标 


一.网页的状态页

网页的状态页(Status Page)通常是指一个专门用于展示系统、服务或应用程序当前运行状态的页面。它可以帮助用户、开发人员或运维团队实时了解系统的健康状况、性能指标、故障信息等。

基于nginx 模块 ngx_http_stub_status_module 实现,在编译安装nginx的时候需要添加编译参数 --with-http_stub_status_module

状态页显示的是整个服务器的状态,而非虚拟主机的状态 。

vim /apps/nginx/conf/nginx.confnginx_status 页面需要在 Nginx 配置文件中显式配置。通常,配置如下:server {listen 80;server_name 192.168.52.102;location /nginx_status {stub_status on;allow 192.168.52.0/24;  # 允许访问的 IP 段deny all;               # 拒绝其他所有 IP}
}#因为我是通过编译安装nginx,而编译安装默认不会自动配置systemd服务
/apps/nginx/sbin/nginx -t  # 测试配置语法
/apps/nginx/sbin/nginx -s reload  # 重新加载

运行结果如下:

Active connections:
#当前处于活动状态的客户端连接数,包括连接等待空闲连接数=reading+writing+waiting
accepts
#统计总值,Nginx自启动后已经接受的客户端请求的总数。
handled
#统计总值,Nginx自启动后已经处理完成的客户端请求总数,通常等于accepts,除非有因worker_connections限制等被拒绝的连接
requests
#统计总值,Nginx自启动后客户端发来的总的请求数。
Reading
#当前状态,正在读取客户端请求报文首部的连接的连接数,数值越大,说明排队现象严重,性能不足
Writing
#当前状态,正在向客户端发送响应报文过程中的连接数,数值越大,说明访问量很大
Waiting
#当前状态,正在等待客户端发出请求的空闲连接数,开启 keep-alive的情况下,这个值等于active – (reading+writing)

二. Nginx第三方模块

Nginx 第三方模块是由 社区开发者或组织(非 Nginx 官方团队)开发的扩展组件,用于增强 Nginx 的核心功能。

要使用第三方模块,您需要在编译和安装Nginx时包含相应的模块源代码,并按照模块提供的说明进行配置。

以下主要以echo为例

2.1 echo模块

echo 模块是 Nginx 的一个第三方模块,用于在 Nginx 配置中直接输出自定义内容到 HTTP 响应中。

主要功能

  • 可以直接在 Nginx 配置中输出静态字符串或 HTML 内容。
  • 支持输出 Nginx 变量、请求头、查询参数等动态内容。
  • 控制请求处理流程:通过终止请求或将请求重定向到其他 URL 来控制请求的处理流程。

要使用echo模块,需要在编译安装nginx时添加echo-nginx-module ,或者通过第三方软件包管理工具进行安装。

https://github.com/vozlt/nginx-module-vts
#通过该网站下载echo包

#安装依赖
yum install -y gcc make zlib zlib-devel openssl openssl-devel pcre pcre-develcd /opt
unzip '//tmp/VMwareDnD/3sUYrw/echo-nginx-module-master.zip' 
ls 
#查看解压路径cd /data/nginx-1.18.0# 清理旧文件(如果之前编译过)
make clean 2>/dev/null || true#配置Nginx
./configure --prefix=/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module --add-module=/opt/echo-nginx-module-master#编译和安装
make && make install#注意配置Nginx时要确定 echo 模块的实际路径
find / -name "echo-nginx-module" 2>/dev/null#我的echo模块的实际路径是 /root/nginx-1.18.0/echo-nginx-module,所以--add-module的参数为
/opt/echo-nginx-module-master
#在配置文件中加入echo模块配置
vim /apps/nginx/conf/nginx.conf location /hello {root html;echo "ni hao";index index.html index.htm index.php;
}/apps/nginx/sbin/nginx -tapps/nginx/sbin/nginx -s reload

 测试结果:

 

三. 变量 

在NGINX中,变量是一种用于存储和检索HTTP请求和响应中的数据的机制。

3.1 内置变量

内置变量是 Nginx 预定义的变量,由 Nginx 核心或模块自动生成,用于存储 HTTP 请求、响应、连接状态等信息。
这些变量无需声明,直接可用,名称以 $ 开头

vim /apps/nginx/conf/nginx.conf#添加以下内容
location /main {index index.html;default_type text/html;echo "hello world,main-->";echo $remote_addr;echo $args;echo $arg_userecho $document_root;echo $document_uri;echo $host;echo $http_user_agent;echo $http_cookie;echo $request_filename;echo $scheme;echo $scheme://$host$document_uri?$args;}- `index index.html;`:指定默认的索引文件为index.html,当访问/main时,如果有index.html文件,将自动显示该文件。- `default_type text/html;`:指定默认的Content-Type为text/html,如果响应中没有特别指定Content-Type,则使用默认值。- `echo "hello world,main-->";`:输出字符串"hello world,main-->"。- `echo $remote_addr;`:输出客户端的IP地址。- `echo $args;`:输出请求的查询参数。- `echo $arg_user;`:输出名为user的查询参数的值。- `echo $document_root;`:输出当前请求的根目录路径。- `echo $document_uri;`:输出当前请求的URI。- `echo $host;`:输出请求的主机名。- `echo $http_user_agent;`:输出客户端使用的用户代理。- `echo $http_cookie;`:输出请求中的Cookie。- `echo $request_filename;`:输出当前请求的文件路径。- `echo $scheme;`:输出请求使用的协议(http或https)。- `echo $scheme://$host$document_uri?$args;`:输出完整的URL,包括协议、主机、路径和查询参数。

 

/apps/nginx/sbin/nginx -s reloadcurl 192.168.52.102/main

3.2 自定义变量 

在 Nginx 中,自定义变量可以用于存储和操作一些特定的值,以便在配置文件中的不同位置进行重用。

语法格式

基本语法
set $variable value; #变量名可自定义使用环境
server, location, if
#举例:
vim /apps/nginx/conf/nginx.conf#添加以下内容
location /test {set $name  kgc;echo $name;set $my_port $server_port;echo $my_port;}

 

四. 自定义访问日志 (优化) 

访问日志是Web服务器记录客户端请求信息的文件,自定义访问日志允许管理员根据需求灵活配置记录的内容和格式。

4.1 自定义访问日志的格式

Nginx 使用 log_format 指令来定义日志格式,然后在 access_log 指令中引用该格式。 

1. 打开 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf)。

2. 在 http 块中定义自定义日志格式:

#这是我的nginx配置文件
vim /apps/nginx/conf/nginx.confhttp {log_format custom '$remote_addr - $remote_user [$time_local] ''"$request" $status $body_bytes_sent ''"$http_referer" "$http_user_agent" "$http_x_forwarded_for"';
}

这里的 custom 是自定义日志格式的名称,$remote_addr、$request 等是 Nginx 的内置变量。

3. 在 server 块中引用自定义日志格式:

server {access_log logs/access.log custom;
}

日志文件的路径是/apps/nginx/logs/access.log 

但是因为 Nginx 的工作目录是 /apps/nginx,那么 logs/access.log 会被解析为 /apps/nginx/logs/access.log,custom 是之前定义的日志格式名称。

 

4. 保存配置文件并重启 Nginx 

nginx -t  # 测试配置文件是否正确nginx -s reloadcurl http://localhost -I   #访问 Nginx 服务tail -f /apps/nginx/logs/access.log  #检查访问日志是否记录

 


4.2 自定义json 格式日志

Nginx 支持通过 log_format 指令定义 JSON 格式的日志。 

配置步骤:

1. 打开 Nginx 配置文件(通于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf)。

2. 在 http 块中定义 JSON 格式的日志:

http {log_format json_format escape=json'{''"time_local":"$time_local",''"remote_addr":"$remote_addr",''"remote_user":"$remote_user",''"request":"$request",''"status":"$status",''"body_bytes_sent":"$body_bytes_sent",''"http_referer":"$http_referer",''"http_user_agent":"$http_user_agent",''"http_x_forwarded_for":"$http_x_forwarded_for",''"request_time":"$request_time"''}';
}

这里的 json_format 是自定义日志格式的名称,escape=json 确保特殊字符(如引号)被正确转义。 

3.在 server 块中引用 JSON 格式的日志: 

server {access_log logs/access.json.log json_format;
}

 

4. 保存配置文件并重启 Nginx: 

 nginx -t  # 测试配置文件是否正确nginx -s reload # 重启 Nginx
mkdir -p /apps/nginx/logstouch /apps/nginx/logs/access.json.log  #创建日志目录curl http://localhost -Itail -f /apps/nginx/logs/access.json.log

 

 

五. Nginx压缩功能 

Nginx通过在服务器上启用gzip模块来提供压缩功能。

官方文档: Module ngx_http_gzip_module

1. 创建配置文件
mkdir -p /etc/nginx/conf.d  # 确保目录存在2. 配置文件内容
vim /etc/nginx/conf.d/gzip-test.confserver {listen 80;server_name localhost;# Gzip基本配置gzip on;gzip_min_length 1k;gzip_comp_level 6;gzip_types text/plain text/css application/json application/javascript text/xml;gzip_vary on;# 测试目录设置location / {root /var/www/html/gzip-test;index index.html;}# 日志记录(调试用)access_log /var/log/nginx/gzip-test.access.log;error_log /var/log/nginx/gzip-test.error.log;
}3.创建测试目录和文件
mkdir -p /var/www/html/gzip-test && \echo "<h1>Gzip测试</h1><p>这是一段用于测试压缩的文本。</p>" | sudo tee /var/www/html/gzip-test/index.html#sudo tee /var/www/html/gzip-test/index.html`	将内容写入文件	tee 同时输出到文件和屏幕4.编辑主配置文件
vim /apps/nginx/conf/nginx.conf
gzip on;  #取消这行的注释5.nginx -t && sudo nginx -s reload6.curl -I -H "Accept-Encoding: gzip" http://localhost #检查Gzip是否生效

六 . HTTPS 功能

6.1 https概述 

在 Nginx 中配置 HTTPS 是为了通过加密的 HTTPS 协议来保护网站的数据传输安全。HTTPS 使用 SSL/TLS 证书来加密客户端和服务器之间的通信。 

当客户端首次访问 HTTPS 网站时,会发生以下握手过程:

  1. Client Hello

    • 客户端发送支持的 SSL/TLS 版本、加密套件列表和随机数

  2. Server Hello

    • Nginx 选择双方都支持的 SSL/TLS 版本和加密套件

    • 发送服务器随机数和服务器证书(包含公钥)

  3. 证书验证

    • 客户端验证服务器证书的有效性(是否过期、是否由受信任 CA 签发等)

  4. 密钥交换

    • 客户端生成预主密钥(pre-master secret),用服务器公钥加密后发送

    • 服务器用私钥解密获取预主密钥

  5. 会话密钥生成

    • 双方使用客户端随机数、服务器随机数和预主密钥生成会话密钥

  6. 加密通信开始

    • 使用会话密钥进行对称加密通信

Nginx的HTTPS功能通过ngx_http_ssl_module模块来实现的。

6.2 配置实例-----自签名证书

该功能很重要,所以从编译安装开始详细做完。

1. 先进行编译安装 

cd /datayum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-develuseradd -M -s /sbin/nologin nginxwget http://nginx.org/download/nginx-1.18.0.tar.gztar xf nginx-1.18.0.tar.gz cd nginx-1.18.0/./configure --prefix=/apps/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_modulemake -j2 && make install#创建一个 systemd 服务单元文件,用于管理 Nginx 服务。
tee   /usr/lib/systemd/system/nginx.service   <<eof
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target[Service]
Type=forking
PIDFile=/apps/nginx/logs/nginx.pid
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP \$MAINPID
ExecStop=/bin/kill -s TERM \$MAINPID
LimitNOFILE=100000[Install]
WantedBy=multi-user.target
eof#重新加载配置
systemctl daemon-reload systemctl restart nginx

2. 进行证书配置

mkdir /zs
cd /zs 
#建立一个文件用于存放证书#将证书脚本拖入虚拟机 进行编译
vim '//tmp/VMwareDnD/thy0ti/certificate.sh' :%s/kgc/cxk/g:wq#执行一个 Bash 脚本文件
bash '//tmp/VMwareDnD/thy0ti/certificate.sh'ls 
#查看cat cxk.com.crt ca.crt > www.cxk.com.crtmv kgc.com.key www.cxk.com.keyvim /apps/nginx/conf/nginx.conf#在linsten 80下添加listen 443 ssl;ssl_certificate /zs/www.cxk.com.crt;ssl_certificate_key /zs/www.cxk.com.key;#建立软连接
ln -s /apps/nginx/sbin/nginx  /usr/bin/nginx -tnginx -s reloadsystemctl restart nginx修改默认网页内容
cd /apps/nginx/htmlvim index.html#清空,输入以下内容
test test test

 

 

 

 

 

七. 自定义图标 

在 Nginx 中,自定义图标通常指的是为网站设置自定义的 favicon(浏览器标签页图标)或自定义错误页面中的图标。

当客户端使用浏览器问页面时,浏览器会自己主动发起请求获取页面的favicon.ico文件。
当浏览器请求的favicon.ico文件不存在时,服务器会记录404日志,而浏览器会显示404报错。

#方法一:服务器不记录访问日志:
location = /favicon.ico {log_not_found off;access_log off;
}
#方法二:将图标保存到指定目录访问:
#location ~ ^/favicon\.ico$ {
location = /favicon.ico {root   /data/nginx/html/pc/images;expires 365d;  #设置文件过期时间
}

相关文章:

Nginx高级配置

目录 一.网页的状态页 二. Nginx第三方模块 2.1 echo模块 三. 变量 3.1 内置变量 3.2 自定义变量 四. 自定义访问日志 (优化) 4.1 自定义访问日志的格式 4.2 自定义json 格式日志 五. Nginx压缩功能 六 . HTTPS 功能 6.1 https概述 6.2 配置实例-----自签名证…...

Docker镜像搬运工:深入解析export与import,实现容器环境无缝迁移!

Docker作为现代开发运维的利器&#xff0c;其镜像和容器的管理技巧直接影响效率。当我们需要跨环境迁移容器状态时&#xff0c;docker export和docker import这对组合命令就能大显身手。本文带你彻底搞懂它们的核心逻辑、使用场景及避坑指南&#xff01; 一、Docker export&…...

数字孪生实战笔记(1)数字孪生的含义、应用及技术体系

一、含义 数字孪生&#xff08;Digital Twin&#xff09;是一种通过数字化模型在虚拟世界中实时映射和模拟物理实体、系统或过程的技术。它的核心目的是通过对现实对象的建模、感知、分析和预测&#xff0c;实现对物理世界的全面感知、智能控制和优化决策。数字孪生 实体对象 …...

计算机网络 4-2-2 网络层(IPv4)

2.7 网络地址转换NAT 引入端口号&#xff1a;IP地址端口号→一个特定的进程&#xff0c;&#xff08;不同主机可能存在相同端口号&#xff09; 网络层实现了“主机到主机”的通信。网络层在IP数据报的首部&#xff0c;指明源IP地址、目的IP地址 传输层实现了“端到端” &#…...

第二个简单的SpringBoot和Vue前后端全栈的todoapp案例

项目源于哔哩哔哩&#xff0c;按视频手敲了一下&#xff0c;补充上代码和一些细节。 全栈项目实践&#xff1a;1小时快速入门SpringBootvue3element-plus_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1LH4y1w7Nd/?spm_id_from333.1387.favlist.content.click&vd_…...

探秘 Canva AI 图像生成器:重塑设计创作新范式

Canva 凭借简洁易用的界面和海量模板资源&#xff0c;早已成为设计师和普通用户的心头好。而 Canva AI 图像生成器的推出&#xff0c;更是为设计领域带来了一场深刻变革&#xff0c;以智能化的手段重塑了图像创作的方式与边界。 技术内核&#xff1a;AI 如何驱动图像生成 Can…...

栈应用:辅助站(c++)

干货 今天讲讲最大辅助栈和最小辅助栈 主栈进入元素的时候 最大辅助栈:保证新元素大于等于(辅助栈)顶的时候&#xff0c;再进入辅助栈这样就能保证最大辅助栈的栈顶元素 是主栈中的最大值 主栈出栈的时候 最大辅助栈:主栈出栈元素如果等于(辅助栈)的栈顶元素&#xff0c;再…...

AI时代的数据可视化:未来已来

你有没有想过&#xff0c;数据可视化在未来会变成什么样&#xff1f;随着人工智能&#xff08;AI&#xff09;的飞速发展&#xff0c;数据可视化已经不再是简单的图表和图形&#xff0c;而是一个充满无限可能的智能领域。AI时代的可视化不仅能自动解读数据&#xff0c;还能预测…...

常见音频主控芯片以及相关厂家总结

音频主控芯片是音频设备&#xff08;如蓝牙耳机、音箱、功放等&#xff09;的核心组件&#xff0c;负责音频信号的解码、编码、处理和传输。以下是常见的音频主控芯片及其相关厂家&#xff0c;按应用领域分类&#xff1a; 蓝牙音频芯片 主要用于无线耳机、音箱等设备&#xff0…...

湖仓一体架构在金融典型数据分析场景中的实践

在数字经济与金融科技深度融合的今天&#xff0c;数据已成为金融机构的核心战略资产。然而&#xff0c;传统数据架构面临着三大困局&#xff0c;制约着金融机构数据价值的充分释放。 一、需求驱动更多银行数据分析场景 金融机构&#xff0c;特别是银行业&#xff0c;面临着双重…...

VBA —— 学习Day5

子程序与函数 子程序&#xff1a;实现特定功能的程序代码块 子程序语法&#xff1a; [修饰符] Sub 子程序名称([参数1&#xff0c;参数2&#xff0c;参数3]) 代码块 End Sub 子程序如何调用&#xff1a; 1 . 子程序名 [参数1&#xff0c;参数2&#xff0c;...] 2. Cal…...

Flink 实时数据一致性与 Exactly-Once 语义保障实战

在构建企业级实时数仓的过程中,“数据一致性” 是保障指标准确性的核心能力,尤其是在金融、电商、医疗等对数据敏感度极高的场景中。Flink 作为流批一体的实时计算引擎,其内建的 Exactly-Once 语义为我们提供了强有力的保障机制。本篇将围绕如何实现端到端的数据一致性、如何…...

Java云原生到底是啥,有哪些技术

☁️ Java云原生&#xff1a;程序员の修仙飞升指南&#xff08;附渡劫技巧&#xff09; 一、修仙世界观&#xff1a;传统程序 vs 云原生程序 &#x1f3e1; 传统Java程序&#xff08;老宅院&#xff09; 特点&#xff1a;单体大瓦房、扩建要拆墙&#xff08;耦合度高&#xf…...

IPM IMI111T-026H 高效风扇控制板

概述&#xff1a; REF-MHA50WIMI111T 是一款专为风扇驱动设计的参考开发板&#xff0c;搭载了英飞凌的IMI111T-026H iMOTION™智能功率模块(IPM)。这个模块集成了运动控制引擎(MCE)、三相栅极驱动器和基于IGBT的功率级&#xff0c;全部封装在一个紧凑的DSO22封装中。REF-MHA50…...

JavaScript基础-局部作用域

在JavaScript中&#xff0c;理解不同种类的作用域是掌握这门语言的关键之一。作用域决定了变量和函数的可访问性&#xff08;即可见性和生命周期&#xff09;。与全局作用域相对应的是局部作用域&#xff0c;它限制了变量和函数只能在其定义的特定范围内被访问。本文将深入探讨…...

[特殊字符]Meilisearch:AI驱动的现代搜索引擎

前言 大家好&#xff0c;我是MAI麦造&#xff01; 上文介绍一了Manticore Search 这款轻量级的搜索引擎&#xff0c;这次又有了新的发现&#xff01;传送门&#xff1a; Elasticsearch太重&#xff1f;它的超轻量的替代品找到了&#xff01; 这是一个让我超级兴奋的AI搜索引…...

K8S Svc Port-forward 访问方式

在 Kubernetes 中&#xff0c;kubectl port-forward 是一种 本地与集群内资源&#xff08;Pod/Service&#xff09;建立临时网络隧道 的访问方式&#xff0c;无需暴露服务到公网&#xff0c;适合开发调试、临时访问等场景。以下是详细使用方法及注意事项&#xff1a; 1. 基础用…...

SD06_前后端分离项目部署流程(采用Nginx)

本文档详细描述了如何在Ubuntu 20.04服务器上从零开始部署Tlias前后端分离系统。Tlias系统由Spring Boot后端&#xff08;tlias-web-management&#xff09;和Vue前端&#xff08;vue-tlias-management&#xff09;组成。 目录 环境准备安装MySQL数据库部署后端项目部署前端项…...

计算机网络:家庭路由器WiFi信号的发射和手机终端接收信号原理?

WiFi路由器与手机之间的信号传输涉及多个技术层面的协作,以下是其工作原理的详细步骤: 一、数据封装与协议处理 应用层数据生成 用户操作(如浏览网页、视频播放)产生数据包,经TCP/IP协议栈逐层封装,添加IP地址(网络层)和MAC地址(数据链路层)。协议封装 数据包被封装…...

【Redis】string

文章目录 string 字符串常用命令设置和获取setgetmget & mset 计数操作incr & incrbydecr & decrbyincrbyfloat 字符串操作appendstrlengetrangesetrange string 字符串 关于 Redis 的字符串&#xff0c;有几点需要注意 Redis 所有的 key 的类型都是字符串类型va…...

vue3的响应式设计原理

Vue 3 的响应式设计是其核心特性之一&#xff0c;依赖于 Proxy 和 依赖收集机制&#xff0c;相比 Vue 2 的 Object.defineProperty&#xff0c;Vue 3 的响应式系统更加高效、灵活且易于维护。 以下是 Vue 3 响应式设计的核心原理&#xff1a; 一、核心机制概览 使用 Proxy 实现…...

学习黑客5 分钟深入浅出理解Linux Logs [特殊字符]

5 分钟深入浅出理解Linux Logs &#x1f4dd; 大家好&#xff01;今天我们将探索Linux系统中的日志机制——这是系统管理和安全分析的重要组成部分。在网络安全学习特别是TryHackMe平台上的挑战中&#xff0c;理解和分析日志是发现入侵痕迹、追踪攻击者行为和收集证据的关键技…...

【Docker系列】docker inspect查看容器部署位置

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

journalctl使用

journalctl 可以查看很多服务的日志&#xff0c;比如 docker&#xff0c;ollama 等。 1. 查看 xx 服务的最新日志&#xff08;实时滚动&#xff09; sudo journalctl -u docker -f -f 参数表示 跟随&#xff08;follow&#xff09;&#xff0c;会持续输出最新日志&#xff0…...

Satori:元动作 + 内建搜索机制,实现超级推理能力

Satori&#xff1a;元动作 内建搜索机制&#xff0c;实现超级推理能力 论文大纲一、背景&#xff1a;LLM 推理增强的三类方法1. 基于大规模监督微调&#xff08;SFT&#xff09;的推理增强2. 借助外部机制在推理时进行搜索 (RLHF / 多模型 / 工具)3. 现有局限性总结 二、Sator…...

基于语言模型的依存关系分句 和 主题变换检测(基于词频和句段得分)的 意思

&#x1f9e0; 一、基于语言模型的依存关系分句&#xff08;Dependency-based Segmentation&#xff09; ✅ 说人话&#xff1a; 用语言模型判断句子里的语法结构&#xff08;谁依赖谁&#xff09;&#xff0c;找到合理的“断点”&#xff0c;把太长的句子拆成语法上更自然的小…...

计算机体系结构一些笔记

1、异构计算&#xff1a;CPU也像人类社会一样存在专业分工。 异构计算&#xff08;Heterogeneous Computing&#xff09;是指不同类型的计算单元合作完 成计算任务。每个计算单元采用不同的架构&#xff0c;分别擅长处理某一种类型 的计算任务。整个计算任务分解为小的单位&…...

Go语言——goflow工作流使用

一、引入依赖 这个很坑&#xff0c;他不允许连接带密码的redis&#xff0c;只能使用不带密码的redis&#xff0c;要带密码的话得自己改一下源代码&#xff0c;无语 go get github.com/s8sg/goflow二、画出我们的工作流程 三、编写代码 package mainimport ("encoding/j…...

理性地倾听与表达:检索算法的语言学改进

论文标题 Rational Retrieval Acts: Leveraging Pragmatic Reasoning to Improve Sparse Retrieval 论文地址 https://arxiv.org/pdf/2505.03676 代码地址 https://github.com/arthur-75/Rational-Retrieval-Acts 作者背景 巴黎萨克雷大学&#xff0c;索邦大学&#xff…...

RV1126 ROS2环境交叉编译及部署(基于官方Docker)

RV1126 ROS2环境交叉编译及部署(基于官方Docker) 0 前言1 SDK源码更新1.1 启动Docker容器1.2 更新SDK源码1.3 SDK更新问题2 ROS2编译配置3 Buildroot rootfs编译ROS2的依赖包3.1 编译问题解决4 使用Docker交叉编译ROS24.1 准备Linux(Ubuntu) PC机的依赖环境4.1.1 Ubuntu PC机…...

每日脚本学习5.10 - XOR脚本

xor运算的简介 异或就是对于二进制的数据可以 进行同0异1 简单的演示 &#xff1a; 结果是 这个就是异或 异或的作用 1、比较两数是否相等 2、可以进行加密 加密就是需要key 明文 :0b010110 key : 0b1010001 这个时候就能进行加密 明文 ^ key密文 还有这个加密比…...

深圳SMT贴片加工厂制造流程解析

内容概要 作为大湾区电子制造产业链的重要节点&#xff0c;深圳SMT贴片加工厂凭借精密的生产体系与技术创新&#xff0c;构建了涵盖12道核心工序的标准化流程。从PCB基板的来料检验开始&#xff0c;通过全自动贴片机的高精度元件定位、SPI三维锡膏检测、智能温控回流焊接等关键…...

英语六级---2019.6 卷二 仔细阅读2

文章 Officials at the White House announced a new space policy focused on managing the increasing number of satellites that companies and governments are launching into space. Space Policy Directive-3 lays out general guidelines for the United States to mi…...

【小沐学GIS】基于C++绘制二维瓦片地图2D Map(QT、OpenGL、GIS)

&#x1f37a;三维数字地球系列相关文章如下&#x1f37a;&#xff1a;1【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;OpenGL、glfw、glut&#xff09;第一期2【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;OpenGL、glfw、glut、GIS&#xff09;第二期3【小沐学…...

Windows 系统 - Trae 内 终端 无法使用 node (重新配置 nodejs 路径)

想在 Trae 中尝试一下 mcp, 所以 Windows 系统下安装了 node.js. 安装成功后, 在 Windows 的 powershell 下可以 node -v, 但是在 Trae 的终端下输入 node -v 时, 识别提示不能识别 node 命令. 参考了 vscode 下的一种解决方式 VS Code 内终端无法使用 node 解决方案是相似的…...

AI编程: 使用Trae1小时做成的音视频工具,提取音频并识别文本

背景 在上个月&#xff0c;有网页咨询我怎么才能获取视频中的音频并识别成文本&#xff0c;我当时给他的回答是去问一下AI&#xff0c;让AI来给你答案。 他觉得我在敷衍他&#xff0c;大骂了我一顿&#xff0c;大家觉得我的回答对吗&#xff1f; 小编心里委屈&#xff0c;我…...

springCloud/Alibaba常用中间件之Nacos服务注册与发现

文章目录 SpringCloud Alibaba:依赖版本补充六、Nacos:服务注册与发现1、下载安装Nacos2、服务注册1. 导入依赖(这里以服务提供者为例)2. 修改配置文件和主启动类3. 创建业务类4. 测试 3.服务映射1. 导入依赖2. 修改配置文件和主启动类3. 创建业务类和RestTemplate配置类用来提…...

鸿蒙 所有API缩略图鉴

从HarmonyOS NEXT Developer Preview1&#xff08;API 11&#xff09;版本开始&#xff0c;HarmonyOS SDK以 Kit 维度提供丰富、完备的开放能力&#xff0c;涵盖应用框架、应用服务、系统、媒体、AI、图形在内的六大领域&#xff0c;共计30000个API...

互联网大厂Java求职面试:AI集成场景下的技术挑战与架构设计

标题&#xff1a;互联网大厂Java求职面试&#xff1a;AI集成场景下的技术挑战与架构设计 第一幕&#xff1a;向量数据库选型与性能调优 技术总监&#xff08;严肃脸&#xff09;&#xff1a; 郑薪苦&#xff0c;我们最近在做一个基于大语言模型的企业级AI应用&#xff0c;需要…...

搜索与图论

文章目录 搜索与图论深度优先搜索 DFS[843. n-皇后问题 - AcWing题库](https://www.acwing.com/problem/content/845/) 宽度优先搜索 BFS[844. 走迷宫 - AcWing题库](https://www.acwing.com/problem/content/description/846/) 树与图的存储[846. 树的重心 - AcWing题库](http…...

【递归、搜索和回溯】二叉树中的深搜

个人主页 &#xff1a; zxctscl 专栏 【C】、 【C语言】、 【Linux】、 【数据结构】、 【算法】 如有转载请先通知 文章目录 前言1 2331. 计算布尔二叉树的值1.1 分析1.2 代码 2 129. 求根节点到叶节点数字之和2.1 分析2.2 代码 3 814. 二叉树剪枝3.1 分析3.2 代码 4 98. 验证…...

通俗的理解MFC消息机制

1. 消息是什么&#xff1f; 想象你家的门铃响了&#xff08;比如有人按门铃、敲门、或者有快递&#xff09;&#xff0c;这些都是“消息”。 在 MFC 中&#xff0c;消息就是系统或用户触发的各种事件&#xff0c;比如鼠标点击&#xff08;WM_LBUTTONDOWN&#xff09;、键盘输入…...

Windows CMD通过adb检查触摸屏Linux驱动是否被编译

检查 CONFIG_TOUCHSCREEN_GT9XX 是否启用&#xff0c;检查内核是否编译了Goodix GT9XX系列触摸屏的驱动支持 Windows CMD.exe输入&#xff1a; adb shell “zcat /proc/config.gz | grep CONFIG_TOUCHSCREEN_GT9XX” 如果返回CONFIG_TOUCHSCREEN_GT9XXy&#xff0c;表示驱动已编…...

Java并发编程-锁(八)

文章目录 Condition的使用和实现使用add(T t) 实现等待队列await()signal()signalAll() 总结 Condition的使用和实现 我们知道&#xff0c;任意一个Java Object&#xff0c;都拥有一组监视器方法&#xff0c;主要包括wait()、 wait(long timeout)、notify()以及notifyAll()方法…...

idea如何快速生成测试类

点击 code -> generate -> Test...

FPGA笔试题review

今天翻网盘上的旧资料,找到了一套20年9月份在武汉某芯片公司食堂做的笔试题(我在做笔试题,旁边的人在嗦酸辣粉,也算是记忆犹新),借着这套题目,正好也可以捡一捡关于FPGA的基础知识点,算是温故而知新。答案更新中 1、名词解释 (1)FPGA、ASIC (2)CLB、LUT (3)时…...

[C++类和对象]构造函数和析构函数

类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f; 并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6 个默认成员函数。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译器会…...

Java【网络原理】(5)深入浅出HTTPS:状态码与SSL/TLS加密全解析

目录 1.前言 2.正文 2.1状态码 2.2HTTP与HTTPS的关系 2.3SSL协议 2.3.1对称加密 2.3.2非对称加密 2.3.3中间人攻击 2.3.4校验机制 2.3.4.1证书 2.3.4.2数字签名 1. 数字签名的生成过程 2. 数字签名的验证过程 2.4TLS协议&#xff08;握手过程&#xff09; 3.小结…...

《全球短剧正版授权通道,助力平台出海与流量变现》

正版短剧片源授权&#xff0c;全方位赋能您的内容运营 短剧作为短视频领域的一种重要形式&#xff0c;凭借其紧凑的剧情、鲜明的角色和引人入胜的叙事方式&#xff0c;赢得了广大观众的喜爱。 然而&#xff0c;在短剧市场蓬勃发展的同时&#xff0c;版权问题也日益凸显。为了保…...

17.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--ELK

在微服务中&#xff0c;日志是非常重要的组成部分。它不仅可以帮助我们排查问题&#xff0c;还可以帮助我们分析系统的性能和使用情况。ELK&#xff08;Elasticsearch、Logstash、Kibana&#xff09;是一个强大的日志分析工具&#xff0c;可以帮助我们收集、存储和分析日志数据…...