Nginx源码安装与进阶负载均衡

目录

一  web服务介绍

二 Nginx介绍与源码安装

2.1 nginx源码安装

2.2 平滑升级和回滚

三 配置文件详解

3.1 配置文件说明

3.2 全局配置与http模块

3.3 root与alias

3.4 location的介绍

3.5 账户认证

四 高级配置

4.1 nginx 压缩功能

4.2 变量介绍

五 nginx反向代理功能

5.1 http反向代理

5.2 nginx四层负载

5.3 实现fastcgi

5.4 php高速缓存


一  web服务介绍

Web 服务,即网络服务,是一种基于互联网的软件系统,它通过标准的网络协议和数据格式,为不同的应用程序或设备之间提供交互和数据共享的能力。

一、HTTP 简介

 

HTTP 是一种用于分布式、协作式和超媒体信息系统的应用层协议。它是互联网上最常用的协议之一,用于在客户端(如浏览器)和服务器之间传输超文本数据,如网页、图像、视频等。

 
  1. 工作原理

    • 客户端向服务器发送一个 HTTP 请求,请求中包含了要访问的资源的 URL(Uniform Resource Locator,统一资源定位符)以及一些请求头信息,如用户代理、接受的内容类型等。
    • 服务器接收到请求后,根据请求的 URL 找到相应的资源,并生成一个 HTTP 响应返回给客户端。响应中包含了资源的内容以及一些响应头信息,如内容类型、响应状态码等。
    • 客户端接收到响应后,根据响应头信息解析资源的内容,并在浏览器中显示出来。
  2. 主要特点

    • 无状态:HTTP 是一种无状态协议,即服务器不会记住客户端的请求历史。这意味着每次客户端向服务器发送请求时,都需要包含完整的请求信息,服务器无法根据之前的请求来推断当前请求的上下文。
    • 支持多种请求方法:HTTP 支持多种请求方法,如 GET、POST、PUT、DELETE 等。不同的请求方法用于不同的目的,如 GET 用于获取资源,POST 用于提交数据等。
    • 可扩展性:HTTP 是一种可扩展的协议,可以通过添加新的请求头和响应头来支持新的功能。例如,通过添加 Accept-Ranges 请求头和 Content-Range 响应头,可以实现断点续传功能。
 

二、Nginx 简介

 

Nginx 是一款高性能的 Web 服务器、反向代理服务器和负载均衡器。它以其高并发处理能力、低内存消耗和稳定性而闻名。

 
  1. 主要功能

    • Web 服务器:Nginx 可以作为一个独立的 Web 服务器,直接处理客户端的 HTTP 请求,并返回相应的资源。它支持静态文件服务、动态内容生成(如 PHP、Python 等)以及反向代理等功能。
    • 反向代理:Nginx 可以作为反向代理服务器,将客户端的请求转发到后端的服务器上,并将后端服务器的响应返回给客户端。反向代理可以提高系统的安全性、性能和可扩展性。
    • 负载均衡:Nginx 可以作为负载均衡器,将客户端的请求分发到多个后端服务器上,以实现负载均衡和高可用性。负载均衡可以提高系统的吞吐量和可靠性。
  2. 工作原理

    • 当客户端向 Nginx 发送一个 HTTP 请求时,Nginx 首先根据配置文件中的规则,确定请求应该被转发到哪个后端服务器上。
    • 如果请求是静态文件请求,Nginx 可以直接从本地文件系统中读取文件,并返回给客户端。如果请求是动态内容请求,Nginx 将请求转发到后端的应用服务器上,应用服务器处理请求并生成响应,Nginx 将响应返回给客户端。
    • 在反向代理和负载均衡的情况下,Nginx 可以根据配置文件中的策略,选择一个合适的后端服务器,并将请求转发到该服务器上。后端服务器处理请求并生成响应,Nginx 将响应返回给客户端。

二 Nginx介绍与源码安装

Nginx(Engine X)是一款高性能的开源 Web 服务器、反向代理服务器和负载均衡器。它以其出色的性能、稳定性和低资源消耗而备受赞誉,在互联网领域得到了广泛的应用。

 

一、主要特点

 
  1. 高性能

    • Nginx 采用事件驱动的异步非阻塞架构,能够高效地处理大量并发连接。与传统的多线程或多进程服务器相比,它在高并发场景下表现出更低的内存占用和更高的吞吐量。
    • 例如,在处理静态文件请求时,Nginx 可以快速地从磁盘读取文件并将其发送给客户端,而不会因为大量并发请求而导致性能下降。
  2. 稳定性

    • Nginx 具有高度的稳定性,能够在长时间运行中保持可靠的服务。它经过了广泛的测试和实际应用的验证,能够应对各种复杂的网络环境和负载情况。
    • 许多大型网站和互联网服务提供商都选择 Nginx 作为其核心的 Web 服务器或负载均衡器,以确保服务的高可用性和稳定性。
  3. 低资源消耗

    • Nginx 对系统资源的消耗非常低,能够在资源有限的环境下高效运行。它可以在普通的服务器硬件上处理大量的并发连接,而不会对服务器的性能产生明显的影响。
    • 这使得 Nginx 特别适合于云计算、容器化等场景,能够在资源受限的环境中为应用提供高性能的服务。
  4. 反向代理和负载均衡

    • Nginx 可以作为反向代理服务器,将客户端的请求转发到后端的应用服务器上。它可以隐藏后端服务器的真实 IP 地址,提高系统的安全性。
    • 同时,Nginx 还可以作为负载均衡器,将客户端的请求分发到多个后端服务器上,以实现负载均衡和高可用性。它支持多种负载均衡算法,如轮询、加权轮询、IP 哈希等,可以根据实际需求进行灵活配置。
  5. 丰富的功能模块

    • Nginx 拥有丰富的功能模块,可以满足不同的应用需求。例如,它支持 SSL/TLS 加密、HTTP/2 协议、动态模块加载、缓存、压缩等功能。
    • 这些功能模块可以通过简单的配置进行启用或禁用,使得 Nginx 能够适应各种不同的应用场景。

2.1 nginx源码安装

补充:./configure 后选项介绍

--prefix=/usr/local/nginx \  指定安装路径
--user=nginx \ # 指定 nginx 运行用户
--group=nginx \ # 指定 nginx 运行组
--with-http_ssl_module \ # 支持 https://
--with-http_v2_module \ # 支持 http 版本 2
--with-http_realip_module \ # 支持 ip 透传
--with-http_stub_status_module \ # 支持状态页面
--with-http_gzip_static_module \ # 支持压缩
--with-pcre \ # 支持正则
--with-stream \ # 支持 tcp 反向代理
--with-stream_ssl_module \ # 支持 tcp ssl 加密
--with-stream_realip_module # 支持 tcp 的透传 ip
 --add-module=/root/echo-nginx-module-0.63

2.1.1 将nginx包传入并解压

2.1.2 解压之后的目录中,用configure检测模块,并且检测需要安装的软件包,然后创建用户,并指定目录

创建用户:

useradd -s /sbin/nologin -M nginx

2.1.3下载依赖包,并且重新检测成功后,输入make命令

yum install gcc pcre-devel zlib-devel openssl-devel -y

2.1.4 然后make install

2.1.5 运行并产看他的进程

2.1.6 配置环境变量

2.1.7 然后停止。准备做平滑升级和回滚

2.2 平滑升级和回滚

2.2.1 解压高版本nginx

2.2.2 配置26

2.2.3 然后make制作

此时还是nginx24的进程

2.2.4 备份老的,在把新版本复制过去

2.2.5 user2介绍

#USR2 平滑升级可执行程序 , 将存储有旧版本主进程 PID 的文件重命名为 nginx.pid.oldbin ,并启动新的
nginx
# 此时两个 master 的进程都在运行 , 只是旧的 master 不在监听 , 由新的 master 监听 80
# 此时 Nginx 开启一个新的 master 进程,这个 master 进程会生成新的 worker 进程,这就是升级后的 Nginx
程,此时老的进程不会自动退出,但是当接收到新的请求不作处理而是交给新的进程处理。
2.2.6 回收旧版本
# 回收旧版本
[root@Nginx sbin]# kill -WINCH 10576
新版本生效
2.2.7 回滚
释放旧的
2.2.8  拉起旧的
删掉其他

三 配置文件详解

3.1 配置文件说明

主配置文件:nginx.conf

子配置文件:include conf.d/*.conf

nginx配置文件格式说明

配置文件由指令与指令块构成
每条指令以 ; 分号结尾,指令与值之间以空格符号分隔
可以将多条指令放在同一行 , 用分号分隔即可 , 但可读性差 , 不推荐
指令块以 { } 大括号将多条指令组织在一起 , 且可以嵌套指令块
include 语句允许组合多个配置文件以提升可维护性
使用 # 符号添加注释,提高可读性
使用 $ 符号使用变量
部分指令的参数支持正则表达式
nginx 主配置文件的配置指令方式
directive value [value2 ...];
注意
(1) 指令必须以分号结尾
(2) 支持使用配置变量
内建变量:由 Nginx 模块引入,可直接引用
自定义变量:由用户使用 set 命令定义 , 格式 : set variable_name value;
引用变量: $variable_name
主配置结构
main block :主配置段,即全局配置段,对 http,mail 都有效
# 事件驱动相关的配置
event {
...
}
#http/https 协议相关配置段
http { ...
}
# 默认配置文件不包括下面两个块
#mail 协议相关配置段
mail {
...
}
#stream 服务器相关配置段
stream {
...
}
文件格式说明
# 全局配置端,对全局生效,主要设置 nginx 的启动用户 / 组,启动的工作进程数量,工作模式, Nginx PID 路 径,日志路径等。
worker_processes 1; # 启动工作进程数数量
worker_connections 1024; # 设置单个 nginx 工作进程可以接受的最大并发
#http 块是 Nginx 服务器配置中的重要部分,缓存、代理和日志格 式定义等绝大多数功能和第三方模块
http 块可 以包含多个server 块,而一个 server 块中又可以包含多个 location
keepalive_timeout 65; # 长连接超时时间,单位是秒
listen 80; # 配置 server 监听的端口
# 和邮件相关的配置
#mail {
# ...
# } mail 协议相关配置段
#tcp 代理配置, 1.9 版本以上支持
#stream {
# ...
# } stream 服务器相关配置段
# 导入其他路径的配置文件
#include /apps/nginx/conf.d/*.conf
}

3.2 全局配置与http模块

全局配置

Main 全局配置段常见的配置指令分类
正常运行必备的配置
优化性能相关的配置
用于调试及定位问题相关的配置
事件驱动相关的配置
全局配置说明
user nginx nginx; # 启动 Nginx 工作进程的用户和组
worker_processes [number | auto]; # 启动 Nginx 工作进程的数量 , 一般设为和 CPU 核心数相同
worker_cpu_affinity 00000001 00000010 00000100 00001000 | auto ;
# Nginx 工作进程绑定到指定的 CPU 核心,默认 Nginx 是不进行进程绑定的,绑定并不是意味着当前 nginx
程独占以一核心 CPU ,但是可以保证此进程不运行在其他核心上,这就极大减少了 nginx 的工作进程在不同的
cpu 核心上的来回跳转,减少了 CPU 对进程的资源分配与回收以及内存管理等,因此可以有效的提升 nginx 服务
器的性能。
CPU MASK: 00000001 0 CPU
00000010 1 CPU
10000000 7 CPU
# 示例
worker_cpu_affinity 0001 0010 0100 1000; 0 --- 3 CPU
worker_cpu_affinity 0101 1010;
#pid 文件保存路径
pid /usr/local/nginx/logs/nginx.pid;
worker_priority 0; # 工作进程优先级, -20~20(19)
worker_rlimit_nofile 65536; # 所有 worker 进程能打开的文件数量上限 ,
# 包括 :Nginx 的所有连接(例如与代理服务器的连接等)
# 而不仅仅是与客户端的连接
# 另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件
数的限制
# 最好与 ulimit -n 或者 limits.conf 的值保持一致
worker_connections 65535; # 设置单个工作进程的最大并发连接数
use epoll; # 使用 epoll 事件驱动,

http配置块

# 在响应报文中将指定的文件扩展名映射至 MIME 对应的类型
include /etc/nginx/mime.types;
default_type application/octet-stream; # mime.types 中的类型外 #指定其它文件的默认 MIME 类型,浏览 器一般会提示下载
types {
text/html html;
image/gif gif;
image/jpeg jpg;
}
基于不同的 IP 、不同的端口以及不用得域名实现不同的虚拟主机,依赖于核心模块
ngx_http_core_module 实现。

3.3 root与alias

写一个子配置文件,*.conf记得加引号

root举例

alias :定义路径别名,会把访问的路径重新定义到其指定的路径 , 文档映射的另一种机制 ; 仅能用于
location 上下文 , 此指令使用较少   
alias : 格式保持一致

补充:

root # 给定的路径对应于 location 中的 /uri 左侧的 /
alias # 给定的路径对应于 location 中的 /uri 的完整路径

3.4 location的介绍

在一个 server location 配置段可存在多个,用于实现从 uri 到文件系统的路径映射;
ngnix 会根据用户请求的 URI 来检查定义的所有 location ,按一定的优先级找出一个最佳匹配,
而后应用其配置在没有使用正则表达式的时候, nginx 会先在 server 中的多个 location 选取匹配度最高的一个uri uri是用户请求的字符串,即域名后面的 web 文件路径
然后使用该 location 模块中的正则 url 和字符串,如果匹配成功就结束搜索,并使用此 location 处理此请求。

3.5 账户认证

ngx_http_auth_basic_module 模块提供此功能
在配置文件写入
测试

四 高级配置

4.1 nginx 压缩功能

Nginx 支持对指定类型的文件进行压缩然后再传输给客户端,而且压缩还可以设置压缩比例,压缩后的文
件大小将比源文件显著变小,样有助于降低出口带宽的利用率,降低企业的 IT 支出,不过会占用相
应的 CPU 资源。
Nginx 对文件的压缩功能是依赖于模块 ngx_http_gzip_module, 默认是内置模块
介绍
# 启用或禁用 gzip 压缩,默认关闭
gzip on | off;
# 压缩比由低到高从 1 9 ,默认为 1 ,值越高压缩后文件越小,但是消耗 cpu 比较高。基本设定未 4 或者 5
gzip_comp_level 4;
# 禁用 IE6 gzip 功能,早期的 IE6 之前的版本不支持压缩
gzip_disable "MSIE [1-6]\.";
#gzip 压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
# 启用压缩功能时,协议的最小版本,默认 HTTP/1.1
gzip_http_version 1.0 | 1.1;
# 指定 Nginx 服务需要向服务器申请的缓存空间的个数和大小 , 平台不同 , 默认 :32 4k 或者 16 8k;
gzip_buffers number size;
# 指明仅对哪些类型的资源执行压缩操作 ; 默认为 gzip_types text/html ,不用显示指定,否则出错
gzip_types mime-type ...;
# 如果启用压缩,是否在响应报文首部插入 “Vary: Accept-Encoding”, 一般建议打开
gzip_vary on | off;
# 预压缩,即直接从磁盘找到对应文件的 gz 后缀的式的压缩文件返回给用户,无需消耗服务器 CPU
# 注意 : 来自于 ngx_http_gzip_static_module 模块
gzip_static on | off;
示例

4.2 变量介绍

变量使用:

ginx 的变量可以在配置文件中引用,作为功能判断或者日志等场景使用
变量可以分为内置变量和自定义变量
内置变量是由 nginx 模块自带,通过变量可以获取到众多的与客户端访问相关的值。
常用内置变量
$remote_addr;     #存放了客户端的地址,注意是客户端的公网 IP
$args;  # 变量中存放了 URL 中的所有参数   
# 例如 :https://search.jd.com/Search?keyword= 手机 &enc=utf-8
# 返回结果为 : keyword= 手机 &enc=utf-8
$is_args
# 如果有参数为 ? 否则为空
$document_root;
# 保存了针对当前资源的请求的系统根目录 , 例如 :/webdata/nginx/timinglee.org/lee
$document_uri;
# 保存了当前请求中不包含参数的 URI ,注意是不包含请求的指令
# 比如 :http://lee.timinglee.org/var?\id=11111 会被定义为 /var
# 返回结果为 :/var
$host;
# 存放了请求的 host 名称
limit_rate 10240;
echo $limit_rate;
# 如果 nginx 服务器使用 limit_rate 配置了显示网络速率,则会显示,如果没有设置, 则显示 0
$remote_port;
# 客户端请求 Nginx 服务器时随机打开的端口,这是每个客户端自己的端口
$remote_user;
# 已经经过 Auth Basic Module 验证的用户名
$request_body_file;
# 做反向代理时发给后端服务器的本地资源的名称
自定义变量
Syntax: set $variable value;
Default: —
Context: server, location, if

五 nginx反向代理功能

反向代理: reverse proxy ,指的是代理外网用户的请求到内部的指定的服务器,并将数据返回给用户的
一种方式,这是用的比较多的一种方式。
Nginx 除了可以在企业提供高性能的 web 服务之外,另外还可以将 nginx 本身不具备的请求通过某种预
定义的协议转发至其它服务器处理,不同的协议就是 Nginx 服务器与其他服务器进行通信的一种规范,主
要在不同的场景使用以下模块实现不同的功能
ngx_http_proxy_module: # 将客户端的请求以 http 协议转发至指定服务器进行处理
ngx_http_upstream_module # 用于定义为 proxy_pass,fastcgi_pass,uwsgi_pass
# 等指令引用的后端服务器分组
ngx_stream_proxy_module: # 将客户端的请求以 tcp 协议转发至指定服务器处理
ngx_http_fastcgi_module: # 将客户端对 php 的请求以 fastcgi 协议转发至指定服务器助理
ngx_http_uwsgi_module: # 将客户端对 Python 的请求以 uwsgi 协议转发至指定服务器处理

5.1 http反向代理

proxy_pass; # 用来设置将客户端请求转发给的后端服务器的主机
# 可以是主机名 ( 将转发至后端服务做为主机头首部 ) IP 地址:端口的方式
# 也可以代理到预先设置的主机群组,需要模块 ngx_http_upstream_module 支持
服务器配置
客户机配置
并且客户端访问代理到后端服务器上

5.2 nginx四层负载

5.3 实现fastcgi

为什么会有 FastCGI
CGI 协议虽然解决了语言解析器和 Web Server 之间通讯的问题,但是它的效率很低,因为 Web Server
每收到一个请求都会创建一个 CGI 进程, PHP 解析器都会解析 php.ini 文件,初始化环境,请求结束的时候
再关闭进程,对于每一个创建的 CGI 进程都会执行这些操作,所以效率很低,而 FastCGI 是用来提高 CGI
能的, FastCGI 每次处理完请求之后不会关闭掉进程,而是保留这个进程,使这个进程可以处理多个请
求。这样的话每个请求都不用再重新创建一个进程了,大大提升了处理效率。
什么是 PHP-FPM
PHP-FPM(FastCGI Process Manager
FastCGI 进程管理器 ) 是一个实现了 Fastcgi 的程序,并且提供进程管理的功能。
进程包括 master 进程和 worker 进程。 master 进程只有一个,负责监听端口,接受来自 web server
的请求
worker 进程一般会有多个,每个进程中会嵌入一个 PHP 解析器,进行 PHP 代码的处理。
源码编译
yum install -y bzip2 systemd-devel libxml2-devel sqlite-devel
libpng-devel libcurl-devel oniguruma-devel
然后上传php软件
然后编译
./configure --prefix=/usr/local/nginx --add-module=/root/echo-nginx-module-0.63 --add-module=/root/memc-nginx-module-0.20 --add-module=/root/srcache-nginx-module-0.33 --user=nginx --group=nginx --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module  --with-stream  --with-stream_ssl_module  --with-stream_realip_module --with-pcre --
然后make && make install 安装,然后操作文件
设置时区
注释选项,启动系统
启动
准备php测试界面
nginx 配置转发
重启nginx服务
验证php测试界面
添加php环境

5.4 php高速缓存

由于php访问效率有点差,所以需要memcache缓存来提升他的速度,类似于在内存那给他了一个小空间,让他缓存

解压 tar zxf memcache-8.2.tgz

安装

复制测试文件到nginx发布目录中

按要求修改

配置 php 加载 memcache 模块

yum install memcached -y   下载软件并且   配置

高速缓存

make && make install 

配置nginx主目录,让其包含conf.d/*.conf

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

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

相关文章

电脑硬盘坏了怎么恢复数据?

在数字化时代,电脑硬盘作为存储核心,承载着我们的工作文档、学习资料、家庭照片以及无数珍贵的回忆。然而,硬盘作为机械设备,也有其寿命和脆弱性,一旦出现故障,数据恢复便成为了一个紧迫而棘手的问题。本文…

电路板中的MARK点

什么是mark点,什么情况下有mark点 Mark点的种类 局部mark点:针对那些 引脚数量众多 引脚间距非常紧凑的元器件 比如说QFT封装 BGA封装 MARK点的作用 不论是 拼版还是全局mark 一般都会放上2-3个点 第三个mark点一般用于比较大的电路板或者是比较大的拼…

【Linux】 gdb-调试器初入门(简单版使用)

🔥系列文章:《Linux入门》 目录 一、背景 二、什么是GDB 🌷定义 🌷GDB调试工具---提供的帮助 三、GDB的安装教程-Ubuntu 🌷gdb的安装 四、哪类程序可被调试 🌷程序的发布方式 🌷Debug版…

【吊打面试官系列-Memcached面试题】memcached 如何实现冗余机制?

大家好,我是锋哥。今天分享关于 【memcached 如何实现冗余机制? 】面试题,希望对大家有帮助; memcached 如何实现冗余机制? 不实现!我们对这个问题感到很惊讶。Memcached 应该是应用的缓存层。它的设计本身…

ETAS工具链自动化实战指南<一>

----自动化不仅是一种技术,更是一种思维方式,它将帮助我们在快节奏的工作环境中保持领先! 目录 往期推荐 场景一:SWC 之间 port自动连接 命令示例 参数说明 场景二:SWC与ECU 自动映射 命令示例 参数说明 场景三&…

【Linux学习】Linux开发工具——vim

🔥个人主页: Forcible Bug Maker 🔥专栏:Linux学习 目录 🌈前言🔥vim的基本概念🔥vim的基本操作🔥vim命令模式的命令集🔥简单vim配置⭐一键配置美观的vim安装方法卸载方…

瓜子二手车源码开发

瓜子二手车作为国内知名的二手车交易平台,其开发需求与功能架构主要围绕提升用户体验、保障交易安全、优化交易流程以及提供全面服务等方面展开。以下是对瓜子二手车开发需求与功能架构的详细分析 一、开发需求 用户需求: 便捷性:用户希望能…

Qt 0820作业

一、思维导图 二、闹钟 头文件代码 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTime> //时间类 #include <QTimer> //时间事件类 #include <QTimerEvent> //定时器事件类 #include <QMouseEvent> //鼠标…

VS2019安装VisualAssist后菜单不显示的问题

1、参考链接 解决vs2019/vs2022安装成功Visual Assist/qt tools后, vs菜单栏的扩展中不显示相应插件的问题_qt安装后 vs扩展中没有-CSDN博客 这个链接有类似的解答。 但是讲解的不够详细&#xff0c;下面是我的实操步骤&#xff0c;供大家参考。 2、重命名privateregistry.bi…

数据埋点系列总结|从基础到实践的深度总结

在当今数字化时代,数据已成为企业的核心资产,而数据驱动决策则是充分利用这一资产的关键方法。本系列文章全面探讨了从数据收集到分析,再到实际应用的整个过程,为读者提供了深入而实用的指导。让我们深入回顾这个journey,详细探讨每个主题的核心内容,并思考数据驱动决策的未来发…

Ubuntu网络服务无法启动问题

问题 Ubuntu20.04卡死重启后网络服务打不开&#xff0c;没有下图中的有线一栏&#xff1a; 查看网络服务状态如下&#xff1a; systemctl status NetworkManager此时桌面右上角没有下图中网络图标&#xff1a; 解决 命令&#xff1a; sudo service network-manager sto…

Excel如何快速比对两列数值是否相等

好文章百度安全验证 推荐选中全部数据&#xff0c;条件格式——突出显示----重复值

MT7621+MT7915(MT7905)+MT7975 (W7621A6G-SDK)编译固件与升级固件方法

一、搭建开发环境&#xff0c;编译固件。 1、安装在Ubuntu 14.04.5 x86_64系统后&#xff0c;然后安装下面命令行。 $ sudo apt-get install git g make libncurses5-dev subversion libssl-dev gawk libxml-parser-perl unzip wget python xz-utils vim zlibc zlib1g zlib1g…

网安新声 | 从微软“狂躁许可”漏洞事件看安全新挑战与应对策略

网安加社区【网安新声】栏目&#xff0c;汇聚网络安全领域的权威专家与资深学者&#xff0c;紧跟当下热点安全事件、剖析前沿技术动态及政策导向&#xff0c;以专业视野和前瞻洞察&#xff0c;引领行业共同探讨并应对新挑战的策略与可行路径。 近期&#xff0c;微软披露了一个最…

分布式基础理论——CAP理论和BASE理论

文章目录 CAP 理论BASE 理论参考资料 CAP 理论 CAP定理&#xff08;CAP theorem&#xff09;指出&#xff0c;在分布式系统中&#xff0c;设计读写操作时只能同时满足以下三个特性中的两个&#xff1a; 一致性&#xff08;Consistency&#xff09; : 所有节点访问同一份最新的…

1.Java:集合

集合作用&#xff1a; 1.动态保存任意多个对象。 2.提供操作对象方法比如add,remove,set,get等方法。 3.使用集合添加&#xff0c;删除代码简洁。 集合分类 集合分为单列集合以及双列集合。 单列集合&#xff1a; 双列集合&#xff1a; Collection接口特点 1.Collection…

数据湖之Delta Lake

Delta Lake&#xff1a;数据湖存储层概述 Delta Lake 是一种开源的存储层技术&#xff0c;构建在 Apache Spark 的基础之上&#xff0c;旨在解决传统数据湖的可靠性、性能和数据一致性问题。它通过引入 ACID 事务、数据版本控制、时间旅行和统一的批处理与流处理等特性&#x…

20240820飞凌的OK3588-C的核心板在Linux R4下使用poweroff关机

20240820飞凌的OK3588-C的核心板在Linux R4下使用poweroff关机 2024/8/20 14:03 经过测试&#xff0c;poweroff有效&#xff0c;关机之后&#xff0c;12V/0.024A12*0.0240.288W shutdown无效。 reboot -p无效。 rootok3588:/# rootok3588:/# shutdown -h now sh: shutdown: c…

ZHEYI自动采集壁纸系统网站源码 360壁纸官方数据接口采集

利用ZHEYI自动采集壁纸源码&#xff0c;您不需要自己手动添加壁纸&#xff0c;而是通过接口自动从360壁纸官方获取数据&#xff0c;大大节省了时间和精力。同时&#xff0c;该源码还具有高效稳定的特点&#xff0c;为您提供流畅的用户体验。 无论是在操作上还是在性能上&#…

Prometheus:pushgateway使用

1 项目目标 &#xff08;1&#xff09;熟练部署pushgateway &#xff08;2&#xff09;使用api增删改查数据 &#xff08;3&#xff09;使用python Client SDK Push数据到pushgateway 2.1 规划节点 主机名 主机IP 节点规划 prome-master01 10.0.1.10 服务端 prome-no…