Nginx 核心功能
目录
一:正向代理
1:编译安装 Nginx
(1)安装支持软件
(2)创建运行用户、组和日志目录
(3)编译安装 Nginx
(4)添加 Nginx 系统服务
2:配置正向代理
二:反向代理
1:配置nginx七层代理
2:配置nginx四层代理
三:Nginx 缓存
1:缓存功能的核心原理和缓存类型
2:代理缓存功能设置
四:Nginx rewrite和正则
一:正向代理
正向代理(Forward Proxy)是一种位于客户端和原始服务器之间的代理服务器,其主 要作用是将客户端的请求转发给目标服务器,并将响应返回给客户端 Nginx 的 正向代理 充当客户端的“中间人”,代表用户访问外部资源并隐藏真实 IP。 它是企业内网管控、安全审计与加速访问的核心工具。用于场景一般是:
- 内网访问控制:限制员工访问特定网站(如社交媒体)
- 匿名访问:通过代理服务器隐藏用户真实身份。
- 资源缓存加速:缓存公共资源(如软件包、镜像文件),减少外网带宽消耗。
1:编译安装 Nginx
(1)安装支持软件
Nginx 的配置及运行需要 pcre、zlib 等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保 Nginx 的安装顺利完成。
[root@localhost ~]# dnf install -y gcc make pcre-devel zlib-devel openssl-devel
perl-ExtUtils-MakeMaker git wget tar
(2)创建运行用户、组和日志目录
Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确 地控制其访问权限,增加灵活性、降低安全风险。例如,创建一个名为 nginx 的用户,不 建 立宿主文件夹,也禁止登录到 Shell 环境。
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
[root@localhost ~]# mkdir -p /var/log/nginx
[root@localhost ~]# chown -R nginx:nginx /var/log/nginx
(3)编译安装 Nginx
配置Nginx的编译选项时,将安装目录设为/usr/local/nginx,运行用户和组均设为nginx; 启用 http_stub_status_module 模块以支持状态统计,便于查看服务器的连接信息。具体选项根据实际需要来定,配置前可参考“./configure --help”给出的说明。
[root@localhost ~]# tar zxf nginx-1.26.3_http_proxy.tar.gz
[root@localhost ~]# cd nginx-1.26.3
[root@localhost ~]# git clone
https://github.com/chobits/ngx_http_proxy_connect_module.git #(默认nginx不支持
转发https)下载第三方模块,用以支持正向代理https转发,提供的源码目录已提前放置该
模块,这里无需下载,仅作为介绍
[root@localhost nginx-1.26.3]#./configure --prefix=/usr/local/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
--with-http_gzip_static_module --add-module=./ngx_http_proxy_connect_module
[root@localhost nginx-1.26.3]# make && make install
参数类别 | 参数名称 | 说明 |
---|---|---|
用户/组 | user=nginx | 指定nginx运行用户 |
group=nginx | 指定nginx运行组 | |
HTTP模块 | with=http_ssl_module | 支持HTTPS协议 |
with=http_v2_module | 支持HTTP/2协议 | |
with=http_realip_module | 支持IP透传(获取客户端真实IP) | |
with=http_stub_status_module | 支持状态页面(用于监控nginx运行状态) | |
with=http_gzip_static_module | 支持静态文件压缩 | |
with=pcre | 支持正则表达式 | |
流模块 | with=stream | 支持TCP/UDP反向代理 |
with=stream_ssl_module | 支持TCP连接的SSL加密 | |
with=stream_realip_module | 支持TCP连接的IP透传 | |
第三方模块 | add=module=./ngx_http_proxy_connect_module | 支持HTTPS转发(默认nginx不支持,需添加此第三方模块) |
为了使 Nginx 服务器的运行更加方便,可以为主程序 nginx 创建链接文件,以便管 理员直接执行“nginx”命令就可以调用 Nginx 的主程序。
[root@localhost nginx-1.26.3]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
(4)添加 Nginx 系统服务
[root@localhost ~]# vi /lib/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/sbin/nginx -t
ExecStart=/usr/local/sbin/nginx
ExecReload=/usr/local/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
User=root
Group=root[Install]
WantedBy=multi-user.target
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl start nginx
[root@localhost ~]# systemctl enable nginx
2:配置正向代理
[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf
server {listen 8080; # 代理监听端口server_name proxy.example.com;# 解析域名使用的 DNSresolver 8.8.8.8 1.1.1.1; # 多个 DNS 用空格分隔# 启用代理 CONNECT 方法(支持 HTTPS)proxy_connect;proxy_connect_allow 443 80; # 允许代理到 80 和 443 端口proxy_connect_connect_timeout 10s;proxy_connect_read_timeout 10s;proxy_connect_send_timeout 10s;# 处理 HTTP/HTTPS 请求location / {proxy_pass $scheme://$http_host$request_uri; # 动态协议proxy_set_header Host $http_host;# 优化缓冲区proxy_buffers 256 4k;proxy_max_temp_file_size 0;# 保持连接proxy_http_version 1.1;proxy_set_header Connection "";}
}
[root@localhost ~]#nginx -t
[root@localhost ~]#nginx -s reload
验证正向代理:
Windows中验证,使用火狐浏览器,设置http和https代理即可:
二:反向代理
Nginx 的七层(应用层)反向代理基于 HTTP/HTTPS 协议,深度解析应用层内容(如 URL 、Header、Cookie),将客户端请求精准转发至后端服务器。作为企业级架构的“智能调 度器”,它实现了负载均衡、安全隔离与性能优化的核心能力。应用场景一般是:
- 负载均衡:将流量分发至多台后端服务器,避免单点故障。
- 动静分离:静态资源(图片、CSS/JS)由 Nginx 直接响应,动态请求(PHP、API)转发 至 Apache/Tomcat。
- SSL 终端:统一处理 HTTPS 加密/解密,降低后端服务器计算压力。
- 灰度发布:根据请求特征(如 IP、Header)将部分流量导向新版本服务。
Nginx 的四层(网络层)反向代理基于 TCP/UDP 协议,直接转发原始数据流,不解析应用 层内容。它专为高性能、低延迟的传输层场景设计,是数据库、游戏服务器等非 HTTP 服 务的理想选择。应用场景一般是:
- 数据库代理:对外暴露统一端口,内部转发至 MySQL、Redis 集群。
- 游戏服务器:代理 UDP 协议,实现实时数据包负载均衡。
- SSH 跳板机:通过端口映射安全访问内网服务器。
- 高可用服务:TCP 服务(如 MQTT)的主备切换与健康检查。
资源清单
本实验需要两台主机
操作系统 | 配置 | IP | 服务 |
OpenEuler | 2C4G | 192.168.10.101 | Nginx |
OpenEuler | 2C4G | 192.168.10.102 | Httpd |
1:配置nginx七层代理
(1)环境安装( 192.168.10.102上操作 )
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#dnf install httpd -y
[root@localhost ~]#echo "这是后端主机" >/var/www/html/index.html
[root@localhost ~]#systemctl start httpd
(3)配置nginx七层代理转发 ( 192.168.10.101上操作 )
[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf
http {upstream backend { #后端地址池设置server 192.168.10.102:80 ; # 后端主机设置}server {listen 80;server_name example.com;location / {proxy_pass http://backend; # 请求转发proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
}
[root@localhost ~]#nginx -t
[root@localhost ~]#nginx -s reload
(4)验证转发效果
[root@localhost ~]# curl 192.168.10.101
这是后端主机
2:配置nginx四层代理
(1)配置四层代理 (192.168.10.101上操作)
[root@localhost ~]#vi /usr/local/nginx/conf/nginx.conf
stream {upstream ssh_cluster { #定义后端地址池server 192.168.10.102:22; #设置后端地址和服务端口}server {listen 2222;proxy_pass ssh_cluster;proxy_connect_timeout 5s; # 连接超时时间proxy_timeout 1h; # 长连接保持时间}
}
注意:
stream需要与http{ }模块平级,不能在http{ }中嵌套
[root@localhost ~]#nginx -t
[root@localhost ~]#nginx -s reload
[root@localhost ~]#ss -nlpt | grep 2222
LISTEN 0 511 0.0.0.0:2222 0.0.0.0:*
users:(("nginx",pid=8404,fd=6),("nginx",pid=8403,fd=6))
(2)验证四层代理
[root@localhost ~]# ssh root@192.168.10.101 -p2222
[root@localhost ~]#ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.10.102 netmask 255.255.255.0 broadcast 192.168.10.255inet6 fe80::20c:29ff:fe9f:de15 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:9f:de:15 txqueuelen 1000 (Ethernet)RX packets 389822 bytes 511828164 (488.1 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 104614 bytes 8588675 (8.1 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
三:Nginx 缓存
1:缓存功能的核心原理和缓存类型
缓存类型 | 作用场景 | 特点 |
---|---|---|
代理缓存 | 缓存反向代理的后端服务器(如 Tomcat、Apache)的响应内容。 | 需定义缓存路径、缓存键、有效期等;适合静态接口或变化较少的内容。 |
FastCGI 缓存 | 缓存通过 FastCGI 协议处理的动态内容(如 PHP/Python 配合 PHP-FPM)。 | 需与 FastCGI 服务配合使用;可加速动态页面响应。 |
uWSGI/SCGI 缓存 | 缓存通过 uWSGI 或 SCGI 协议处理的后端内容(如 Python Flask/Django)。 | 类似 FastCGI 缓存,但针对特定协议。 |
静态资源缓存 | 通过客户端浏览器缓存静态资源(如 JS/CSS/图片),减少服务端请求。 | 服务端不存储缓存,仅控制浏览器缓存行为;节省带宽但无法减少后端负载。 |
代理缓存原理:
第一步:客户端第一次向Nginx请求数据A;
第二步:当Nginx发现缓存中没有数据A时,会向服务端请求数据A;
第三步:服务端接收到Nginx发来的请求,则返回数据A到Nginx,并且缓存在Nginx;
第四步:Nginx返回数据A给客户端应用;
第五步:客户端第二次向Nginx请求数据A;
第六步:当Nginx发现缓存中存在数据A时,则不会请求服务端;
第七步:Nginx把缓存中的数据A返回给客户端应用。
2:代理缓存功能设置
(1)反向代理配置
[root@localhost ~]#/usr/local/nginx/conf/nginx.conf
http {upstream backend { #后端地址池设置server 192.168.10.102:80 ; # 后端主机设置}server {listen 80;server_name example.com;location / {proxy_pass http://backend; # 请求转发proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
}
[root@localhost ~]#nginx -t
[root@localhost ~]#nginx -s reload
(2)设置缓存功能
- proxy_cache_path :定义缓存文件的存储路径
- levels=1:2 :定义缓存目录的层级结构,levels=N:M,表示缓存文件路径的层级深度,
- keys_zone=my_cache:10m :定义共享内存区域,用于存储缓存键(key)和元数据(如 过期时间),10m:共享内存区大小(通常每 1MB 可存储约 8000 个键) i
- nactive=60m :定义缓存内容的闲置有效期。60分钟 内未被访问,将被自动删除
- max_size=1g :定义缓存目录的最大磁盘空间。当缓存量达到 1GB 时,Nginx 启动 LRU (最近最少使用)算法清理旧缓存。
- use_temp_path=off :控制临时文件的存储位置,推荐值:off(减少磁盘操作,提升性 能)
(3)验证缓存功能
[root@localhost ~]# curl -I 192.168.10.101
HTTP/1.1 200 OK
Server: nginx/1.26.3
Date: Tue, 04 Mar 2025 12:45:50 GMT
Content-Type: text/html
Content-Length: 19
Connection: keep-alive
Last-Modified: Mon, 03 Mar 2025 12:39:32 GMT
ETag: "67c5a304-13"
X-Cache-Status: HIT #再次请求发现已经命中,说明数据已经被缓存
Accept-Ranges: bytes
四:Nginx rewrite和正则
Rewrite的应用场景
- 路径美化:将/product/123 转换为 /index.php?id=123
- 旧链接迁移:将过期URL永久重定向(301)到新地址
- 强制HTTPS/域名统一:自动跳转http://到https://,或合并www与非www域名
- 动态路由:适配单页应用(SPA)、RESTful API路由
- 灰度发布:按规则将部分流量导向新版本服务
语法格式 | 说明 | 示例 |
---|---|---|
rewrite regex replacement [flag]; | 将匹配 regex 的URL重写为 replacement | rewrite ^/old/(.*)$ /new/$1 permanent; |
flag 可选值 | ||
last | 重写后重新发起新请求(再次匹配location) | rewrite ^/path /newpath last; |
break | 重写后不再匹配其他规则,直接处理请求 | rewrite ^/path /newpath break; |
redirect | 返回302临时重定向(浏览器地址栏变) | rewrite ^/oldurl /newurl redirect; |
permanent | 返回301永久重定向(浏览器地址栏变) | rewrite ^/old /new permanent; |
正则符号 | 说明 | Nginx示例 |
---|---|---|
^ | 匹配字符串开头 | ^/path 匹配以 /path 开头的URL |
$ | 匹配字符串结尾 | \.html$ 匹配以 .html 结尾的URL |
.* | 匹配任意字符(除换行外) | ^/old/(.*)$ 匹配 /old/ 后的任意内容 |
\d | 匹配数字 | ^/item/(\d+)$ 匹配如 /item/123 |
[abc] | 匹配括号内任意字符 | ^/[abc]/ 匹配 /a/ 、/b/ 或 /c/ |
[^abc] | 不匹配括号内字符 | ^/[^abc]/ 排除 /a/ 、/b/ 、/c/ |
(pattern) | 捕获分组,用于后续引用 | ^/user/(\w+)$ 捕获用户名 |
\w | 匹配字母、数字、下划线 | ^/user/(\w+)$ 匹配用户名 |
\s | 匹配空白字符(空格、制表符等) | 较少在URL中使用 |
+ | 前一个字符1次或多次 | \d+ 匹配1个或多个数字 |
? | 前一个字符0次或1次 | ^/page/? 匹配 /page 或 /page/ |
{n,m} | 前一个字符n到m次 | \d{2,4} 匹配2~4位数字 |
相关文章:

Nginx 核心功能
目录 一:正向代理 1:编译安装 Nginx (1)安装支持软件 (2)创建运行用户、组和日志目录 (3)编译安装 Nginx (4)添加 Nginx 系统服务 2:配置正…...
String.join()-高效字符串拼接
String.join-高效字符串拼接 前言一、基础用法:拼接数组或集合元素(仅分隔符)语法示例 1:拼接字符串数组示例 2:拼接集合元素注意事项 二、进阶用法:结合 Stream API 处理复杂场景示例 1:添加前…...

【Canvas与图标】圆角方块蓝星CSS图标
【成图】 120*120的png图标 大小图: 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>圆角方块蓝星CSS Draft1</…...
系统性能分析基本概念(5) : 何时开始性能分析
决定何时开始系统性能优化(Performance Optimization)需要根据系统状态、业务需求和资源可用性来判断。以下是触发性能优化的关键场景和时机,结合系统性能分析(如DRAM读取吞吐量等)的背景,保持简洁且实用&a…...
Python实现Web请求与响应
目录 一、Web 请求与响应基础 (一)Web 请求与响应的定义与组成 (二)HTTP 协议概述 (三)常见的 HTTP 状态码 二、Python 的 requests 库 (一)安装 requests 库 (二…...

机器学习 day05
文章目录 前言一、模型选择与调优1.交叉验证2.超参数搜索 前言 通过今天的学习,我掌握了机器学习中模型的选择与调优,包括交叉验证,超参数搜索的概念与基本用法。 一、模型选择与调优 模型的选择与调优有许多方法,这里主要介绍较…...
CentOS Stream安装MinIO教程
1. 下载 MinIO 二进制文件 # 进入 MinIO 安装目录 sudo cd /usr/local/bin/# 下载 MinIO 二进制文件(替换为最新版本链接) wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod x minio2. 创建专用用户和存储目录 # 创建 minio 用户…...

C#新建打开文件对话框
这是Winform直接封装好的打开文件对话框 using System.Windows.Forms; public static string OpenFile(string path) {OpenFileDialog openFileDialog new OpenFileDialog();// 设置对话框属性openFileDialog.Title "选择文件";openFileDialog.InitialDirectory …...

汇川PLC通过开疆智能Profinet转ModbusTCP网关读取西门子PLC数据案例
本案例是客户通过开疆智能Profient转ModbusTCP网关连接汇川PLC的配置案例 Modbus TCP主站即Modbus TCP客户端,Modbus TCP主站最多支持同时与31个Modbus TCP从站 。(Modbus TCP服务器)进行通信。 第一步设置PLC IP地址; 默认PLC…...

零基础入门:MinerU 和 PyTorch、CUDA的关系
💡一句话总结:MinerU 是一个用 PyTorch 跑模型的程序,PyTorch 支持多种加速方式(如 CUDA、MPS),让它跑得快就需要依赖这些加速工具。 PyTorch官网安装教程(可根据系统情况选择不同版本…...

借助IEDA ,Git版本管理工具快速入门
01 引言 一直使用SVN作为版本管理工具,直到公司新来的一批同事,看到我们使用的SVN都纷纷吐槽,什么年代了,还使用SVN。聊下来,才知道人家公司早早就将SVN切成了Git工具,并吐槽SVN的各种弊端。 既然新的技术…...

三维空间,毫秒即达:RTMP|RTSP播放器在Unity中的落地实现
有人问我:在 Unity 里做超低延迟的直播播放,是什么感觉? 我说,是把一帧帧流动的时间,嵌进一个三维的空间里。 它不属于现在,也不属于过去。 它属于“实时”——属于那一秒内刚刚发生,却已被你看…...
【计算机网络】HTTP/1.0,HTTP/1.1,HTTP/2,HTTP/3汇总讲解,清晰表格整理面试重点对比
表格汇总 对比维度HTTP/1.0HTTP/1.1HTTP/2HTTP/3传输协议TCPTCPTCP/TLS(默认加密)UDP(基于 QUIC 协议)连接方式短连接(每次请求/响应后断开)引入持久连接(Persistent Connection)&a…...

ubuntu 搭建FTP服务,接收部标机历史音视频上报服务器
1.安装vsftpd 1.1.安装命令 sudo apt update sudo apt install vsftpd 1.2.备份原始配置文件 sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak 1.3.配置 vsftpd 编辑配置文件 /etc/vsftpd.conf: sudo vim /etc/vsftpd.conf 将以下参数修改为对应值ÿ…...

一、内存调优
一、内存调优 什么是内存泄漏 监控Java内存的常用工具 内存泄露的常见场景 内存泄露的解决方案 内存泄露与内存溢出的区别 内存泄露:在Java中如果不再使用一个对象,但是该对象依然在GC ROOT的引用链上,这个对象就不会被垃圾回收器回收&…...
IDEA启动报错:Cannot invoke “org.flowable.common.engine.impl.persistence.ent
1.问题 项目启动报错信息 java.lang.NullPointerException: Cannot invoke "org.flowable.common.engine.impl.persistence.ent 2.问题解析 出现这个问题是在项目中集成了Flowable或Activiti工作流,开启自动创建工作流创建的表,因为不同环境的数据…...
从加密到信任|密码重塑车路云一体化安全生态
目录 一、密码技术的核心支撑 二、典型应用案例 三、未来发展方向 总结 车路云系统涉及海量实时数据交互,包括车辆位置、传感器信息、用户身份等敏感数据。其安全风险呈现三大特征: 开放环境威胁:V2X(车与万物互联࿰…...

Java的Filter与Spring的Interceptor的比较
一、技术规范与框架依赖 维度FilterInterceptor所属规范Servlet 规范(Java EE 标准组件)Spring MVC 框架组件(非 Java EE 标准)框架依赖不依赖 Spring,仅需 Servlet 容器(如 Tomcat)依赖 Sprin…...
多线程编程的典型使用场景
前言 在Java开发中,合理使用并发/多线程技术可以显著提升系统性能和资源利用率。本文将通过典型场景代码示例的形式,帮助开发者理解多线程的实际应用价值。 核心使用场景 2.1 高并发请求处理 场景描述: 电商秒杀、票务系统等需要同时处理大…...
grafana dashboard 单位 IEC SI a i
grafana dashboard 画图的时候在 Standard options —> Unit —> Data —> 会有各种选项其中列举以 xxxaxxx 、xxxixxx开头和(IEC) (SI) 注释的,本文进行解释 其中带 a 的基于十进制的单位,使用1000作为基数。1 MB 1000 KB 1000 *…...

WPF···
设置启动页 默认最后一个窗口关闭,程序退出,可以设置 修改窗体的icon图标 修改项目exe图标 双击项目名会看到代码 其他 在A窗体点击按钮打开B窗体,在B窗体设置WindowStartupLocation=“CenterOwner” 在A窗体的代码设置 B.Owner = this; B.Show(); B窗体生成在A窗体中间…...
Git的工作流程
1) 初始化仓库:使用 git init 命令在目录中创建新Git仓库 2) 添加文件到暂存区: - git add <文件名> 添加指定文件 - git add . 添加所有修改文件 3) 提交改动:git commit -m "提交信息"(注意commit正确拼写…...

微服务架构中的多进程通信--内存池、共享内存、socket
目录 1 引言 2 整体架构简介 3 疑问 3.1 我们的共享内存消息机制是用的posix还是system V 3.2 rmmt中,不同线程之间的比如访问同一个内存,用的什么锁控制的 3.3 疑问:假如一个进程发送给了另外两个进程,然后另外两个进程都同…...

电脑中所有word文件图标变白怎么恢复
电脑中的word文件图标变白,如下图所示: 解决方法: 1.winR-->在弹出的运行窗口中输入“regedit”(如下图所示),点击确定: 2.按照路径“计算机\HKEY_CLASSES_ROOT\Word.Document.12\DefaultIcon”去找到“࿰…...

RK3568 OH5.1 源码编译及问题
安装编译器和二进制工具 在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。 bash build/prebuilts_download.sh在源码根目录执行如下指令安装hb编译工具: python3 -m pip install --user build/hb使用build.sh脚本编译源码 进入源码根目录&…...

Qt5、C++11 获取wifi列表与wifi连接
一、获取wifi列表 .h 文件内容 #include <QWidget> #include <QVBoxLayout> #include <QPushButton> #include <QCheckBox> #include <QListWidget>class Setting : public QWidget {Q_OBJECT public:explicit Setting(QWidget *parent nul…...

【KWDB 2025 创作者计划】_从部署开始了解KWDB
一、概述 KaiwuDB 是一款面向 AIoT 场景的分布式、多模融合、支持原生 AI 的数据库产品,支持同一实例同时建立时序库和关系库并融合处理多模数据,具备时序数据高效处理能力,具有稳定安全、高可用、易运维等特点。面向工业物联网、数字能源、…...

高等数学-微分
一、一元函数: 在实际应用中,经常需要近似计算函数yf(x)的增量Δyf(x)-f(x0)f(x0Δx)-f(x0),其中一种近似称为函数的微分。 定义:若函数yf(x)在点x0处的增量Δy可表达为自变量增量Δx的线性函数AΔx和Δx的高阶无穷小量之和,即Δ…...

有没有开源的企业网盘,是否适合企业使用?
开源选项丰富、灵活定制能力强、需要额外运维投入、适合特定场景但不一定适合所有企业,是开源企业网盘的主要特征。从表面看,开源网盘往往具有免费或低成本优势,但企业要投入一定的人力与技术资源来完成安装、维护与升级,从而保障…...

基于系统整合的WordPress个性化配置方法深度解析:从需求分析到实现过程
文章目录 引言一、理解WordPress页面与文章的区别二、主题与模板层级:自定义的基础三、自定义页面模板:打造专属页面风格四、自定义文章模板:打造个性化文章呈现五、使用自定义字段和元数据:增强内容灵活性六、利用WordPress钩子&…...