news 2026/4/22 18:31:09

利用 PHPStudy(Mac 版)部署 Nuxt3 node-server 模式项目完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
利用 PHPStudy(Mac 版)部署 Nuxt3 node-server 模式项目完整教程

利用 PHPStudy(Mac 版)部署 Nuxt3 node-server 模式项目完整教程

一、教程概述

本文针对 Mac 系统下的 PHPStudy(含小皮面板 XP.CN),详细讲解如何部署 Nuxt3node-server模式产物。node-server模式是 Nuxt3 默认的服务端部署方式,依赖 Node.js 环境运行,支持 SSR 服务端渲染、服务端接口代理、动态路由等核心能力,PHPStudy 在此过程中主要承担「反向代理」角色,实现自定义域名/端口访问 Nuxt 服务。

二、前置环境准备

1. 基础环境校验

  • Node.js:Mac 需安装 Node.js 16+ 版本,终端执行node -v验证(如输出v18.18.0则符合要求);
  • PHPStudy:确保 Mac 版 PHPStudy(或小皮面板 XP.CN)已安装并正常启动,能打开「站点/网站」管理界面;
  • Nuxt 产物:已通过pnpm run build生成 Nuxtnode-server模式产物(默认输出到项目根目录.output文件夹)。

2. 产物存放

将 Nuxt 项目的.output目录复制到 PHPStudy 网站根目录(不同版本路径略有差异):

  • 传统 PHPStudy for Mac:/Applications/PHPStudy/WWW/nuxt-pc/.output
  • 小皮面板 XP.CN:/Applications/XP/WWW/nuxt-pc/.output
    nuxt-pc为自定义项目文件夹,可自行命名)

三、步骤 1:启动 Nuxt Node 服务

node-server模式的核心是先启动独立的 Node 服务,PHPStudy 仅做反向代理转发请求,无需直接解析产物。

  1. 打开 Mac 终端,进入 Nuxt 项目目录:
    # 传统 PHPStudy 路径cd/Applications/PHPStudy/WWW/nuxt-pc# 小皮面板 XP.CN 路径# cd /Applications/XP/WWW/nuxt-pc
  2. 启动 Node 服务(指定端口避免冲突,示例用 3001):
    PORT=3001node .output/server/index.mjs
  3. 验证服务:终端显示Nitro server running on http://0.0.0.0:3001,浏览器访问http://127.0.0.1:3001能显示 Nuxt 页面,说明服务启动成功。

四、步骤 2:PHPStudy 配置反向代理站点

1. 新建站点

  1. 打开 PHPStudy(或小皮面板),点击左侧「站点/网站」→「新增/创建网站」;
  2. 填写站点核心配置:
配置项填写内容
站点名称自定义(如:nuxt-node-pc)
域名自定义(如:nuxt.pc.com,后续需配置本地 hosts)
端口自定义(如:8080,避免与 Node 服务端口 3001、PHPStudy 默认 80 端口冲突)
网站根目录选择项目文件夹(如/Applications/PHPStudy/WWW/nuxt-pc,仅占位无需指向.output
PHP 版本选择「纯静态」(无需 PHP 解析)
服务器选择「Nginx」(反向代理仅 Nginx 支持)
  1. 点击「保存/创建」,暂不启动站点。

2. 配置 Nginx 反向代理(核心)

  1. 在站点列表中找到新建的「nuxt-node-pc」,点击「配置/Nginx 配置」;
  2. 替换location /段为以下反向代理规则:
    server { listen 8080; # 对应站点配置的端口 server_name nuxt.pc.com; # 对应站点配置的域名 # 反向代理核心规则 location / { proxy_pass http://127.0.0.1:3001; # 指向启动的 Node 服务地址 # 必加:传递请求头,解决后端鉴权/跨域问题 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 可选:超时配置,避免请求超时 proxy_connect_timeout 60s; proxy_read_timeout 60s; } # 可选:补充接口代理规则(若 Nuxt 内置 proxy 失效时使用) # location /proxy/ { # proxy_pass http://你的后端接口地址/; # proxy_set_header Host 你的后端域名; # } }
  3. 保存配置,回到 PHPStudy 启动该站点。

五、步骤 3:配置 Mac 本地 Hosts

让 Mac 识别自定义域名(如nuxt.pc.com),需修改 hosts 文件:

  1. 终端执行命令编辑 hosts:
    sudovi/etc/hosts
  2. i进入编辑模式,添加一行:
    127.0.0.1 nuxt.pc.com
  3. esc退出编辑,输入:wq保存并退出;
  4. 刷新 DNS 缓存:
    dscacheutil -flushcache

六、步骤 4:访问验证与后台运行

1. 访问验证

浏览器输入http://nuxt.pc.com:8080(自定义域名+端口),能正常显示 Nuxt 页面,且动态路由、接口代理均生效,说明部署成功。

2. Node 服务后台运行(可选)

默认终端关闭后 Node 服务会停止,可通过pm2实现后台运行:

  1. 安装 pm2(全局):
    npmi -g pm2
  2. 后台启动 Nuxt 服务:
    cd/Applications/PHPStudy/WWW/nuxt-pc pm2 start .output/server/index.mjs --name"nuxt-pc"--envPORT=3001
  3. 常用 pm2 命令:
    pm2 list# 查看服务状态pm2 restart nuxt-pc# 重启服务pm2 stop nuxt-pc# 停止服务

七、常见问题排查

1. 访问域名 404/无法打开

  • 检查 Node 服务是否正常运行(终端是否有Nitro server提示);
  • 核对 Nginx 配置中proxy_pass地址是否为http://127.0.0.1:3001(端口与启动时一致);
  • 确认 hosts 文件配置正确,执行ping nuxt.pc.com能返回127.0.0.1

2. 端口被占用

  • 终端执行lsof -i :3001(替换为占用端口)查看进程;
  • 执行kill -9 进程ID关闭占用程序,重新启动 Node 服务。

3. 接口代理 502 错误

  • 检查 Nuxtnuxt.config.tsrouteRules.proxy是否配置changeOrigin: true
  • 验证后端接口地址是否可访问(终端执行curl 后端接口地址);
  • 可改用 Nginx 配置中的location /proxy/直接代理接口(更稳定)。

4. 站点启动失败

  • 检查 Nginx 配置是否有语法错误(PHPStudy 配置界面会提示);
  • 确保站点端口(8080)未被其他程序占用。

八、总结

利用 PHPStudy(Mac 版)部署 Nuxt3node-server模式的核心逻辑是「Node 服务独立运行 + PHPStudy Nginx 反向代理」:

  1. Node 服务负责处理 Nuxt SSR 渲染、动态路由、接口代理等核心逻辑;
  2. PHPStudy 仅承担「域名/端口转发」角色,让用户通过自定义域名便捷访问;
  3. 该方案兼顾了 Nuxtnode-server模式的动态能力,又利用 PHPStudy 简化了域名/端口管理,适合本地开发、测试环境快速部署。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 14:07:39

LP3524B高耐压200V隔离型LLC同步整流控制芯片典型电路

MP6924A 在 48 V 适配器、LED TV 电源里已大量采用&#xff0c;但 2024 年 Q3 起交期 20 周&#xff0c;价格翻 1.5 倍。芯茂微推出的 LP3524B 脚位完全兼容&#xff0c;关键参数全面胜出&#xff1a;耐压 200 V&#xff08;vs 200 V 相同&#xff09;、关断速度 < 50 ns&am…

作者头像 李华
网站建设 2026/4/23 16:37:30

PHP 可用的函数

PHP 可用的函数 引言 PHP 是一种广泛使用的开源服务器端脚本语言,它具有丰富的函数库,使得开发者能够轻松地构建各种动态网站和应用程序。本文将详细介绍 PHP 中一些常见的函数,并对其用途和用法进行详细说明。 一、基础函数 1.1 echo 和 print echo 和 print 是 PHP 中…

作者头像 李华
网站建设 2026/4/23 14:07:26

用Playwright替代Selenium:更快更现代的浏览器自动化实战指南

「编程类软件工具合集」 链接&#xff1a;https://pan.quark.cn/s/0b6102d9a66a 引言&#xff1a;为什么需要替代Selenium&#xff1f; 十年前&#xff0c;Selenium是浏览器自动化的绝对王者。它支持多种语言、跨浏览器运行&#xff0c;成为测试工程师和爬虫开发者的首选工…

作者头像 李华
网站建设 2026/4/23 14:06:13

实现 Kafka 数据写入的 Storm 拓扑

以下是基于 Storm 的 Kafka 数据写入实现的关键组件和逻辑分解&#xff1a;WriteTopology 类核心配置TopologyBuilder builder new TopologyBuilder();Properties props new Properties(); props.put("bootstrap.servers", BOOTSTRAP_SERVERS); props.put("ac…

作者头像 李华
网站建设 2026/4/22 22:22:17

LORA温湿度传感器如何赋能六大行业?揭秘无线环境监测的落地新范式

在数字化转型浪潮下&#xff0c;环境参数的实时、精准、远程监控已成为众多行业的刚需。而传统有线温湿度监测方案因布线复杂、成本高、扩展难&#xff0c;正逐步被更灵活高效的无线技术所替代。其中&#xff0c;LORA温湿度传感器凭借超远距离、低功耗、强穿透和高稳定性等优势…

作者头像 李华
网站建设 2026/4/23 15:33:25

从 LLaVA 到 Qwen3-VL,多模态大模型主流架构的演进之路

从 LLaVA 到 Qwen3-VL&#xff0c;多模态大模型主流架构的演进之路大多数人都是高估自己一天可以做的事情&#xff0c;但是低估了自己一年可以做的事情作者&#xff1a;我要吃鸡腿 原文&#xff1a;https://zhuanlan.zhihu.com/p/1963658684765833212引言&#xff1a;当 AI 睁开…

作者头像 李华