如何将 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 错误消息。
我做了什么
npm nuxt generate
> npm nuxt start
在我的 CLI 中
- httpd-vhost.conf
中的代理设置
<VirtualHost *:80>
ServerName mydomain.com
DocumentRoot "/Users/myname/projects"
ProxyRequests OFF
ProxyPreserveHost On
ProxyPass / http://localhost:3000
ProxyPassReverse / http://localhost:3000
</VirtualHost>
- 当我浏览我的域时,登录页面显示但其他页面不显示。
- Clink 出版物页面 -> 显示“localhost:3000publications
的无效 DNS 错误
- 图像(jpg、png)文件未加载。
如何将我的 nuxt.js 部署到 Apache?
感谢您的帮助!
您是将站点部署到子文件夹还是服务器的根目录?
您的 mod_proxy 配置的问题是您缺少代理 URL 的尾部斜杠,即这两个指令需要是:
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
但是,如果您使用 nuxt generate
生成了一个静态 Nuxt 站点,并且需要使用 Apache 为它提供服务,那么您不需要 运行 Nuxt 应用程序nuxt start
。相反,您可以直接使用 Apache 提供生成的静态文件。
将您的 Nuxt 应用程序 dist
子目录的内容上传到 Apache DocumentRoot
,删除代理配置指令,这应该是所有需要的。
我用 nuxt.js 开始了自己的博客(静态内容)。但是当我将 nuxt.js 应用程序部署到 Apache 时遇到了一些问题。
我知道将 nuxt.js 部署到 Nginx 会更好,但我别无选择,只能使用 Apache .. 我为我的 nuxt.js 应用程序设置了代理以连接到我的域。但是只有主页有效,其他页面显示无效的 DNS 错误消息。
我做了什么
npm nuxt generate
>npm nuxt start
在我的 CLI 中- httpd-vhost.conf 中的代理设置
<VirtualHost *:80>
ServerName mydomain.com
DocumentRoot "/Users/myname/projects"
ProxyRequests OFF
ProxyPreserveHost On
ProxyPass / http://localhost:3000
ProxyPassReverse / http://localhost:3000
</VirtualHost>
- 当我浏览我的域时,登录页面显示但其他页面不显示。
- Clink 出版物页面 -> 显示“localhost:3000publications 的无效 DNS 错误
- 图像(jpg、png)文件未加载。
如何将我的 nuxt.js 部署到 Apache?
感谢您的帮助!
您是将站点部署到子文件夹还是服务器的根目录?
您的 mod_proxy 配置的问题是您缺少代理 URL 的尾部斜杠,即这两个指令需要是:
ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/
但是,如果您使用
nuxt generate
生成了一个静态 Nuxt 站点,并且需要使用 Apache 为它提供服务,那么您不需要 运行 Nuxt 应用程序nuxt start
。相反,您可以直接使用 Apache 提供生成的静态文件。将您的 Nuxt 应用程序
dist
子目录的内容上传到 ApacheDocumentRoot
,删除代理配置指令,这应该是所有需要的。