我正在尝试在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应该启动进程,而无需启动手动启动命令?
非常感谢
2条答案
按热度按时间q9yhzks01#
我解决了我的问题,这比我预期的要容易得多:你需要做的只是创建一个server.js文件,包含1行:
字符串
这是nuxt 3在./output/server/index. mjs中生成的文件。
就是这样。我肯定是过度复杂化它来自nuxt 2,我希望它可以保存时间给别人。
vhmi4jdf2#
接受的答案是好的,我猜,但不幸的是,这不是我的解决方案.我有一个Plesk黑曜石与飞行乘客作为OP.不幸的是,我没有访问日志,并要求提供商是一个痛苦的屁股.
我的Plesk nodejs配置看起来像:
的数据
我的应用程序在子域
abc.my-url.de
中运行所以我的
Document Root
是abc.my-url.de/.output/public
我的
Aplication Url
是http://abc.my-url.de
我的
Application Root
是abc.my-url.de
.output
目录由yarn build
生成第一次我建议你把
Application Mode
设置为development
,因为在其他情况下,AdversionPassenger不会告诉你错误。这是什么使应用程序在我的情况下运行:
我不得不创建一个
app.cjs
(名称无关紧要,但结尾很重要),内容如下:字符串
我的
Application Startup File
是app.cjs
,并放置在子域名的根目录中,其中也生成了.output
文件夹。如果您的应用正在运行,请不要忘记将
Application Mode
更改为production
。我不清楚为什么我必须使用
cjs
文件,因为我不知道提供商的nodejs设置,他将其作为秘密。我必须将
./
添加到app.cjs中的导入路径的原因是(供应商告诉我的),因为Approxion Passenger将应用程序复制到一个沙箱文件夹中,然后在其中运行。这并不能很好地解释它,但这就是我所得到的全部。