Zac*_*ack 10
首先从一些明确的术语开始,这样我们就可以达成共识,当人们说“服务器”时,他们的意思有两三个截然不同的含义:
服务器计算机是连接到互联网的计算机,您打算用它来为互联网上的人们提供服务。
服务器程序是您在服务器计算机上运行的一些软件。服务器程序的工作是实际计算对各种请求的响应。
服务器即服务是由公司提供的网络应用程序,它存储您的代码,然后根据需要将其放置到具有正确服务器程序的服务器计算机上。
当我们在这里时,我们也定义一下:
就您而言,您有一台机器,除了它正在运行Apache程序(或者可能是“ Apache HTTP Server ”)之外,我们不知道其状况。Apache HTTP 服务器非常古老且经过验证,并且非常擅长将原始文件返回给用户。它还可以运行一些编程语言(例如 PHP)并返回结果。
然而,Next.JS 是建立在编程语言Javascript之上的,Apache 不具备运行该语言的能力。Next.JS 希望它的服务器程序是Node。
所以这里的问题基本上是你有一把锤子,但只有螺丝。你不能使用你拥有的工具 Apache 来解决你需要解决的问题,运行 Node 代码并返回结果。要解决这个问题,您有两种选择:
首先,您可以找到一种方法来访问当前正在运行 Apache 的服务器计算机,并告诉它在启动时运行指向 Next.JS 代码的 Node。这可能是不可能的,具体取决于谁拥有这台机器以及他们如何设置它。
其次,可能更容易,就是放弃这台机器,转而使用服务器即服务。Heroku、AWS 和 Netlify 都支持 Next.JS 并且有免费套餐。不过,最简单的解决方案可能是将其部署在Vercel上,Vercel 是一个服务器即服务,由制作 Next.JS 的同一团队运行,并且有非常慷慨的免费套餐供您开始使用。
不过,好消息是 next.js 确实完全支持从子域托管。
Next.JS 允许您构建功能齐全的节点应用程序,以及简单的静态生成站点,例如 Jeckyl 或 Docpad。如果您的用例是一个简单的静态生成网站,请查看此处:https ://nextjs.org/docs/advanced-features/static-html-export
特别是,该next build && next export命令将创建直接通过 Apache 或 Ngnix 等 HTTP 服务器托管站点所需的所有 HTML 和资产。内容将输出到out可以作为服务器根目录的目录。
请密切注意此方法不支持哪些功能。
| 归档时间: |
|
| 查看次数: |
24709 次 |
| 最近记录: |