【发布时间】:2022-11-11 09:37:06
【问题描述】:
我有一个简单的 Nuxt ssr 应用程序,其中的 serverMidlleware 处理一个 api 端点 (/api/contact)。要部署我正在使用 pm2 的应用程序。
在开发和生产中运行应用程序(本地没有 pm2)一切正常。使用 pm2 将其部署在基本的 ubuntu 服务器上,api 端点变得无法访问(404 未找到)。
正如here 所指出的,中间件不包含在.nuxt 构建中。所以,我确保也复制了api 目录(我的中间件所在的位置)。
对于 pm2 部署,ecosystem.config.js:
module.exports = {
apps: [
{
name: 'App',
exec_mode: 'cluster',
instances: 'max',
script: './node_modules/nuxt/bin/nuxt.js',
args: 'start'
}
]
}
在nuxt.config.js 内部:
serverMiddleware: [
{ path: '/api/contact', handler: '~/api/contact.js' }
]
由于只有通过 pm2 部署失败,我假设其他文件不感兴趣。我假设这必须与某种 pm2 配置相关才能找到 api 文件夹。
【问题讨论】:
-
正如my answer 中所述,您确实需要复制整个内容。不确定
apps在做什么,但您不能在部署应用程序后运行 shell 命令吗?因为您可以访问 VPS。 -
谢谢,复制“整个事情”有效,不确定我错过了哪个文件
标签: vue.js nuxt.js web-deployment server-side-rendering pm2