Nginx高级配置及重写功能

文章目录

  • 一、高级配置
    • 网页的状态页
    • Nginx第三方模块
    • 变量
    • 访问日志
    • Nginx压缩功能
    • https功能
    • 自定义小图标
  • 二、重写功能(rewrite)
    • if指令
    • return指令
    • set指令
    • break指令
    • rewrite指令
    • 防盗链


一、高级配置

网页的状态页

状态页显示的是整个服务器的状态而非虚拟主机的状态。
状态页用于输出nginx的基本状态信息。

在这里插入图片描述
Active connections:
当前处于活动状态的客户端连接数,包括连接等待空闲连接数=reading+writing+waiting

accepts:
#统计总值,Nginx自启动后已经接受的客户端请求的总数。

handled:
#统计总值,Nginx自启动后已经处理完成的客户端请求总数,通常等于accepts,除非有因worker_connections限制等被拒绝的连接。

requests:
#统计总值,Nginx自启动后客户端发来的总的请求数。

Reading:
#当前状态,正在读取客户端请求报文首部的连接的连接数,数值越大,说明排队现象严重,性能不足。

Writing:
#当前状态,正在向客户端发送响应报文过程中的连接数,数值越大,说明访问量很大。

Waiting:
#当前状态,正在等待客户端发出请求的空闲连接数,开启 keep-alive的情况下,这个值等于active – (reading+writing)

注意:
这个界面展示的信息还是比较重要,故我们可以用访问控制,或者增加验证的模块的方式,使得这些参数较为安全。
在这里插入图片描述
可以用压力测试工具来模拟并发连接

while : ;do ab -c 1000 -n 10000 http://192.168.91.100/;sleep 1;done#注意需要安装httpd-tools

Nginx第三方模块

echo模块
在这里插入图片描述
不识别echo这个命令,所以需要额外安装echo模块。

基本步骤:
1.首先获取到第三方模块
2.yum安装完之后,用命令(nginx -V)查看相关函数
3.停止nginx服务,并重新编译

在这里插入图片描述
在这里插入图片描述
验证成功。

变量

内置变量

变量含义
$remote_addr;存放了客户端的地址,注意是客户端的公网IP
$proxy_add_x_forwarded_for此变量表示将客户端IP追加请求报文中X-Forwarded-For首部字段,多个IP之间用逗号分隔,如果请求中没有X-Forwarded-For,就使用$remote_addrthe 。穿透的时候会用到这个变量。
$args;变量中存放了URL中的参数,字符串变量 。http://www.222.org/main/index.do?id=20190221&partner=search;返回结果为: id=20190221&partner=search
document_root;nginx软件的根目录,在系统中的真正位置。
$document_uri;保存了当前请求中不包含参数的URI,注意是不包含请求的指令。客户端打在浏览器中 url
$host;服务器地址
$limit_rate如果nginx服务器使用limit_rate配置了显示网络速率,则会显示,如果没有设置,则显示0
$remote_port;客户端的端口
$remote_user;虚拟用户登录nginx(经过Auth Basic Module验证的用户名)
$request_body_file;做反向代理时发给后端服务器的本地资源的名称
$request_method;请求资源的方式,GET/PUT/DELETE等
$request_filename当前请求的资源文件的磁盘路径,由root或alias指令与URI请求生成的文件绝对路径,如:/apps/nginx/html/main/index.html
$request_uri;包含请求参数的原始URI不包含主机名,相当于:$document_uri? $args,。如https:// www.baidu.com/main/index.do?则是/main/index.do?id=20190221&partner=search
$scheme;请求的协议,例如:http,https,ftp等
$server_protocol;保存了客户端请求资源使用的协议的版本,例如:HTTP/1.0,HTTP/1.1,HTTP/2.0等
$server_addr;保存了服务器的IP地址
$server_name;请求的服务器的主机名
$server_port;请求的服务器的端口号
$http_< name>name为任意请求报文首部字段,表示记录请求报文的首部字段
$http_user_agent;客户端浏览器的详细信息
$http_cookie;客户端的cookie信息
location /main {
        index index.html;#指示当请求的 URI 为 /main/ 时,默认返回  index.html 文件。
        default_type text/html;#文件默认类型为text/html
        echo "hello world,main-->";
        echo $remote_addr;
        echo $args;
    	echo $arg_user;
        echo $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;
        }
测试
 curl 'http://www.cxk.com/main?user=wyf&title=person' -b uid=100

在这里插入图片描述
自定义变量
如果需要自定义变量名称和值,使用指令 set $变量名 变量值

在这里插入图片描述
在这里插入图片描述

访问日志

日志格式
访问日志是记录客户端即用户的具体请求内容信息,而在全局配置模块中的error_log是记录nginx服务器运行时的日志保存路径和记录日志的level,因此两者是不同的,而且Nginx的错误日志一般只有一个。而访问日志可以在不同server中定义多个,定义一个日志需要使用access_log指定日志的保存路径,使用log_format指定日志的格式,格式中定义要保存的具体日志内容。
在这里插入图片描述
日志格式可以根据上述的内置变量,自己添加。
如果在子配置文件中,用到自定义的日志格式,一定要将include写在日志格式下方,否则不生效。

自定义json 格式日志
在主配置文件夹中加入

log_format access_json '{"@timestamp":"$time_iso8601",'
        '"host":"$server_addr",'
        '"clientip":"$remote_addr",'
        '"size":$body_bytes_sent,'
        '"responsetime":$request_time,'
        '"upstreamtime":"$upstream_response_time",'
        '"upstreamhost":"$upstream_addr",'  
        '"http_host":"$host",'
        '"uri":"$uri",'
        '"xff":"$http_x_forwarded_for",'
        '"referer":"$http_referer",'
        '"tcp_xff":"$proxy_protocol_addr",'
        '"http_user_agent":"$http_user_agent",'
        '"status":"$status"}';

在这里插入图片描述

Nginx压缩功能

支持对指定类型的文件进行压缩然后再传输给客户端,而且压缩还可以设置压缩比例,压缩后的文件大小将比源文件显著变小,这样有助于降低出口带宽的利用率,降低企业的IT支出,不过会占用相应的CPU资源。

配置指令功能
gzip on/ off;启用或禁用gzip压缩,默认关闭
gzip_comp_level level;压缩比由低到高从1到9,默认为1
gzip_disable “MSIE [1-6].”;禁用IE6 gzip功能;后面跟的是正则表达式
gzip_http_version 1.0 /1.1;启用压缩功能时,协议的最小版本,默认HTTP/1.1
gzip_buffers number size;指定Nginx服务需要向服务器申请的缓存空间的个数和大小,平台不同,默认:32 4k或者16 8k;
gzip_types mime-type …; a.txt指明仅对哪些类型的资源执行压缩操作;默认为gzip_types text/html,不用显示指定,否则出错
gzip_vary on / off;如果启用压缩,是否在响应报文首部插入“Vary: Accept-Encoding”,一般建议打开
gzip_static on / off;预压缩,先压缩好,不用临时压缩,消耗cpu

在这里插入图片描述
在这里插入图片描述
注意:gzip不压缩图片!!!

https功能

Web网站的登录页面都是使用https加密传输的,加密数据以保障数据的安全,HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议,HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。

证书类型:
在这里插入图片描述
https过程
在这里插入图片描述

  1. 客户端发起HTTPS请求
    用户在浏览器里输入一个https网址,然后连接到服务器的443端口。

  2. 服务端的配置
    采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。这套证书其实就是一对公钥和私钥。

  3. 传送服务器的证书给客户端
    证书里其实就是公钥,并且还包含了很多信息,如证书的颁发机构,过期时间等等。

  4. 客户端解析验证服务器证书
    这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如:颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值。然后用证书中公钥对该随机值进行非对称加密。

  5. 客户端将加密信息传送服务器

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

  1. 服务端解密信息

服务端将客户端发送过来的加密信息用服务器私钥解密后,得到了客户端传过来的随机值。

  1. 服务器加密信息并发送信息

服务器将数据利用随机值进行对称加密,再发送给客户端。

  1. 客户端接收并解密信息

客户端用之前生成的随机值解密服务段传过来的数据,于是获取了解密后的内容。

自签名证书生成过程
进入该文件夹下,先修改Makefile文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置ssl
nginx 的https 功能基于模块ngx_http_ssl_module实现,因此如果是编译安装的nginx要使用参数ngx_http_ssl_module开启ssl功能,但是作为nginx的核心功能,yum安装的nginx默认就是开启的,编译安装的nginx需要指定编译参数–with-http_ssl_module开启。

ssl on | off;   
#为指定的虚拟主机配置是否启用ssl功能,此功能在1.15.0废弃,使用listen [ssl]替代
listen 443 ssl;

ssl_certificate /path/to/file;
#指向包含当前虚拟主机和CA的两个证书信息的文件,一般是crt文件

ssl_certificate_key /path/to/file;
#当前虚拟主机使用的私钥文件,一般是key文件

在这里插入图片描述
在这里插入图片描述
访问成功。

自定义小图标

favicon.ico 文件是浏览器收藏网址时显示的图标,当客户端使用浏览器问页面时,浏览器会自己主动发起请求获取页面的favicon.ico文件,但是当浏览器请求的favicon.ico文件不存在时,服务器会记录404日志,而且浏览器也会显示404报错。
在这里插入图片描述

在这里插入图片描述

二、重写功能(rewrite)

Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求,此功能依靠 PCRE(perl compatible regular expression)即正则表达式,因此编译之前要安装PCRE库,rewrite是nginx服务器的重要功能之一,用于实现URL的重写,URL的重写是非常有用的功能,比如它可以在我们改变网站结构之后,不需要客户端修改原来的书签,也无需其他网站修改我们的链接,就可以设置为自动访问,另外还可以在一定程度上提高网站的安全性。

if指令

用于条件匹配判断,并根据条件判断结果选择不同的Nginx配置,可以配置在server或location块中进行配置,Nginx的if语法仅能使用if做单次判断,不支持使用if else或者if elif这样的多重判断,用法如下:

if (条件匹配) {   
 action
}

使用正则表达式对变量进行匹配。if指令认为条件为true,否则认为为flase,变量与表达式之间使用以下符号链接。

符号含义
=比较变量和字符串是否相等,相等时if指令认为该条件为true,反之为false
!=比较变量和字符串是否不相等,不相等时if指令认为条件为true,反之为false
~区分大小写字符,可以通过正则表达式匹配,满足匹配条件为真,不满足匹配条件为假
!~区分大小写字符,判断是否匹配,不满足匹配条件为真,满足匹配条件为假
~*不区分大小写字符,可以通过正则表达式匹配,满足匹配条件为真,不满足匹配条件为假
!~*不区分大小字符,判断是否匹配,满足匹配条件为假,不满足匹配条件为真
-f 和 !-f判断请求的文件是否存在和是否不存在
-d 和 !-d判断请求的目录是否存在和是否不存在
-x 和 !-x判断文件是否可执行和是否不可执行
-e 和 !-e判断请求的文件或目录是否存在和是否不存在(包括文件,目录,软链接)

注意:如果$变量的值为空字符串或0,则if指令认为该条件为false,其他条件为true。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
注意:if执行顺序有先后,前面的if语句执行完后,会停止匹配。

return指令

return用于完成对请求的处理,并直接向客户端返回响应状态码,比如:可以指定重定向URL(对于特殊重定向状态码,301/302等) 或者是指定提示文本内容(对于特殊状态码403/500等),处于此指令后的所有配置都将不被执行,return可以在server、if 和 location块进行配置。

return语句的格式

return code; #返回给客户端指定的HTTP状态码
return code [text]; #返回给客户端的状态码及响应报文的实体内容,可以调用变量,其中text如果有空格,需要用单或双引号
return code url; #返回给客户端的URL地址  

在这里插入图片描述

在这里插入图片描述

set指令

set可以定义变量,变量值可以是固定的,也可以是nginx的内置变量。
在这里插入图片描述
在这里插入图片描述

break指令

用于中断当前相同作用域(location)中的其他Nginx配置,与该指令处于同一作用域的Nginx配置中,位于它前面的配置生效,位于后面的 ngx_http_rewrite_module 模块中指令就不再执行,Nginx服务器在根据配置处理请求的过程中遇到该指令的时候,回到上一层作用域继续向下读取配置,该指令可以在server块和location if块中使用。

简单来说:在同一location中,如果break后面有set rewrit return if等指令不执行,其他指令继续执行。
在这里插入图片描述
在这里插入图片描述
这边就不显示服务端端口号了,说明break指令生效。

rewrite指令

通过正则表达式的匹配来改变URI,可以同时存在一个或多个指令,按照顺序依次对URI进行匹配,rewrite主要是针对用户请求的URL或者是URI做具体处理。
rewrite可以配置在 server、location、if
语法格式

rewrite regex               replacement(www.baidu.com)        [flag];

注意:如果在同一级配置块中存在多个rewrite规则,那么会自上而下逐个检查;被某条件规则替换完成后,会重新一轮的替换检查,隐含有循环机制,但不超过10次;如果超过,提示500响应码,[flag]所表示的标志位用于控制此循环机制如果替换后的URL是以http://或https://开头,则替换结果会直接以重定向返回给客户端, 即永久重定向 301。

rewrite flag 使用介绍
利用nginx的rewrite的指令,可以实现url的重新跳转,rewrtie有四种不同的flag,分别是redirect(临时重定向302)、permanent(永久重定向301)、break和last。其中前两种是跳转型的flag,后两种是代理型

  • 跳转型指由客户端浏览器重新对新地址进行请求。
  • 代理型是在WEB服务器内部实现跳转。

flag说明:

flag含义
redirect临时重定向,重写完成后以临时重定向方式直接返回重写后生成的新URL给客户端,由客户端重新发起请求;使用相对路径,或者http://或https://开头,状态码:302
permanent重写完成后以永久重定向方式直接返回重写后生成的新URL给客户端,由客户端重新发起请求,状态码:301
break重写完成后,停止对当前URL在当前location中后续的其它重写操作,而后直接跳转至重写规则配置块之后的其它配置;结束循环,建议在location中使用;适用于一个URL一次重写
last;重写完成后,停止对当前URI在当前location中后续的其它重写操作,而后对新的URL启动新一轮重写检查,不建议在location中使用;适用于一个URL多次重写,要注意避免出现超过十次以及URL重写后返回错误的给用户301

场景:若bj代表北京,但现在又出现一个宝鸡也可用bj代表,故两者可能会发生冲突,所以决定使用beijing代表北京,baoji代表宝鸡。但为了不造成之前用户的流失需要将bj重定向至北京。
在这里插入图片描述
这边的$1表示后项引用。
在这里插入图片描述
在这里插入图片描述

整个网页的跳转
在这里插入图片描述
在这里插入图片描述
break和last的区别
break是立即终止匹配,使用该url进行访问。
last是停止本停止本location中的 匹配,开启新一轮的 location 匹配。
在这里插入图片描述
在这里插入图片描述

防盗链

防盗链基于客户端携带的referer实现,referer是记录打开一个页面之前记录是从哪个页面跳转过来的标记信息,如果别人只链接了自己网站图片或某个单独的资源,而不是打开了网站的整个页面,这就是盗链,referer就是之前的那个网站域名,正常的referer信息有以下几种:
none:#请求报文首部没有referer首部,比如用户直接在浏览器输入域名访问web网站,就没有referer信息
blocked:#请求报文有referer首部,但无有效值,比如为空
server_names:#referer首部中包含本主机名及即nginx 监听的server_name。
arbitrary_string:#自定义指定字符串,但可使用作通配符。示例: * .nginx.org www.nginx.
regular expression:#被指定的正则表达式模式匹配到的字符串,要使用开头,例如:.* \ .nginx \ . com

首先第二台服务器上配置一个网站(有图片)

<html>
<body>
<h1>this is nginx  </h1>
<img src="http://192.168.232.10/a.jpg"/>
</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
盗用成功。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
利用重定向返回图片。

location ~* \.(jpg|gif|swf|png)$ {            
         root  /data/nginx/pc;
         valid_referers none blocked *.pc.com pc.com;   
         if ( $invalid_referer ) {
           rewrite ^/ http://www.pc.com/error.png;
           #return  403
           }
        }
        
        
        
~* \.(jpg|gif|swf)$:这段正则表达式表示匹配不区分大小写,以.jpg 或.gif 或.swf 结尾的文件
Valid_referers:设置信任的网站,可以正常使用图片。
None :浏览器中 referer 为空的情况,就是直接在浏览器访问图片。
Blocked :referer 不为空的情况 ,但是值被代理或防火墙删除了,这些值不以 http://或https://开头。后面的网址或者域名:referer 中包含相关字符串的网址。
If 语句:如果链接的来源域名不在 valid_referers 所列出的列表中,$invalid_referer 为1,则执行后面的操作,即进行重写或返回 403 页面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/695214.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Node.js快速部署opencv项目】图像分类与目标检测

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧&#xff0c;喜欢的小伙伴给个三连支…

Linux系统管理:虚拟机Almalinux 9.4 安装

目录 一、理论 1.Almalinux 二、实验 1.虚拟机Almalinux 9.4 安装准备阶段 2.安装Almalinux 9.4 3.Termius远程连接 一、理论 1.Almalinux (1) 简介 Almalinux是一个开源、社区拥有和管理、免费的企业Linux发行版。专注于长期稳定性&#xff0c;并提供强大的生产级…

按键精灵安装有乱码并且不能启动的解决办法

在国外购了电脑&#xff0c;系统是英文版 Windows 11&#xff0c;按键精灵死活都装不上去&#xff0c;打开exe的安装文件后出现乱码&#xff0c;安装完了后还是乱码&#xff0c;并且启动不了&#xff0c;以下是解决办法&#xff1a; 进入控制面板&#xff0c;并且点 Region&am…

TIM—通用定时器

通用定时器的功能 在基本定时器功能的基础上新增功能&#xff1a; 通用定时器有4个独立通道&#xff0c;且每个通道都可以用于下面功能。 &#xff08;1&#xff09;输入捕获&#xff1a;测量输入信号的周期和占空比等。 &#xff08;2&#xff09;输出比较&#xff1a;产生输…

vs2019 c++20规范 全局函数 ref 及模板类 reference_wrapper<_Ty> 的源码分析

这是个引用&#xff0c;可以包裹一个对象&#xff0c;相当于引用该对象&#xff0c;而不是在作为函数形参时产生值传递。因为模板 reference_wrapper<_Ty> 其实是封装了该对象的地址。下面以图示形式给出其重要的成员函数。模板其实都差不多&#xff0c;跟人也一样&#…

6月7号作业

1&#xff0c; 搭建一个货币的场景&#xff0c;创建一个名为 RMB 的类&#xff0c;该类具有整型私有成员变量 yuan&#xff08;元&#xff09;、jiao&#xff08;角&#xff09;和 fen&#xff08;分&#xff09;&#xff0c;并且具有以下功能&#xff1a; (1)重载算术运算符…

浅谈提示词发展现状,Prompt 自动优化是未来。

#封面手绘于本科期间&#xff0c;当年在知乎上写的第一篇关于 AI 的文章就用的这个封面&#xff0c;聊表纪念。 这次我们来聊聊 Prompt. 本来想取一个类似“提示词不存在了…”&#xff0c;或是“再见&#xff0c;Prompt 课程…”的标题&#xff0c;但最近很多大佬的谬赞让我感…

2024世界技能大赛某省选拔赛“网络安全项目”B模块--数据包分析(jsp流量解密)

2024世界技能大赛某省选拔赛“网络安全项目”B模块--数据包分析② 任务一、网络数据包分析取证解析:任务一、网络数据包分析取证解析: A 集团的网络安全监控系统发现有恶意攻击者对集团官方网站进行攻击,并抓取了部分可疑流量包。请您根据捕捉到的流量包,搜寻出网络攻击线…

SpringBoot引入WebSocket依赖报ServerContainer no avaliable

1、WebSocketConfig 文件报错 Configuration EnableWebSocket public class WebSocketConfig {Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}2、报错内容 Exception encountered during context initialization - canc…

golang协程工作池处理多任务示例

1. 工作方法实现 // 工作线程 // id : 线程号 // jobs : 任务通道 (chan) // results: 完成结果通道 (chan) func worker(id int, jobs <-chan int, results chan<- int) {//遍历任务for j : range jobs {fmt.Println("工作协程: ", id, "启动任务: &quo…

linux-ubuntu20网卡驱动安装AX201

https://blog.csdn.net/vor234/article/details/131682778 联想拯救者Y7000P2023 Ubuntu20.04网卡驱动AX211安装 幻14 ubuntu20.04 AX210驱动安装 官网下载相应的驱动&#xff1a;https://www.intel.com/content/www/us/en/support/articles/000005511/wireless.html sudo a…

图像处理ASIC设计方法 笔记29 场景自适应校正算法

P152 7.2.3 场景自适应校正算法 (一)Scribner提出的神经网络非均匀性校正算法 非均匀性校正(Non-Uniformity Correction,简称NUC)算法是红外成像技术中非常重要的一个环节。它主要用于校正红外焦平面阵列(Infrared Focal Plane Arrays,简称IRFPA)中的固定模式噪声,以提…

Objective-C 学习笔记 | 回调

Objective-C 学习笔记 | 回调 Objective-C 学习笔记 | 回调运行循环目标-动作对&#xff08;target-action&#xff09;辅助对象通知回调与对象所有权深入学习&#xff1a;选择器的工作机制 参考书&#xff1a;《Objective-C 编程&#xff08;第2版&#xff09;》 Objective-C…

Docker 基础使用 (4) 网络管理

文章目录 Docker 网络管理需求Docker 网络架构认识Docker 常见网络类型1. bridge 网络2. host 网络3. container 网络4. none 网络5. overlay 网络 Docker 网路基础指令Docker 网络管理实操 其他相关链接 Docker 基础使用(0&#xff09;基础认识 Docker 基础使用(1&#xff09;…

数据结构---树与二叉树

个人介绍 hello hello~ &#xff0c;这里是 code袁~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的…

TalkingData 是一家专注于提供数据统计和分析解决方案的独立第三方数据智能服务平台

TalkingData 是一家专注于提供数据统计和分析解决方案的独立第三方数据智能服务平台。通过搜索结果&#xff0c;我们可以了解到 TalkingData 的一些关键特性和市场情况&#xff0c;并将其与同类型产品进行比较。 TalkingData 产品特性 数据统计与分析&#xff1a;提供专业的数…

复数乘法IP核的使用

一、IP核解析 在这张图片中&#xff0c;我们看到的是一个“Complex Multiplier (6.0)” IP 核的配置界面。以下是各个配置参数的详细说明&#xff1a; 1.1 Multiplier Construction Use LUTs: 选择这个选项时&#xff0c;乘法器将使用查找表&#xff08;LUTs&#xff09;来实现…

TiDB-从0到1-配置篇

TiDB从0到1系列 TiDB-从0到1-体系结构TiDB-从0到1-分布式存储TiDB-从0到1-分布式事务TiDB-从0到1-MVCCTiDB-从0到1-部署篇TiDB-从0到1-配置篇 一、系统配置 TiDB的配置分为系统配置和集群配置两种。 其中系统配置对应TiDB Server&#xff08;不包含TiKV和PD的参数&#xff0…

显示子系统,显示子前后端,linuxfb,wayland

显示前端 显示前端通常指的是在图形系统中负责生成图形数据的部分或组件。它负责接收来自应用程序或图形引擎的图形数据&#xff0c;并将其转换成适合显示的格式&#xff0c;以便发送到显示后端进行处理和输出。 显示前端的功能通常包括以下几个方面&#xff1a; 图形数据生…

好书推荐之《生成式 AI 入门与亚马逊云科技AWS实战》

最近小李哥在亚马逊云科技峰会领到了一本关于如何在云计算平台上设计、开发GenAI应用的书&#xff0c;名字叫&#xff1a;《生成式 AI 入门与亚马逊云科技AWS实战》&#xff0c;今天仔细看了下&#xff0c;发现这本书讲的真的很好&#xff01;他涵盖了当下AI领域所有热门的技术…