XAMPP环境下多端口部署VuePress

千强君_2154

千强君_2154

2026-05-03

888人浏览

原创

可行,但必须先用 vuepress build 生成静态文件,再通过 apache 多端口虚拟主机托管;不可直接接入 vuepress dev 服务,因其为独立 node 进程,与 apache 无关联。

xampp环境下多端口部署vuepress

VuePress 本身是静态站点生成器,不依赖后端服务,但若你希望在 XAMPP 的 Apache 上托管多个 VuePress 站点(比如不同文档项目、测试环境、预发布分支),并用不同端口区分访问,**可行,但必须绕过 VuePress 的开发服务器(vuepress dev),只部署构建后的静态文件**。直接用 vuepress dev 启动的本地服务(如 http://localhost:8080)和 XAMPP 的 Apache 是两套独立进程,无法共用端口或被 Apache 反向代理到 VuePress dev server——除非你手动配 mod_proxy,但那已脱离“XAMPP 多端口托管静态站”的本意。

为什么不能直接把 vuepress dev 接入 XAMPP 端口

VuePress 开发服务器是基于 webpack-dev-server 或 Vite 的,它监听的是自己的 Node.js 进程端口(默认 8080),和 Apache 完全无关。XAMPP 的 Listen 指令只对 Apache 自身生效,不会转发请求给另一个进程。强行让 Apache ProxyPass 到 localhost:8080 虽技术上可做,但会引入额外故障点(Node 进程挂掉、跨域、热更新失效、404 路由 fallback 失效),且违背 VuePress “静态部署”设计初衷。

所以真正可靠的做法是:先 vuepress build 出 .vuepress/dist 目录,再把该目录作为纯静态资源,交给 Apache 通过多端口虚拟主机托管。

配置 Apache 多端口虚拟主机托管 VuePress 构建产物

假设你有两个 VuePress 项目:

  • my-docs-a 构建后路径:C:/xampp/htdocs/docs-a
  • my-docs-b 构建后路径:C:/xampp/htdocs/docs-b

按以下步骤操作:

1. 修改 C:\xampp\apache\conf\httpd.conf,在已有 Listen 80 行下方添加:

Listen 8080
Listen 8081

2. 确保 httpd.conf 中这行未被注释:

Include conf/extra/httpd-vhosts.conf

3. 编辑 C:\xampp\apache\conf\extra\httpd-vhosts.conf,追加:

vue-component-analyzer
vue-component-analyzer

递归分析 Vue 项目组件依赖,从入口文件生成组件层级图,支持 Vue 2/3,输出组件名、文件路径和属性。适用于分析组件结构、排查依赖或了解项目架构。

下载
<virtualhost>
    ServerName localhost:8080
    DocumentRoot "C:/xampp/htdocs/docs-a"
    <directory>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </directory></virtualhost><p><virtualhost>
ServerName localhost:8081
DocumentRoot "C:/xampp/htdocs/docs-b"
<directory>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</directory></virtualhost></p>

⚠️ 注意点:

  • AllowOverride All 必须启用,否则 VuePress 的客户端路由(如 /guide/)在刷新时会 404(Apache 默认不解析 .htaccess,而 VuePress 的 history 模式依赖它 fallback 到 index.html)
  • 如果 docs-a 或 docs-b 是子目录(比如 docs-a/guide/),需在 config.js 中设置 base: '/docs-a/',否则资源路径(CSS/JS)会 404
  • Windows 路径中反斜杠 \ 必须换成正斜杠 /,否则 Apache 启动失败

解决 VuePress 静态资源 404 和路由刷新 404

即使配置了多端口,访问 http://localhost:8080/guide/ 仍可能报 404,这是因为:

  • Apache 尝试找物理路径 /guide/ 下的 index.html,但 VuePress 的 guide/ 是前端路由,真实文件只在根目录 index.html
  • 需要 Apache 把所有非资源请求 fallback 到 index.html

做法是在每个 VuePress 项目的 dist 根目录下放一个 .htaccess 文件(内容如下):

RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]

同时确保 httpd-vhosts.conf 中对应 <directory></directory> 块里有 AllowOverride All(见上一节),否则 Apache 忽略该文件。

若不想用 .htaccess,也可把 rewrite 规则写进 <directory></directory> 块内(需启用 mod_rewrite):

<directory>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.html [L]
</directory>

重启 Apache 后仍打不开?重点检查三处

常见卡点不是配置语法错,而是权限与路径细节:

  • Windows 防火墙或杀毒软件拦截了 8080/8081 端口(尤其某些国产安全软件会静默封禁非标准端口)
  • DocumentRoot 路径末尾**不要加斜杠**:"C:/xampp/htdocs/docs-a" ✅,"C:/xampp/htdocs/docs-a/" ❌(Apache 会报 syntax error)
  • VuePress 构建前没设 base,导致 CSS/JS 请求地址是 http://localhost:8080/assets/xxx.css(正确),但如果部署在子路径如 http://localhost:8080/docs-a/,就必须在 config.js 写 base: '/docs-a/',否则资源 404
  • 修改完配置后,XAMPP 控制面板里要点击 Apache → Stop 再 Start,仅 “Restart” 有时不重载 httpd-vhosts.conf

多端口本质是 Apache 的基础能力,难点不在“能不能”,而在 VuePress 的静态特性与 Apache 的路径/重写规则之间是否对齐——尤其是 base、.htaccess、AllowOverride 这三者必须协同生效,漏一不可。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

xampp vue

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
XAMPP用法详解
XAMPP用法详解

本专题整合了XAMPP相关用法介绍,阅读专题下面的文章了解更多详细内容。

2026.04.08

253

20

XAMPP 安装与快速入门指南
XAMPP 安装与快速入门指南

面向零基础用户,详细介绍 XAMPP 在 Windows、macOS、Linux 三大平台上的下载、安装步骤、首次启动配置、控制面板使用以及 Apache/MySQL 服务的基本启停操作,帮助初学者在最短时间内搭建起可用的本地开发环境。

2026.04.08

230

23

XAMPP Apache 与 MySQL 核心配置实战
XAMPP Apache 与 MySQL 核心配置实战

深入讲解 XAMPP 中 Apache 和 MySQL 的核心配置技巧,包括 httpd.conf 端口修改、虚拟主机(VirtualHost)多站点配置、MySQL 用户权限管理与远程连接设置、php.ini 关键参数调优,以及 SSL 证书的本地配置方法,适合有一定基础的开发者进阶使用。

2026.04.08

445

21

XAMPP 本地项目部署与调试全流程
XAMPP 本地项目部署与调试全流程

以 WordPress、Laravel、ThinkPHP 等主流 PHP 框架和 CMS 为例,演示如何在 XAMPP 环境中完成项目部署、本地域名绑定(hosts配置)、数据库导入、伪静态规则配置以及 Xdebug 断点调试的完整流程,让本地开发与线上环境无缝衔接。

2026.04.08

122

21

XAMPP 常见问题排查与故障解决
XAMPP 常见问题排查与故障解决

汇总 XAMPP 使用过程中最常遇到的故障场景及其解决方案,涵盖 80/443 端口被占用、Apache 或 MySQL 无法启动、phpMyAdmin 访问报错、文件权限不足、日志分析方法等问题,提供逐步排查思路与一键修复技巧,减少开发者的排错时间。

2026.04.08

310

22

XAMPP 安全加固与生产环境迁移
XAMPP 安全加固与生产环境迁移

聚焦 XAMPP 的安全实践与环境迁移,包括修改 MySQL 默认 root 密码、关闭目录列表浏览、限制 phpMyAdmin 外部访问、配置防火墙规则等安全加固措施,同时讲解如何将 XAMPP 本地开发完成的项目平滑迁移部署到 Linux 生产服务器。

2026.04.08

284

30

XAMPP 与 phpMyAdmin 数据库管理实操
XAMPP 与 phpMyAdmin 数据库管理实操

专注于 XAMPP 内置的 phpMyAdmin 数据库管理工具,系统讲解数据库和数据表的创建与设计、SQL 语句执行、CSV/SQL 格式数据的导入导出、定时备份与一键还原、多数据库批量管理等日常操作,帮助开发者高效管理本地 MySQL 数据。

2026.04.08

335

26

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

2026.10.10

40

15

Kratos框架HTTP与gRPC服务开发教程
Kratos框架HTTP与gRPC服务开发教程

本专题围绕Kratos框架双协议服务开发,涵盖HTTP路由与处理器编写、参数获取、gRPC服务实现与客户端调用、metadata上下文传递、encoding编解码注册、统一响应封装、超时控制与流式响应实现方法。

2026.10.10

20

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程