XAMPP 不包含 CouchDB,二者是独立服务,改 Apache 端口对 CouchDB 无效;需单独安装 CouchDB,修改其 default.ini 或 local.ini 中的 port 和 bind_address,并解决端口冲突与防火墙拦截问题。

XAMPP 本身不包含 CouchDB,也不能通过修改 Apache 端口让 CouchDB 运行起来——这是两个完全独立的服务。你不能靠配 httpd.conf 或 httpd-vhosts.conf 把 CouchDB “塞进” XAMPP 的 Apache 里。
为什么改 Apache 端口对 CouchDB 没用
CouchDB 是一个独立的 HTTP 服务进程(beam.smp),默认监听 5984 端口,它不依赖 Apache、不读取 .htaccess、也不走 mod_php。XAMPP 的 Listen 和 <virtualhost></virtualhost> 只控制 Apache 自己的请求分发,对 CouchDB 进程零影响。
常见误解是:「我把 Apache 改成 8080,再把 CouchDB 配成 5984,不就多端口了?」——这没错,但它们本来就是并存的,不需要 XAMPP 配置来“支持”。真正要做的,是让 CouchDB 跑起来,并确保端口不冲突。
在 Windows 上让 CouchDB 和 XAMPP 共存的关键操作
你需要单独安装 CouchDB(XAMPP 不提供),然后手动协调端口和防火墙:
XAMPP 8.0.30 是一款免费、开源的跨平台 Web 服务器集成包,专为快速搭建本地 PHP 开发环境而设计。该版本核心组件包括:Apache 2.4.56、MySQL 8.0.33、PHP 8.0.30、phpMyAdmin 5.2.1 等。它支持 Windows、Linux 和 macOS 系统,可让开发者在个人电脑上轻松模拟服务器环境,无需复杂配置即可运行 WordPress、Thin
- CouchDB 安装后,默认配置文件是
C:\CouchDB\etc\default.ini(或local.ini),改其中的bind_address和port即可调整监听行为,例如:[httpd] port = 5985 bind_address = 127.0.0.1
- 检查是否端口冲突:运行
netstat -ano | findstr :5984,如果被占用,要么杀掉进程,要么改 CouchDB 端口 - XAMPP 的 Apache 默认占
80和443,只要你不把 CouchDB 也设成80,二者天然不冲突 - Windows 防火墙可能拦截 CouchDB:需手动放行你设的端口(如
5985),否则浏览器访问http://localhost:5985会超时
想用 XAMPP 控制面板统一启停 CouchDB?不行,但可以绕过
XAMPP 控制面板只管理它自带的 apache 和 mysql 服务。CouchDB 是另一个 Windows 服务(安装时可选注册),你可以:
- 安装 CouchDB 时勾选 “Install as a service”,之后用
services.msc启停 - 不想装服务?直接运行
C:\CouchDB\bin\couchdb.cmd启动(黑窗保持打开) - 无法接受黑窗?写个简单批处理 +
start /min隐藏运行,或用 NSSM 将其包装成服务
注意:couchdb.cmd 启动后,日志会输出到控制台;若想后台静默运行,必须走服务方式或进程守护工具。
最容易被忽略的一点:CouchDB 的 admin party 模式默认开启(即无需登录就能读写),开发阶段方便,但一旦你把它暴露在局域网或改了 bind_address = 0.0.0.0,立刻变成安全风险——别只顾着调端口,忘了在 local.ini 里设 [admins]。

















