NodeJS 如何在Plesk上部署NUXT3

z9zf31ra  于 11个月前  发布在  Node.js
关注(0)|答案(2)|浏览(151)

我正在尝试在Plesk上部署一个Nuxt 3网站,使用yarn build编译。因此,我在Plesk托管上拥有PUBLIC和SERVER文件夹。
我有一个server.js文件,如下所示:
const app = require('./.output/server/index. mjs'); const http = require('http '); http. removeServer(app).listen(process.env.PORT);
我找不到一个单一的指南Nuxt 3,我需要启动应用程序.但从我的理解,Proxsion应该启动进程,而无需启动手动启动命令?
非常感谢

q9yhzks0

q9yhzks01#

我解决了我的问题,这比我预期的要容易得多:你需要做的只是创建一个server.js文件,包含1行:

import('./server/index.mjs');

字符串
这是nuxt 3在./output/server/index. mjs中生成的文件。
就是这样。我肯定是过度复杂化它来自nuxt 2,我希望它可以保存时间给别人。

vhmi4jdf

vhmi4jdf2#

接受的答案是好的,我猜,但不幸的是,这不是我的解决方案.我有一个Plesk黑曜石与飞行乘客作为OP.不幸的是,我没有访问日志,并要求提供商是一个痛苦的屁股.
我的Plesk nodejs配置看起来像:


的数据
我的应用程序在子域abc.my-url.de中运行
所以我的Document Rootabc.my-url.de/.output/public
我的Aplication Urlhttp://abc.my-url.de
我的Application Rootabc.my-url.de
.output目录由yarn build生成
第一次我建议你把Application Mode设置为development,因为在其他情况下,AdversionPassenger不会告诉你错误。
这是什么使应用程序在我的情况下运行:
我不得不创建一个app.cjs(名称无关紧要,但结尾很重要),内容如下:

// !!! the ./ at the beginning is extremely important !!!
import('./.output/server/index.mjs');

字符串
我的Application Startup Fileapp.cjs,并放置在子域名的根目录中,其中也生成了.output文件夹。
如果您的应用正在运行,请不要忘记将Application Mode更改为production
我不清楚为什么我必须使用cjs文件,因为我不知道提供商的nodejs设置,他将其作为秘密。
我必须将./添加到app.cjs中的导入路径的原因是(供应商告诉我的),因为Approxion Passenger将应用程序复制到一个沙箱文件夹中,然后在其中运行。这并不能很好地解释它,但这就是我所得到的全部。

相关问题