如何将 nuxt.js 应用程序部署到 Apache?

How can I deploy a nuxt.js app to Apache?

我用 nuxt.js 开始了自己的博客(静态内容)。但是当我将 nuxt.js 应用程序部署到 Apache 时遇到了一些问题。

我知道将 nuxt.js 部署到 Nginx 会更好,但我别无选择,只能使用 Apache .. 我为我的 nuxt.js 应用程序设置了代理以连接到我的域。但是只有主页有效,其他页面显示无效的 DNS 错误消息。

我做了什么

  1. npm nuxt generate > npm nuxt start 在我的 CLI 中
  2. httpd-vhost.conf
  3. 中的代理设置
<VirtualHost *:80>
    ServerName mydomain.com
    DocumentRoot "/Users/myname/projects"
    ProxyRequests OFF
    ProxyPreserveHost On
    ProxyPass / http://localhost:3000
    ProxyPassReverse / http://localhost:3000
</VirtualHost>
  1. 当我浏览我的域时,登录页面显示但其他页面不显示。

如何将我的 nuxt.js 部署到 Apache?

感谢您的帮助!

您是将站点部署到子文件夹还是服务器的根目录?

  1. 您的 mod_proxy 配置的问题是您缺少代理 URL 的尾部斜杠,即这两个指令需要是:

       ProxyPass / http://localhost:3000/
       ProxyPassReverse / http://localhost:3000/
    
  2. 但是,如果您使用 nuxt generate 生成了一个静态 Nuxt 站点,并且需要使用 Apache 为它提供服务,那么您不需要 运行 Nuxt 应用程序nuxt start。相反,您可以直接使用 Apache 提供生成的静态文件。

    将您的 Nuxt 应用程序 dist 子目录的内容上传到 Apache DocumentRoot,删除代理配置指令,这应该是所有需要的。