You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Phusion Passenger在Plesk上部署并启动Nuxt3项目

在Plesk上部署Nuxt3应用的解决步骤

先修复你的启动文件问题

你当前的server.js存在模块加载错误——Nuxt3编译生成的.output/server/index.mjs是ES模块,无法通过CommonJS的require加载,需要调整写法:

推荐方案:改用ES模块启动文件

将server.js重命名为server.mjs,内容替换为:

import { createServer } from 'http'
import app from './.output/server/index.mjs'

createServer(app).listen(process.env.PORT || 3000)

备选方案:修改package.json启用ES模块

如果坚持使用.js后缀,在项目根目录的package.json中添加:

{
  "type": "module"
}

同时将server.js修改为ES模块语法:

import app from './.output/server/index.mjs';
import http from 'http';

http.createServer(app).listen(process.env.PORT || 3000);

Plesk + Phusion Passenger 自动启动配置

Phusion Passenger确实支持自动启动Node.js应用,但需要满足它的检测规则,按以下步骤配置:

  1. 确认项目结构
    不要拆分上传PUBLIC和SERVER文件夹,直接上传Nuxt3编译后的完整.output文件夹到Plesk主机的项目根目录,同时将修改后的启动文件(server.mjs或server.js)放在根目录。

  2. Plesk后台配置

    • 进入「网站与域名」→ 选择目标域名 → 点击「Node.js」选项
    • 配置核心参数:
      • 应用模式:选择「生产」
      • 应用根目录:指向包含.output和启动文件的文件夹
      • 启动文件:填写你修改后的文件名(如server.mjs)
      • 端口:可留空(Passenger自动分配)或指定自定义端口
    • 点击「启用Node.js」,再点击「重启应用」
  3. 验证自动启动
    Passenger会自动管理应用进程:启动时自动拉起进程,进程崩溃后自动重启。你可以通过Plesk的Node.js页面查看应用状态,或直接访问域名确认网站是否正常运行。

常见排查点

  • 查看Plesk的「错误日志」(路径:网站与域名→日志→错误日志),排查模块加载、权限或端口占用问题
  • 确保Plesk配置的Node.js版本符合Nuxt3要求(推荐v18及以上),可在Node.js设置中切换版本
  • 确认.output文件夹及启动文件的权限正确,Plesk运行用户需拥有读取权限

内容的提问来源于stack exchange,提问作者Marghen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 18:13:12