Seraphine:英雄联盟玩家的智能游戏助手,三大核心功能提升游戏体验
2026/6/14 10:13:17
本文针对 Mac 系统下的 PHPStudy(含小皮面板 XP.CN),详细讲解如何部署 Nuxt3node-server模式产物。node-server模式是 Nuxt3 默认的服务端部署方式,依赖 Node.js 环境运行,支持 SSR 服务端渲染、服务端接口代理、动态路由等核心能力,PHPStudy 在此过程中主要承担「反向代理」角色,实现自定义域名/端口访问 Nuxt 服务。
node -v验证(如输出v18.18.0则符合要求);pnpm run build生成 Nuxtnode-server模式产物(默认输出到项目根目录.output文件夹)。将 Nuxt 项目的.output目录复制到 PHPStudy 网站根目录(不同版本路径略有差异):
/Applications/PHPStudy/WWW/nuxt-pc/.output;/Applications/XP/WWW/nuxt-pc/.output;nuxt-pc为自定义项目文件夹,可自行命名)node-server模式的核心是先启动独立的 Node 服务,PHPStudy 仅做反向代理转发请求,无需直接解析产物。
# 传统 PHPStudy 路径cd/Applications/PHPStudy/WWW/nuxt-pc# 小皮面板 XP.CN 路径# cd /Applications/XP/WWW/nuxt-pcPORT=3001node .output/server/index.mjsNitro server running on http://0.0.0.0:3001,浏览器访问http://127.0.0.1:3001能显示 Nuxt 页面,说明服务启动成功。| 配置项 | 填写内容 |
|---|---|
| 站点名称 | 自定义(如:nuxt-node-pc) |
| 域名 | 自定义(如:nuxt.pc.com,后续需配置本地 hosts) |
| 端口 | 自定义(如:8080,避免与 Node 服务端口 3001、PHPStudy 默认 80 端口冲突) |
| 网站根目录 | 选择项目文件夹(如/Applications/PHPStudy/WWW/nuxt-pc,仅占位无需指向.output) |
| PHP 版本 | 选择「纯静态」(无需 PHP 解析) |
| 服务器 | 选择「Nginx」(反向代理仅 Nginx 支持) |
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 你的后端域名; # } }让 Mac 识别自定义域名(如nuxt.pc.com),需修改 hosts 文件:
sudovi/etc/hostsi进入编辑模式,添加一行:127.0.0.1 nuxt.pc.comesc退出编辑,输入:wq保存并退出;dscacheutil -flushcache浏览器输入http://nuxt.pc.com:8080(自定义域名+端口),能正常显示 Nuxt 页面,且动态路由、接口代理均生效,说明部署成功。
默认终端关闭后 Node 服务会停止,可通过pm2实现后台运行:
npmi -g pm2cd/Applications/PHPStudy/WWW/nuxt-pc pm2 start .output/server/index.mjs --name"nuxt-pc"--envPORT=3001pm2 list# 查看服务状态pm2 restart nuxt-pc# 重启服务pm2 stop nuxt-pc# 停止服务Nitro server提示);proxy_pass地址是否为http://127.0.0.1:3001(端口与启动时一致);ping nuxt.pc.com能返回127.0.0.1。lsof -i :3001(替换为占用端口)查看进程;kill -9 进程ID关闭占用程序,重新启动 Node 服务。nuxt.config.ts中routeRules.proxy是否配置changeOrigin: true;curl 后端接口地址);location /proxy/直接代理接口(更稳定)。利用 PHPStudy(Mac 版)部署 Nuxt3node-server模式的核心逻辑是「Node 服务独立运行 + PHPStudy Nginx 反向代理」:
node-server模式的动态能力,又利用 PHPStudy 简化了域名/端口管理,适合本地开发、测试环境快速部署。