news 2026/9/24 21:44:51

Linux下XAMPP集成环境安装配置与DVWA靶场搭建实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux下XAMPP集成环境安装配置与DVWA靶场搭建实战

做本地开发免不了跟运行环境打交道,尤其当你想快速搭一套 PHP + MySQL 的实验环境时,手动编译安装每一个组件真的能把耐心磨没。XAMPP 这个老牌的集成环境套件,就是专门解决这个痛点的,它把 Apache、MariaDB(MySQL)、PHP 和 Perl 打包在一起,解压就能用,省掉了大量环境配置的折腾。这次我在 Linux 上实际安装配置了 xampplinux_v174beta11 这个版本,整个过程踩了一些坑,也摸索出一些值得记录的细节,整理出来希望对你有参考价值。

如果你只是需要在本地快速起一个 Web 服务、跑跑开源程序,或者像后面会提到的 DVWA 这类靶场环境,XAMPP 会让你少走很多弯路。不过这套工具,尤其是 beta 版本,也有一些隐藏的毛病需要提前规避。这篇博文会从下载校验讲起,一路到安装、启动、配置、调优,最后用 XAMPP 搭建一个 DVWA 靶机来验证整条链路,内容偏实操,有细节有参数,也有我实际遇到过的坑和排查思路。

1. 为什么选择 XAMPP:本地集成环境的核心优势

1.1 从零散组件到开箱即用的转变

很多人在 Linux 上配 Web 开发环境时,第一反应是装 LAMP,也就是 Linux + Apache + MySQL + PHP。听起来挺常规,但实际操作中要处理的事远不止“装四个东西”这么简单。你得先安装 Apache 源码或包,再编译 PHP 扩展匹配它,还要单独初始化 MySQL 数据库,随后处理各种目录权限和配置文件。一套走下来,少说半天,遇到版本冲突可能一整天就耗进去了。

XAMPP 解决的就是这个效率问题。它在 Linux 下统一安装在/opt/lampp目录,把所有组件打包到一个独立目录里,不和系统自带的 PHP、MySQL 冲突。组件之间的预配置也提前完成了,比如 Apache 加载 PHP 模块、MySQL 初始化数据目录这类关键步骤,安装完成后基本可以直接启动服务。这一点对初学者特别友好,你不需要理解每一个原理,先把环境跑起来,再慢慢研究内部机制。

1.2 版本策略与适用范围

这次安装的是 xampplinux_v174beta11,从命名就能看出来,这是一个 beta 预发布版本。Beta 版本通常用于测试新功能或新版本组件的兼容性,适合喜欢尝鲜、或者需要验证某个特定新特性的开发者。

但如果你是想要一个稳定可靠、用于日常开发或生产的平台,我建议你还是去官网下载正式版,别碰 beta。原因很简单,beta 版本组件的内部结构或配置路径可能和正式版有差异,你按网上教程配置时可能会莫名踩坑。比如这次我安装的版本里,PHP 模块路径和部分配置文件默认值就和我之前用的正式版不一样,如果你拿着旧教程硬套,很容易卡壳。

所以我的建议是:如果你只是学习安装配置、跑个简单的项目,选正式版;如果你就是想验证新版本特性,或者本身对 XAMPP 内部结构已经比较熟悉,再考虑用 beta 版。我这次使用的版本号偏新,配置过程中也验证了不少新细节,下面都会讲到。

1.3 安装 XAMPP 的三大注意事项

在正式开始之前,有三个点必须提前说明:

  1. 必须用 root 权限安装:安装器需要向/opt/lampp写入文件、创建系统用户,没有 root 权限会直接失败。我建议在终端里使用su切换或sudo提权来执行。
  2. 注意端口占用:XAMPP 默认启用 80(HTTP)和 443(HTTPS)端口,以及 3306(MySQL)。如果你的机器上已经装了 Nginx、Apache 或其他数据库服务,安装前要检查并释放端口,否则启动时会冲突。
  3. 不建议用于公网生产环境:XAMPP 默认配置偏向开发便利,安全限制相对宽松。如果要部署到公网,必须修改默认密码、限制访问 IP,甚至要重新配置大部分安全项。这一点下面会单独说。

2. 安装前的环境准备与文件校验

2.1 查看系统架构与依赖

XAMPP 针对 64 位 Linux 系统提供了单独的安装包,所以先确认你的系统架构是 x86_64 还是 arm64。我这次是在一台 x86_64 的 CentOS 7 虚拟机里装的,理论上 Debian/Ubuntu 系也同样适用,但依赖略有不同。

查看命令很简单:

uname -m # 输出 x86_64 表示 64 位 cat /etc/os-release # 查看发行版信息

除了架构,还需要确认系统里有没有装glibclibstdc++这类基础运行库。XAMPP 的安装包依赖这些库来启动安装图形界面和后端服务。如果安装时提示缺少共享库,你可以先通过系统包管理器补充安装。比如 Debian/Ubuntu 系统:

sudo apt-get update sudo apt-get install -y libstdc++6 libglib2.0-0 libx11-6

CentOS/RHEL 系统:

sudo yum install -y libstdc++ libX11

2.2 下载与校验安装包

XAMPP 官方提供 Linux 安装脚本,命名方式通常是xampp-linux-x64-<版本号>-installer.run。我使用的这个 beta 版本文件名里对应的版本号是v174beta11,你可以到官网的下载页面找到对应链接。

下载方式推荐直接用wget命令行,这样可以在服务器或虚拟机里直接拉取,不用先下载到本地再上传:

wget https://www.apachefriends.org/xampp-files/<版本号>/xampp-linux-x64-<版本号>-installer.run

下载完成后先校验文件完整性。XAMPP 官网同时提供 SHA256 校验值,用下面的命令生成本地文件的哈希值,跟官网对照,一样就代表文件没损坏:

sha256sum xampp-linux-x64-<版本号>-installer.run

这一步别偷懒。我遇到过下载一半断掉的情况,直接安装会报 “无法解压” 或 “文件格式错误”,排查半天才发现是压缩包损坏。校验一下,省下的都是时间。

2.3 安装文件授权

XAMPP 的安装器是一个.run可执行脚本,默认下载下来可能是没有执行权限的。安装前先给它加上可执行权限:

chmod +x xampp-linux-x64-<版本号>-installer.run

然后你会看到文件权限从-rw-r--r--变成-rwxr-xr-x,说明已经可以去运行它了。这一步不做,后面执行时会直接提示Permission denied

3. XAMPP 安装全过程实录

3.1 命令行安装步骤

XAMPP 的安装程序提供了图形向导和命令行两种安装方式。在服务器环境或没有图形界面的 Linux 上,推荐用命令行模式运行。虽然 XAMPP 官方并没有单独的静默安装参数,但实际上直接执行.run文件后,会调用一个图形化向导。如果你的环境没有图形桌面,可以用--mode unattended这样的参数跳过交互。但需要注意,XAMPP 过去的安装器对无人值守模式支持得比较有限,不同版本差异较大。

根据我的实际操作经验,最稳妥的方式是直接用 root 权限执行安装脚本,然后在图形界面里点下一步。如果是在 headless 服务器环境,可以借用xvfb之类的虚拟显示工具,或者直接手动解包安装。不过对于绝大多数开发者来说,本机装有桌面环境,直接执行安装向导是最省力的:

sudo ./xampp-linux-x64-<版本号>-installer.run

安装向导启动后,界面会提示你选择安装路径,默认是/opt/lampp。这里我强烈建议你保持默认,不要改到自定义位置。原因有三点:

  1. XAMPP 的环境变量、启动脚本和服务文件都默认写死在/opt/lampp路径下。
  2. 官方文档和绝大多数网络教程,都默认你安装在/opt/lampp,改路径后排查问题时参考经验会受限。
  3. 未来升级或卸载时,官方脚本也是按/opt/lampp定位文件的。

安装过程大约需要 1 到 3 分钟,取决于你的磁盘读写速度。安装完成后,向导会提示你启动控制面板或直接运行服务。

3.2 安装后的目录结构

安装完成后,XAMPP 的所有文件都会集中在/opt/lampp下。理解这个目录结构对你后面的配置和排障至关重要。我列一下最关键的几个子目录:

目录/文件作用说明
/opt/lampp/lampp核心管理脚本,用于启动、停止、重启整个环境
/opt/lampp/htdocsApache 默认的 Web 根目录,放网站文件的地方
/opt/lampp/etc/httpd.confApache 主配置文件
/opt/lampp/etc/php.iniPHP 配置文件
/opt/lampp/etc/my.cnfMariaDB(MySQL)配置文件
/opt/lampp/etc/extra/httpd-vhosts.conf虚拟主机配置文件
/opt/lampp/modulesApache 动态模块目录
/opt/lampp/logs各种日志文件,排障时重点看这里

可以看到,所有配置文件和目录都被约束在/opt/lampp内,这种做法最大的好处是:当你不再需要 XAMPP 时,直接删除整个目录即可,系统里基本不会留下残留的进程或依赖。

3.3 首次启动与基础验证

安装完成后的第一步是启动服务,命令很简单:

sudo /opt/lampp/lampp start

启动成功后,它会输出类似Starting XAMPP for Linux 17.4-beta11...的信息。如果你一切正常,可以看到 Apache 和 MariaDB 都显示出ok状态。

启动之后验证一下三个基本项目:

# 1. 查看进程是否存在 ps aux | grep -E "apache|mysql" # 2. 检查端口监听状态 netstat -tlnp | grep -E ":80|:443|:3306"

如果你在本机装有防火墙,记得放行这几个端口。CentOS 7 里默认是 firewalld,可以用:

sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload

Ubuntu 上如果有 ufw,用:

sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 3306/tcp

然后打开浏览器访问http://localhost,能看到 XAMPP 默认的欢迎页就是安装成功的标志。

4. 核心组件配置与运行调优

4.1 Apache 配置要点

Apache 的主配置在/opt/lampp/etc/httpd.conf。第一次打开这个文件,你可能会被它的长度吓到,但实际需要改的地方就那么几个。

端口修改

默认监听 80 端口,如果你要改成 8080,搜索Listen 80这一行,改成:

Listen 8080

然后还要同步修改ServerName和如果有虚拟主机的话对应的<VirtualHost>端口。修改完后重启 Apache:

sudo /opt/lampp/lampp restart

Web 根目录

默认的htdocs目录就是/opt/lampp/htdocs。想改到自定义位置,搜索DocumentRoot这一行,把它指向你选择的目录,同时还需要同步修改该目录下的<Directory>指令,确保它有AllowOverride All和必要的执行权限。

DocumentRoot "/home/user/www" <Directory "/home/user/www"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

改完这些配置,Apache 才能正常读取新目录。如果你只改了DocumentRoot却没改<Directory>,通常会遇到 403 Forbidden 错误,这算是新手最容易踩的坑。

虚拟主机配置

本地开发时,我强烈建议你用虚拟主机来隔离不同项目。XAMPP 已经提供了一个现成的配置文件/opt/lampp/etc/extra/httpd-vhosts.conf,但默认没有启用。需要先在httpd.conf里找到这一行并去掉注释:

#Include etc/extra/httpd-vhosts.conf

去掉#后,在httpd-vhosts.conf里添加虚拟主机规则。比如我要加一个myproject.local的站点:

<VirtualHost *:80> ServerAdmin admin@myproject.local DocumentRoot "/opt/lampp/htdocs/myproject" ServerName myproject.local ServerAlias www.myproject.local ErrorLog "logs/myproject-error.log" CustomLog "logs/myproject-access.log" common </VirtualHost>

这是一个很典型的配置。ServerName用来指定访问的域名,DocumentRoot指向你的项目目录,ErrorLog单独记录错误日志。然后在本机的/etc/hosts文件里加一行:

127.0.0.1 myproject.local

重启 Apache 后,直接访问http://myproject.local就能跳到对应项目。开发多个项目时,这个方法非常好用,各项目互不干扰。

4.2 MariaDB 初始化与 root 密码修改

XAMPP 安装完成后,MariaDB 的 root 用户默认是没有密码的,而且只允许本机连接。这当然方便,但也带来了安全风险。尤其你要把服务开放给局域网内其他机器测试时,不设密码等于裸奔。

先进入数据库命令行:

sudo /opt/lampp/lampp start /opt/lampp/bin/mysql -u root

这里注意,XAMPP 的 MySQL 客户端和管理工具也在/opt/lampp/bin目录下,系统自带的mysql命令可能会指向另一个版本,最好用全路径或把/opt/lampp/bin加入系统 PATH。

进入 MySQL 后,修改 root 密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; FLUSH PRIVILEGES; EXIT;

修改完密码后,重启 MariaDB 使配置生效:

sudo /opt/lampp/lampp restart

重启后,再连接数据库就必须带密码了:

/opt/lampp/bin/mysql -u root -p

这里有一个很重要的细节:很多 PHP 项目(包括 DVWA)的连接配置里会写数据库用户名和密码,改完 root 密码后,必须同步修改项目配置,否则网站会报“数据库连接失败”。

新建专用数据库用户

为了安全,我建议你不要用 root 来跑业务项目,而是为每个项目单独建一个用户。比如给 DVWA 建一个用户:

CREATE USER 'dvwa'@'localhost' IDENTIFIED BY 'dvwa_password'; GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost'; FLUSH PRIVILEGES; EXIT;

这样做的好处是,即使某个项目被攻击,攻击者拿到的数据库权限也仅限于一个库,不至于把整台服务器的数据库都拖走。

4.3 PHP 配置与扩展启用

PHP 配置文件在/opt/lampp/etc/php.ini。初次启动后,你可能需要调整以下几个参数,主要是为了开发时的调试便利:

错误显示

开发环境建议打开错误显示,方便排查代码问题:

display_errors = On display_startup_errors = On

搜索这两个配置项,确认是On而不是Off。如果你希望同时把错误记录到日志里,还可以开启:

log_errors = On error_log = "/opt/lampp/logs/php_error.log"

上传大小限制

默认的上传文件大小是 2M,有时候不够用。搜索以下两个配置项并修改:

upload_max_filesize = 64M post_max_size = 68M

扩展启用

XAMPP 默认已经启用了 MySQL、cURL、OpenSSL 等常见扩展。如果你发现缺少某个扩展,可以在/opt/lampp/etc/php.ini里搜索extension=相关行,去掉需要的扩展前面的注释并重启 Apache。比如:

extension=mysqli extension=curl extension=gd

修改 PHP 配置后,必须重启 Apache 才能生效:

sudo /opt/lampp/lampp restart

实际开发中常遇到的问题是:修改了php.ini,预览页面却没变化,最后发现忘了重启 Apache,这种低级错误我也犯过很多次。

5. 基于 XAMPP 搭建 DVWA 的扩展实战

5.1 DVWA 是什么,为什么要用它

DVWA(Damn Vulnerable Web Application)是一个故意设计成充满漏洞的 PHP 靶场应用,用来学习和测试 Web 安全技术,比如 SQL 注入、XSS 攻击、文件上传漏洞等。它和学习攻击手段相辅相成,主要用于合法的安全教学环境,跟 XAMPP 配合,可以快速在本地起一个实验环境。

需要说明的是,DVWA 这类靶场程序存在大量已知漏洞,绝对不能部署到公网,只能在完全可控的本地或隔离环境里运行,否则等于把一台不设防的机器暴露给攻击者。DVWA 官方也声明,它只能用于合法的安全测试与学习场景。

5.2 部署流程

第一步,下载 DVWA 源码。如果你已经安装了 Git,直接 clone:

cd /opt/lampp/htdocs sudo git clone https://github.com/digininja/DVWA.git

或者下载 ZIP 并解压到/opt/lampp/htdocs/DVWA目录。解压后确认目录名是DVWA,否则访问路径会多出一层。

第二步,修改配置文件。DVWA 提供了一个示例配置文件config/config.inc.php.dist,你需要复制一份并重命名为config.inc.php

cd /opt/lampp/htdocs/DVWA sudo cp config/config.inc.php.dist config/config.inc.php sudo vim config/config.inc.php

在文件里修改数据库连接信息,改成前面创建的用户名和密码:

$_DVWA[ 'db_server' ] = '127.0.0.1'; $_DVWA[ 'db_database' ] = 'dvwa'; $_DVWA[ 'db_user' ] = 'dvwa'; $_DVWA[ 'db_password' ] = 'dvwa_password';

第三步,设置 DVWA 的当前安全等级,建议初始设为low,目的是体验完整的漏洞利用流程。修改配置:

$_DVWA[ 'default_security_level' ] = 'low';

第四步,在浏览器里访问http://localhost/DVWA/setup.php,页面底部会有一个创建数据库的按钮。点击后 DVWA 会自动创建数据库和初始化表。如果页面提示某些 PHP 功能未启用,比如allow_url_fopen或者某个扩展没开启,你需要回到/opt/lampp/etc/php.ini里开启对应配置,然后重启 Apache 再来刷新。

第五步,登录 DVWA 默认账号。默认用户名是admin,密码是password。登录后你就可以开始各种安全测试了。

5.3 DVWA 配置过程中的坑

初次连接 DVWA 时最常见的报错是 “Access denied for user 'dvwa'@'localhost'”,这通常是因为你配置的用户名/密码跟数据库里的实际用户不一致,或者该用户没有对dvwa库的权限。解决办法就是回到 MySQL,用前面提到的GRANT语句重新授权,然后再刷新 setup 页面。

另一个常见的坑是 DVWA 页面提示PHP function allow_url_include is disabled。这是因为 DVWA 部分漏洞练习依赖这个配置,需要在php.ini里开启:

allow_url_include = On

修改后重启 Apache,再回到 setup 页面刷新,配置检查项就会全部通过。

6. 常见问题与排查技巧实录

6.1 端口占用与无法启动

这是 Linux 下用 XAMPP 最常遇到的问题。启动时如果报port 80 already in use,说明系统里已经有一个进程占用了 80 端口。先用命令查看是谁占的:

sudo netstat -tlnp | grep 80 sudo lsof -i:80

常见元凶是系统自带的 httpd 服务。CentOS 里可以先停掉系统 Apache 再启动 XAMPP:

sudo systemctl stop httpd sudo systemctl disable httpd

如果你不想停掉系统服务,那就改 XAMPP 的端口,按 4.1 节的方法把Listen 80改成其他端口,比如 8080。

MySQL 端口同理,如果提示 3306 被占用,多半是系统里已经安装了 MySQL 或 MariaDB 服务。可以手动停掉,或者修改/opt/lampp/etc/my.cnf里的端口配置。

6.2 权限与 SELinux 问题

XAMPP 安装到系统后,你在htdocs里新建目录和文件时,可能会遇到无法访问或 403 的情况。首先确认文件权限:

sudo chmod -R 755 /opt/lampp/htdocs/DVWA

这里要记住,Apache 运行的用户是daemonnobody,如果你把文件属主设为 root,并且权限不够,Apache 就读不到。最简单的办法是把项目目录组权限放开,或者在开发环境直接设置成777。当然,如果要部署到生产环境,权限策略完全不同,需要单独讨论。

在启用了 SELinux 的系统上,问题会更复杂。CentOS 7 默认 SELinux 是 enforcing 模式,XAMPP 安装完访问页面可能直接无法显示。最省事的方案是在开发机上把它暂时设置成 permissive:

sudo setenforce 0

但要注意,生产环境不能这么干。如果你必须保留 SELinux,你需要为/opt/lampp目录设置正确的文件上下文标签。具体命令可以参考 Apache 相关的 SELinux 策略。

6.3 修改 MySQL 密码后无法连接

改密码后,项目连接数据库时报错,这在 4.2 节已经提到,大概率是项目配置文件没有同步。排查顺序是:

  1. 确认数据库密码是否改对了,用/opt/lampp/bin/mysql -u root -p手动登录测试。
  2. 检查项目配置文件里的db_password等字段是否更新为最新密码。
  3. 确认项目使用的用户是否存在于数据库中,并且授权目标不是别的库。

这条排查思路适用于所有基于 PHP + MySQL 的项目。

6.4 快速重置 XAMPP 的方法

配置改坏了怎么办?最简单粗暴的办法是重置。先停止服务:

sudo /opt/lampp/lampp stop

然后备份/opt/lampp/etc目录,再删除整个/opt/lampp目录重装。不过更轻量的方式是,直接把/opt/lampp/etc下的配置文件和/opt/lampp/var/mysql(数据库数据目录)备份后删除,然后重新执行一次安装脚本,就能得到一个全新环境。

6.5 常见问题速查表

现象可能原因解决办法
启动时报端口被占用系统服务占用了 80/443/3306停止对应服务或修改 XAMPP 端口
访问站点返回 403目录权限不足或虚拟主机配置错误检查<Directory>指令和文件权限
MySQL 连接拒绝用户名/密码错误,或端口被系统数据库占用手动连接测试,检查项目配置,释放端口
PHP 页面源码被浏览器显示Apache 未正确加载 PHP 模块重启 XAMPP,检查httpd.confLoadModule php
修改 php.ini 后不生效没重启 Apache运行/opt/lampp/lampp restart

7. 最后补充:安装后的一些实用心得

说起安装配置这一整套流程,我最有感触的一点是:XAMPP 治好了我在本地环境搭建上的“精神内耗”。以前在 Linux 上弄个 PHP 环境,装依赖、编译、调错误,没两三个小时起不来。现在几分钟部署完,立刻能写代码、跑项目,效率完全是两个量级。而且/opt/lampp这个独立目录的结构设计很清爽,不管是备份、迁移还是卸载,都比系统级安装的 LAMP 方便太多。

不过 beta 版本的使用还是要多留个心眼。我之前在这个版本上遇到过lampp restart偶尔丢进程的情况,后来发现是启动脚本在快速连续重启时的时序问题,多等几秒再操作就正常了。所以如果你用的是 beta 版,遇到莫名奇妙的偶发问题,先别怀疑配置,等几秒重试一次,很多时候问题就自己消失了。

对于新手,我的建议是:先跑通默认配置,再研究怎么调整。不要一上来就改一堆参数,出了问题都不知道从哪一步开始排查。等你熟悉了 XAMPP 的结构、理解了启动脚本和配置文件之间的关系,再慢慢按需定制,那时候你会觉得这套环境用起来确实是顺手得很。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 21:44:24

安卓网络检测:从internetReachability到NetworkCapabilities的避坑指南

1. 从一次线上事故说起&#xff1a;你检测的“网络”&#xff0c;真的是用户手上的网络吗&#xff1f;做安卓开发这么多年&#xff0c;我见过太多“明明代码检测到网络正常&#xff0c;用户那边却死活连不上”的诡异bug。去年接手一个项目&#xff0c;线上反馈突然暴增&#xf…

作者头像 李华
网站建设 2026/9/24 21:44:17

从“奇怪球”到双指针:排序数组计数的优化实战与细节解析

2024年9月21号那场练习赛里&#xff0c;我被一道叫“奇怪球”的题卡了二十多分钟。题面叙述挺玄乎&#xff0c;什么魔法球、魔力值、能量阈值&#xff0c;剥掉包装之后其实就是一道非常典型的双指针计数题。这篇文章我把整个思考和实现过程完整写下来&#xff0c;希望给正在刷双…

作者头像 李华
网站建设 2026/9/24 21:43:10

Java贪吃蛇毕业设计:Swing游戏开发与答辩要点全解析

简介&#xff1a;Java毕业设计资源&#xff0c;以贪吃蛇游戏为选题&#xff0c;提供完整源代码与论文文档。面向Java初学者、高校学生及毕业设计开发者&#xff0c;尤其适合需要完成课程设计或毕业设计项目、希望从零理解Java游戏开发流程并快速上手的读者。压缩包共15个文件&a…

作者头像 李华
网站建设 2026/9/24 21:43:07

edsl教程:计算社会科学与市场研究的高效分析工作流

就我这几年帮高校课题组和企业研究团队折腾各类效率工具的经验来看&#xff0c;真正能把“计算社会科学”和“市场研究”这两摊事儿揉到一起的AI产品其实非常少。多数工具要么偏学术、要么偏商业&#xff0c;中间有很大一块空白没人管。所以当我第一次看到edsl的时候&#xff0…

作者头像 李华
网站建设 2026/9/24 21:42:58

GitLab + Arbess + OSS:构建可追溯的 Java 制品流水线

1. 为什么要用 Arbess 把 GitLab 和 OSS 串起来1.1 从“构建靠人盯”到“流水线自动跑”的转变先交代背景。我们团队内部有大量 Java 服务&#xff0c;代码都放在自建的 GitLab 上&#xff0c;但很长一段时间里&#xff0c;构建、打包、传服务器这些环节都靠开发自己手动执行。…

作者头像 李华
网站建设 2026/9/24 21:42:49

Agent Skills实战指南:从函数调用到技能库的设计与实现

"Agent Skills"这一两年在AI工程圈里是实打实的热词&#xff0c;尤其是做LLM应用的朋友&#xff0c;几乎每个技术群里都有人问&#xff1a;Agent到底怎么落地&#xff1f;Skills和Tools到底有什么区别&#xff1f;为什么别人家的Agent能自动拆解任务、自己家的却整天…

作者头像 李华