如何部署 Laravel + Nuxt 应用程序?

How to deploy Laravel + Nuxt application?

我使用 Laravel As API 和 Nuxt As Front and 构建了 Web 应用程序。这两个拼命建造。当开发正在进行时,这不是问题。因为我可以 运行 他们使用他们自己的开发服务器。然后我买了一个 VPS 服务器来托管这个。现在的问题是我如何在 VPS 上部署这两个应用程序。特别是我如何在 vps 中正确部署 nuxt 应用程序。它不是静态的一面。它是 ssr 应用程序。

基本上,您将需要一些东西:

  • 一个服务器(你已经有)
  • nginx
  • PM2
  • Node/NPM 已安装

其中棘手的部分是确保服务器继续 运行ning 并在发生崩溃时自动重启。 PM2 解决了这个问题,您可以在此处阅读有关如何使用它的更多信息:https://nuxtjs.org/docs/2.x/deployment/deployment-pm2

您可以通过以下方式安装它:

npm install -g pm2

这将在您的服务器上全局安装 PM2,您将可以访问 pm2 命令。

按照上面的文档,你所要做的就是运行:

pm2 start all

这将启动 Nuxt 服务,它将 运行 在您在 nuxt.config.jspackage.json 文件中定义的任何端口上。

现在你已经有了 Nuxt 实例 运行ning,你需要确保通过浏览器的请求最终到达 Nuxt 运行ning 所在的端口,那就是可以通过使用 nginx 的反向代理功能实现,您可以阅读更多内容: https://nuxtjs.org/docs/2.x/deployment/nginx-proxy/

该文档为您提供了一个 nginx 配置文件的示例,除了 server_name 和 proxy_pass 之外,您实际上不需要更改任何其他内容,以防您已更改默认的 Nuxt 端口从 3000 到其他端口。

此外请确保您已允许端口 80 在您的服务器上侦听。