首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Next.js部署到Apache服务器

将Next.js部署到Apache服务器
EN

Stack Overflow用户
提问于 2019-11-28 20:11:31
回答 2查看 13.3K关注 0票数 9

我一直在本地开发一个Next.js网站,现在我想在我的Apache服务器上设置它(用cPanel)。然而,我对Next.js和Node应用程序非常陌生,也不太确定如何去做。

有人成功了吗?您能列出所需的步骤吗?服务器上应该有哪些文件?

而且,这能在子域上完成吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-06-16 14:35:23

首先,为了让我们在同一页上有明确的术语,人们在说“服务器”时有两三个非常不同的意思:

  • 服务器机器是一台连接到internet的计算机,您打算使用它为互联网上的人提供服务。
  • 服务器程序是在服务器机器上运行的一些软件。服务器程序的工作是实际计算对各种请求的响应。
  • “服务器即服务”是一家公司提供的with应用程序,它存储您的代码,然后根据需要将其放在服务器计算机上,并具有正确的服务器程序。

当我们在这里的时候,让我们也定义:

  • 编程语言是你的网站所用的语言。有些站点没有语言(只是原始的HTML/CSS文件,直接返回给用户)。但是,许多站点都有一些应该在服务器上运行的代码,然后该代码的结果应该返回给用户。

在您的例子中,您有一个机器,除了运行Program Apache (或者可能是"Apache服务器")之外,我们不知道它的情况。Apache服务器非常老,经过验证,并且非常擅长向用户提供原始文件。它还可以运行一些编程语言,如,并返回结果。

但是,Next.JS构建在编程语言 Javascript之上,Apache无法运行该语言。相反,Next.JS希望其服务器程序是节点

所以这里的问题基本上是你有一个锤子,但只有螺丝。您不能使用您所拥有的工具Apache来解决您需要解决的问题,运行Node代码并返回结果。为了解决这个问题,你有两个选择:

首先,您可以找到一种方法来访问当前正在运行的服务器机器,然后告诉它,在Next.JS代码启动时运行指向它的Node。这可能是不可能的,这取决于谁拥有这台机器,以及他们如何设置它。

其次,也可能更容易一些,那就是放弃这个机器,而使用服务器作为服务。Heroku、AWS和Netlify都支持Next.JS,并且有一个免费的层。不过,最简单的解决方案可能是将其部署到维塞尔上,这是一个由Next.JS开发团队运行的服务器即服务,它为您提供了一个非常慷慨的免费层。

不过,好消息是,是的,next.js完全支持从子域托管。

票数 7
EN

Stack Overflow用户

发布于 2022-05-15 22:45:38

Next.JS允许您构建功能齐全的节点应用程序,以及简单的静态生成站点,如Jeckyl或Docpad。如果您的用例是一个静态生成的简单站点,请在这里查看:https://nextjs.org/docs/advanced-features/static-html-export

特别是,next build && next export命令将创建直接通过Apache或Ngnix这样的HTTP托管站点所需的所有HTML和资产。内容将输出到可用作服务器根目录的out目录。

请非常密切地注意通过这种方法不支持哪些特性。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59095604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档