Server 13 ,CentOS 上使用 Nginx 部署多个前端项目完整指南( 支持多端口与脚本自动化 )

目录

        前言
一、实际背景
1.1 并行部署
1.2 接口代理
1.3 刷新问题
二、安装脚本
2.1 创建脚本
2.2 不同系统
2.3 执行完成
三、配置文件
3.1 配置文件
3.2 目录结构
3.3 重新启动
四、验证访问
五、问题排查
5.1 访问 404
5.2 接口 502
六、本文总结
6.1 清理旧环境
6.2 防火墙策略
6.3 实现的成果
七、更多操作

前言

首先,CentOSUbuntu都是基于Linux内核的开源发行版,但它们在起源生态应用场景上存在显著差异。了解它们的“血缘”关系有助于选择合适的系统进行Nginx部署。

CentOS(Community Enterprise Operating System)于2004年3月首次发行,是RHEL的免费克隆版,通过重新编译RHEL源代码去除品牌标识而成。RHELRed Hat公司开发,面向企业。CentOS 7.9.2009作为CentOS 7系列的最终版本,于2020年9月发布,支持到2024年6月,但因Red Hat策略变更,转向CentOS Stream作为滚动更新版。

Ubuntu2004年10月发行,由Canonical公司维护,基于Debian GNU/LinuxDebian由社区驱动,强调稳定,Ubuntu在其基础上优化了用户体验,每6个月发布新版,每2年一个LTS(Long Term Support)版,如Ubuntu 24.04 LTS支持到2029年

关系上,CentOSUbuntu无直接血缘,但同属Linux家族CentOS继承RHEL的企业级稳定性,适合生产服务器Ubuntu继承Debian的包管理,适合桌面云环境

然而在日常的前端项目部署过程中,许多团队会面临以下典型问题:

  1. 同一台服务器需要部署多个前端项目,且每个项目独立运行,互不干扰。

  2. 后端接口需要代理,前后端分离部署后,需要通过 Nginx 将请求转发到不同的后端服务。

  3. 端口管理混乱:如果部署多个项目在同一个端口,维护会复杂;如果不规划端口,防火墙管理将变得困难。

  4. 前端项目刷新 404 问题:Vue、React 等 SPA 项目刷新时常常出现 404 错误。

本文将详细介绍如何通过 Nginx 在 CentOS 服务器上,为不同前端项目分配独立端口进行部署,并实现以下目标:

  1. 不同前端项目独立端口管理,互不干扰;

  2. 每个项目对应独立后端接口代理,支持前后端分离架构;

  3. 解决 SPA 项目刷新 404 问题

  4. 提供 自动化安装脚本,简化部署流程;

  5. 涵盖从 安装、配置、排错到防火墙管理 的完整流程。

一、实际背景

部署背景与需求分析

1.1 并行部署

多个项目并行部署:假设我们的服务器上需要部署以下三个前端项目:

项目名称本地路径访问端口访问地址
Dlxj_Csj/usr/local/nginx/html/Dlxj_Csj/80http://192.168.110.125/
Hs_Csj/usr/local/nginx/html/Hs_Csj/81http://192.168.110.125:81/
Yk_Csj/usr/local/nginx/html/Yk_Csj/82http://192.168.110.125:82/

这样每个项目都拥有独立的访问地址,不会相互影响,便于维护和扩展。

1.2 接口代理

后端接口代理:三个前端项目的接口访问需求不同,因此需要配置不同的后端地址:

项目名称接口路径后端服务地址
Dlxj_Csj/prod-api/http://192.168.110.44:9013/
Hs_Csj/prod-api/http://192.168.110.97:8080/
Yk_Csj/prod-api/http://192.168.110.97:8080/

通过 Nginx 的 proxy_pass 功能,可以轻松实现接口转发,让前端项目无感知地访问后端服务。

1.3 刷新问题

刷新 404 问题:SPA 前端项目如 Vue、React 等使用前端路由控制,刷新页面时,Nginx 默认会将请求直接发送到后端或文件系统,如果找不到对应文件,就会返回 404 Not Found

解决方案
使用 try_files 配置,将所有无法匹配的路由重定向到 index.html,例如:

location / {
    try_files $uri $uri/ /index.html;
}


二、安装脚本

Nginx 自动化安装脚本。为了避免手动安装的繁琐操作,这里提供一个一键自动安装 Nginx 的脚本,自动完成安装、配置、启动及防火墙设置。

2.1 创建脚本

粘贴以下内容:

#!/bin/bash
# ==========================================================
# Nginx 一键安装脚本 for CentOS 7/8
# 适用于多项目、多端口部署场景
# ==========================================================NGINX_VERSION="1.24.0"
INSTALL_DIR="/usr/local/nginx"
SRC_DIR="/usr/local/src"
LOG_FILE="/var/log/nginx_install.log"echo "========== 开始安装 Nginx =========="# 1. 检查是否为 root 用户
if [ "$(id -u)" != "0" ]; thenecho "[错误] 请使用 root 用户运行此脚本!"exit 1
fi# 2. 安装必要依赖
echo "[步骤] 安装依赖中..."
yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel wget >> $LOG_FILE 2>&1
if [ $? -ne 0 ]; thenecho "[错误] 依赖安装失败,请检查 yum 源!"exit 1
fi# 3. 下载 Nginx 源码
mkdir -p $SRC_DIR
cd $SRC_DIR
if [ ! -f "nginx-${NGINX_VERSION}.tar.gz" ]; thenwget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz >> $LOG_FILE 2>&1
fi# 4. 编译安装
tar -zxvf nginx-${NGINX_VERSION}.tar.gz >> $LOG_FILE 2>&1
cd nginx-${NGINX_VERSION}
./configure --prefix=$INSTALL_DIR --with-http_ssl_module --with-http_stub_status_module >> $LOG_FILE 2>&1
make && make install >> $LOG_FILE 2>&1if [ $? -eq 0 ]; thenecho "[成功] Nginx 安装完成!"
elseecho "[错误] Nginx 编译或安装失败,请查看日志:$LOG_FILE"exit 1
fi# 5. 配置 systemd 服务
cat > /usr/lib/systemd/system/nginx.service <<EOF
[Unit]
Description=Nginx HTTP Server
After=network.target[Service]
Type=forking
ExecStart=${INSTALL_DIR}/sbin/nginx
ExecReload=${INSTALL_DIR}/sbin/nginx -s reload
ExecStop=${INSTALL_DIR}/sbin/nginx -s stop
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF# 6. 设置开机自启
systemctl enable nginx
systemctl start nginx# 7. 开放防火墙端口
echo "[步骤] 开放防火墙 80,81,82 端口..."
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=81/tcp
firewall-cmd --permanent --add-port=82/tcp
firewall-cmd --reload# 8. 创建项目目录
mkdir -p /usr/local/nginx/html/{Dlxj_Csj,Hs_Csj,Yk_Csj}echo "[完成] Nginx 已安装并配置完成!"
echo "访问地址:"
echo "  项目1: http://服务器IP/"
echo "  项目2: http://服务器IP:81/"
echo "  项目3: http://服务器IP:82/"

该脚本为 CentOS 7/8 系统提供 Nginx 一键安装功能,具体操作包括:

  1. 检查是否以 root 用户运行,安装编译 Nginx 所需的依赖;
  2. 下载指定版本(1.24.0)的 Nginx 源码并编译安装到指定目录;
  3. 配置 systemd 服务以便管理 Nginx 启停,同时设置开机自启;
  4. 开放防火墙 80、81、82 端口;最后创建三个项目目录,

实现多项目、多端口部署的基础配置,完成后可通过对应端口访问不同项目。

一般情况下,粘贴后,脚本会直接执行。

2.2 不同系统

这个是支持 CentOS 和 Ubuntu 双系统 的一键安装脚本:

#!/bin/bash
# ==========================================================
# Nginx 一键安装脚本 for CentOS 7/8 / Ubuntu 18+
# 支持多项目、多端口部署场景
# 自动检测系统类型,并选择合适的安装方式
# ==========================================================NGINX_VERSION="1.24.0"
INSTALL_DIR="/usr/local/nginx"
SRC_DIR="/usr/local/src"
LOG_FILE="/var/log/nginx_install.log"echo "========== 开始安装 Nginx =========="# 1. 检查是否为 root 用户
if [ "$(id -u)" != "0" ]; thenecho "[错误] 请使用 root 用户运行此脚本!"exit 1
fi# 2. 检测系统类型
if [ -f /etc/redhat-release ]; thenOS="CentOS"
elif [ -f /etc/lsb-release ] || [ -f /etc/debian_version ]; thenOS="Ubuntu"
elseecho "[错误] 不支持的操作系统,请使用 CentOS 或 Ubuntu!"exit 1
fi
echo "[步骤] 检测到系统类型:$OS"# 3. 安装必要依赖
echo "[步骤] 安装编译依赖..."
if [ "$OS" = "CentOS" ]; thenyum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel wget tar >> $LOG_FILE 2>&1
elseapt update -yapt install -y gcc g++ make libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev wget tar >> $LOG_FILE 2>&1
fi
if [ $? -ne 0 ]; thenecho "[错误] 依赖安装失败,请检查网络或软件源配置!"exit 1
fi# 4. 下载 Nginx 源码
mkdir -p $SRC_DIR
cd $SRC_DIR
if [ ! -f "nginx-${NGINX_VERSION}.tar.gz" ]; thenecho "[步骤] 下载 Nginx 源码..."wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz >> $LOG_FILE 2>&1if [ $? -ne 0 ]; thenecho "[错误] 下载 Nginx 失败,请检查网络!"exit 1fi
fi# 5. 编译安装 Nginx
echo "[步骤] 开始编译 Nginx..."
tar -zxvf nginx-${NGINX_VERSION}.tar.gz >> $LOG_FILE 2>&1
cd nginx-${NGINX_VERSION}
./configure --prefix=$INSTALL_DIR --with-http_ssl_module --with-http_stub_status_module >> $LOG_FILE 2>&1
make && make install >> $LOG_FILE 2>&1if [ $? -eq 0 ]; thenecho "[成功] Nginx 编译安装完成!"
elseecho "[错误] Nginx 编译或安装失败,请查看日志:$LOG_FILE"exit 1
fi# 6. 配置 systemd 服务
echo "[步骤] 配置 systemd 服务..."
cat > /usr/lib/systemd/system/nginx.service <<EOF
[Unit]
Description=Nginx HTTP Server
After=network.target[Service]
Type=forking
ExecStart=${INSTALL_DIR}/sbin/nginx
ExecReload=${INSTALL_DIR}/sbin/nginx -s reload
ExecStop=${INSTALL_DIR}/sbin/nginx -s stop
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF# 7. 启动 Nginx 并设置开机自启
systemctl daemon-reexec
systemctl enable nginx
systemctl start nginx# 8. 配置防火墙(仅 CentOS)
if [ "$OS" = "CentOS" ]; thenecho "[步骤] 开放防火墙 80,81,82 端口..."firewall-cmd --permanent --add-port=80/tcpfirewall-cmd --permanent --add-port=81/tcpfirewall-cmd --permanent --add-port=82/tcpfirewall-cmd --reload
fi# 9. 创建前端项目目录
echo "[步骤] 创建项目目录..."
mkdir -p /usr/local/nginx/html/{Dlxj_Csj,Hs_Csj,Yk_Csj}# 10. 输出结果
echo "[完成] Nginx 已安装并配置完成!"
echo "访问地址:"
echo "  项目1: http://服务器IP/"
echo "  项目2: http://服务器IP:81/"
echo "  项目3: http://服务器IP:82/"
echo "========== 安装完成 =========="

这个脚本会自动检测系统类型,然后选择正确的包管理工具(yumapt),安装依赖、编译、配置并启动 Nginx,同时设置开机自启和项目目录。这样你在 CentOS 或 Ubuntu 上都能直接执行。

2.3 执行完成

执行完成后,验证服务状态:

systemctl status nginx

相关命令:

操作命令
启动 Nginxsystemctl start nginx
停止 Nginxsystemctl stop nginx
重启 Nginxsystemctl restart nginx
查看状态

systemctl status nginx

平滑重载配置systemctl reload nginx
检测配置文件nginx -t
查看访问日志tail -f /usr/local/nginx/logs/access.log
查看错误日志tail -f /usr/local/nginx/logs/error.log
开机自启systemctl enable nginx
取消开机自启systemctl disable nginx


三、配置文件

Nginx 配置文件

3.1 配置文件

这里需要配置文件内容,文件位置:

/usr/local/nginx/conf/nginx.conf

将内容修改为以下版本:

user nobody;
worker_processes auto;
error_log logs/error.log error;
pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;gzip on;gzip_types text/plain text/css application/json application/javascript text/xml;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" "$http_user_agent"';access_log logs/access.log main;# ===== 项目 1: Dlxj_Csj =====server {listen 80;server_name localhost;root /usr/local/nginx/html/Dlxj_Csj;index index.html index.htm;location / {try_files $uri $uri/ /index.html;}location ^~/prod-api/ {proxy_pass http://192.168.110.44:9013/;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/local/nginx/html;}}# ===== 项目 2: Hs_Csj =====server {listen 81;server_name localhost;root /usr/local/nginx/html/Hs_Csj;index index.html index.htm;location / {try_files $uri $uri/ /index.html;}location ^~/prod-api/ {proxy_pass http://192.168.110.97:8080/;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/local/nginx/html;}}# ===== 项目 3: Yk_Csj =====server {listen 82;server_name localhost;root /usr/local/nginx/html/Yk_Csj;index index.html index.htm;location / {try_files $uri $uri/ /index.html;}location ^~/prod-api/ {proxy_pass http://192.168.110.97:8080/;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/local/nginx/html;}}
}

3.2 目录结构

/usr/local/nginx/html/
├── Dlxj_Csj
│   └── index.html
├── Hs_Csj
│   └── index.html
└── Yk_Csj
    └── index.html

3.3 重新启动

重启 Nginx

systemctl restart nginx


四、验证访问

项目URL
Dlxj_Csjhttp://192.168.110.125/
Hs_Csjhttp://192.168.110.125:81/
Yk_Csjhttp://192.168.110.125:82/

访问对应地址,确认页面是否正常加载。


五、问题排查

5.1 访问 404

  1. 检查项目目录下是否有 index.html 文件;

  2. 确认 Nginx 配置文件 root 路径与项目目录一致。

5.2 接口 502

  • 后端服务未启动或 IP/端口配置错误;

  • 使用以下命令确认端口状态:netstat -tunlp | grep 9013


六、本文总结

6.1 清理旧环境

清理旧 Nginx 环境

# 1. 停止并禁用 Nginx 服务
sudo systemctl stop nginx
sudo systemctl disable nginx
sudo systemctl status nginx# 2. 删除 systemd 服务文件
sudo rm -f /usr/lib/systemd/system/nginx.service
sudo rm -f /etc/systemd/system/nginx.service
sudo systemctl daemon-reload# 3. 删除 Nginx 安装目录及源码
sudo rm -rf /usr/local/nginx
sudo rm -rf /usr/local/src/nginx-*# 4. 清理残留进程
sudo pkill -9 nginx# 5. 删除 nginx 用户(可选)
sudo userdel nginx

清理旧 Nginx 环境,最终脚本(可直接执行),适用于 CentOS 和 Ubuntu:

#!/bin/bash
# ==============================================
# Nginx 清理脚本,彻底删除旧环境
# 适用系统:CentOS 7/8、Ubuntu 18+
# ==============================================echo "========== 开始清理 Nginx 旧环境 =========="# 1. 停止并禁用 Nginx 服务
echo "[步骤] 停止 Nginx 服务..."
systemctl stop nginx 2>/dev/null
systemctl disable nginx 2>/dev/null
systemctl status nginx || echo "Nginx 服务已停止"# 2. 删除 systemd 服务文件
echo "[步骤] 删除 systemd 服务文件..."
rm -f /usr/lib/systemd/system/nginx.service
rm -f /etc/systemd/system/nginx.service
systemctl daemon-reload# 3. 删除安装目录
echo "[步骤] 删除 Nginx 安装目录..."
rm -rf /usr/local/nginx
rm -rf /usr/local/src/nginx-*# 4. 清理残留进程
echo "[步骤] 检查并清理残留进程..."
pkill -9 nginx 2>/dev/null || echo "无残留进程"# 5. 删除 Nginx 用户(可选)
echo "[步骤] 检查并删除 nginx 用户..."
if id "nginx" &>/dev/null; thenuserdel nginxecho "nginx 用户已删除"
elseecho "nginx 用户不存在"
fiecho "========== 清理完成 =========="
echo "提示:如需重新安装,请重新运行安装脚本。"

该脚本 彻底清理旧的 Nginx 环境,包括停止并禁用 Nginx 服务、删除 systemd 服务文件、清空安装目录和源码、清理残留进程,以及可选删除 Nginx 用户。执行后,系统中原有的 Nginx 及相关文件将被完全移除,为重新安装和部署新的 Nginx 环境做好准备。

6.2 防火墙策略

以下命令用于开放 Nginx 使用的端口,并使修改立即生效:

# 开放项目1端口 80
firewall-cmd --permanent --add-port=80/tcp  

# 开放项目2端口 81
firewall-cmd --permanent --add-port=81/tcp  

# 开放项目3端口 82
firewall-cmd --permanent --add-port=82/tcp  

# 重新加载防火墙策略,使修改生效
firewall-cmd --reload  

如果你是通过前面提供的一键安装脚本部署 Nginx,防火墙端口已经开放,无需重复执行上述命令;仅在手动安装或需要修改端口策略时才需要执行这些命令。

6.3 实现的成果

通过上述部署和配置,我们成功实现了三个前端项目的独立部署和访问管理。具体成果如下:

  1. 三个前端项目分端口独立部署,每个项目互不干扰;

  2. 每个项目都配置了独立的后端接口代理,确保数据请求正确转发;

  3. 访问路径清晰,运维人员和开发人员易于管理;

  4. 单页面应用刷新不再出现 404 问题,用户体验良好;

  5. 一键脚本自动化安装、配置 Nginx,大幅降低人工操作成本,提高部署效率。

经过此方案,服务器上的多前端项目管理更加规范、安全、高效,为后续运维和升级提供了可靠基础。


七、更多操作

请看,Server 个人专栏

Server​https://blog.csdn.net/weixin_65793170/category_12128287.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025最新:彻底解决Docker拉取镜像超时问题

文章目录&#x1f433; 解决 Docker 拉取镜像超时&#xff1a;context deadline exceeded 完整指南&#xff08;2025 亲测有效&#xff09;&#x1f525; 问题描述&#x1f9e9; 根本原因分析✅ 解决方案汇总✅ 方案 1&#xff1a;配置多源镜像加速器&#xff08;推荐&#xff…

小鹏汽车 vla 算法最新进展和模型结构细节

小鹏汽车在 VLA&#xff08;视觉 - 语言 - 动作&#xff09;算法领域的最新进展和模型结构细节&#xff0c;体现了其在端到端智驾系统和车端大模型部署上的技术突破。以下是基于 2025 年 9 月最新公开信息的深度解析&#xff1a; 一、最新进展&#xff1a;全场景 VLA 系统量产落…

斐波那契数列推广

目录 问题&#xff1a; 法一&#xff1a; 法二&#xff1a; 例题: 问题&#xff1a; 已知斐波那契数列的第一个和最后一个数字&#xff0c;如何求整个数列&#xff08;即第二个数字&#xff09; 法一&#xff1a; 主要是将数列拆分成两个数列的思想 法二&#xff1a; 暴力…

基于STM32设计的智慧路灯(华为云IOT)_281

文章目录 一、前言 1.1 项目介绍 【1】项目开发背景 【2】设计实现的功能 【3】项目硬件模块组成 【4】设计意义 【5】国内外研究现状 【6】摘要 1.2 设计思路 1.3 系统功能总结 1.4 开发工具的选择 【1】设备端开发 【2】上位机开发 1.5 参考文献 1.6 系统框架图 1.7 系统原理…

实验十 合理定义分布列实现性能优化-分布式表关联

实验介绍本实验通过分析普通查询过程中存在的性能瓶颈点&#xff0c;通过执行计划的分析找到可能的性能优化点并加以实施&#xff0c;最终达到优化的效果&#xff0c;重点关注分布式关联相关查询语句的优化。实验目的了解通过合理定义分布列实现分布式关联的性能优化。实验步骤…

C#,RabbitMQ从入门到精通,.NET8.0(路由/分布式/主题/消费重复问题 /延迟队列和死信队列/消息持久化 )/RabbitMQ集群模式

为什么使用消息队列 消息队列&#xff08;MQ&#xff09;在分布式系统中用于解耦生产者和消费者&#xff0c;提高系统的异步处理能力、削峰填谷、增强可扩展性和可靠性。通过消息队列&#xff0c;任务可以异步执行&#xff0c;避免系统因瞬时高并发而崩溃。 消息队列场景 异…

OpenHarmony之SELinux安全组件底层原理设计架构精讲

1. 组件介绍 1.1 核心功能 **SELinux(安全增强式Linux)**是Linux历史上杰出的安全组件,包含一组内核修改和用户空间工具,并提供了基于安全策略的强制访问控制机制(Mandatory Access Control,MAC)。本部件负责对文件、属性、服务等系统资源提供强制访问控制保护,提供n…

IIS 部署 asp.net core 项目时,出现500.19、500.31问题的解决方案

目录 &#xff08;一&#xff09;500.19 问题 1. 问题说明 2. 原因 3. 解决 &#xff08;二&#xff09;500.31 问题 1. 问题说明 2. 原因 打开事件检视器的3种方式&#xff1a; 3. 解决 &#xff08;一&#xff09;500.19 问题 1. 问题说明 2. 原因 Web项目发布时&am…

中大型水闸安全监测的重要性及实施方法

水闸作为水利工程体系中的关键性构筑物&#xff0c;其结构安全性和运行可靠性直接影响到整个水利系统的稳定运行&#xff0c;更与下游地区人民群众的生命财产安全息息相关。作为水利枢纽工程的重要控制节点&#xff0c;水闸承担着防洪排涝、灌溉供水、航运发电等多重功能&#…

【芯片设计-信号完整性 SI 学习 1.1.1 -- Unit Interval,比特周期】

文章目录1. Unit Interval (UI) / 比特周期 的定义2. 举例说明3. 在眼图 (Eye Diagram) 中的体现4. 示意图(a) 单比特周期(b) 不同速率下的 UI(c) 眼图中的 UI5. 总结1. Unit Interval (UI) / 比特周期 的定义 在高速信号传输与 信号完整性 (SI) 测试中&#xff0c;Unit Inter…

Go语言开发工具全解析

Go 语言的开发工具生态对于提高开发效率、保证代码质量和团队协作至关重要。一套完善的工具链可以帮助开发者&#xff1a;1. 加速编码过程代码模板快速生成常见模式例如使用代码片段(Snippet)快速生成HTTP服务框架自动生成测试用例模板实时语法检查减少错误即时显示类型不匹配错…

[邮件服务器core] 安全通信(SSL/TLS) | OpenSSL库管理 | 服务端安全SECURITY.md

第5章&#xff1a;安全通信&#xff08;SSL/TLS&#xff09; 欢迎回来 在第4章&#xff1a;服务运行中&#xff0c;我们学习了如何启动Dovecot邮件服务器并使其运行。 现在&#xff0c;我们的服务器已经启动并准备好处理电子邮件&#xff0c;但有一个关键问题&#xff1a;我…

Lodash方法总结

目录 1. _.defaults()为对象填充默认值 基本语法 功能说明 示例代码 注意事项 与其他类似方法的区别 2. _.pickBy()删除对象中值为空串或 null 的属性 实现方法 代码说明 扩展&#xff1a;深层过滤 3._.omitBy()移除满足条件的属性 基本语法 核心功能 示例代码 1…

C#---Expression(表达式)

前言&#xff1a;Expression 是C# 高级编程&#xff0c;表达式的应用场景有 ORM框架&#xff1a;Entity Framework&#xff0c;Dapper等&#xff0c;规则引擎&#xff1a;动态业务规则评估&#xff0c; 依赖注入&#xff1a;高级DI容器实现&#xff0c;测试框架&#xff1a;模拟…

Lodash-es 完整开发指南:ES模块化JavaScript工具库实战教程

简介 Lodash-es 是 Lodash 库的 ES 模块版本&#xff0c;提供了大量实用的 JavaScript 工具函数。它支持按需导入&#xff0c;可以显著减少打包体积&#xff0c;是现代 JavaScript 项目中的首选工具库。 主要特性 ES 模块支持: 完全支持 ES6 模块语法按需导入: 只导入需要的…

26. AI-Agent-Dify

文章目录前言一、Dify入门为什么使用 Dify&#xff1f;Dify 能做什么&#xff1f;二、Dify私有化部署Docker Compose 部署前提条件克隆 Dify 代码启动 Dify更新 Dify访问 Dify自定义配置三、Dify构建企业级Agent应用定义如何使用智能助手添加助手需要的工具配置 Agent配置对话开…

云原生:微服务与Serverless指南

Copilot时代的开发者效能提升 代码生成与补全&#xff1a;减少重复性编码工作&#xff0c;加快开发速度错误检测与修复&#xff1a;实时提示潜在问题&#xff0c;降低调试时间知识获取与学习&#xff1a;帮助开发者快速掌握新语言或框架协作效率&#xff1a;通过AI辅助减少团队…

SpringBoot + Apache Tika:一站式解决文件数据提取难题

在日常开发中&#xff0c;你是否也遇到过这样的窘境&#xff1a;领导甩来需求“把用户上传的 Word、Excel、PDF 里的关键信息扒出来存库”&#xff0c;你却要对着不同格式逐个攻坚——解析 Word 用 POI 还要处理 .doc/.docx 兼容&#xff0c;解析 Excel 要啃合并单元格、公式计…

车牌模拟生成器:Python3.8+Opencv代码实现与商业应用前景(C#、python 开发包SDK)

车牌模拟生成器&#xff1a;Python代码实现与商业应用前景引言在智慧城市建设和汽车行业数字化浪潮中&#xff0c;车牌作为车辆的唯一标识&#xff0c;其相关技术应用正变得越来越重要。今天我们将介绍一个基于Python的车牌模拟生成器&#xff0c;探讨其技术实现、功能特点以及…

小程序非主页面的数据动作关联主页面的数据刷新操作

如果在主页面跳转到其他页面。比如说我的收藏页面&#xff0c;然后有取消收藏的动作&#xff0c;当返回到主页面的时候&#xff0c;如果有关联数据显示在主页面&#xff0c;刷新页面对应的状态。 下面的代码是实现&#xff1a;//卡片收藏/取消if (newCollectd) {this.setData({…