我一直在本地开发Next.js网站,现在想在我的Apache服务器(使用cPanel)上进行设置。但是,我对Next.js和Node应用程序非常陌生,不太确定如何去做。
有人成功做到了吗?您能否列出所需的步骤以及服务器上应包含哪些文件?
也可以在子域上完成吗?
谢谢!
服务器程序是您在服务器计算机上运行的某些软件。服务器程序的工作是实际计算对各种请求的响应。
“服务器即服务”是由公司提供的Web应用程序,用于存储您的代码,然后根据需要使用正确的服务器程序将其放入服务器计算机。
一种编程语言是您的网站使用的语言。某些网站没有语言(只是原始HTML / CSS文件,可以直接返回给用户)。但是,许多站点都有一些应在服务器上运行的代码,然后应将这些代码的结果返回给用户。
Program Apache(或者可能是“ Apache HTTP Server”)外,我们不知道其状况。 Apache HTTP服务器非常古老且经过验证,非常擅长将原始文件提供给用户。它还可以运行某些Programming Languages(例如PHP)并返回结果。
但是,Next.JS是在Programming Language Javascript之上构建的,Apache可以not来运行Javascript。相反,Next.JS希望其服务器程序为Node。
因此,这里的问题基本上是您有锤子,但只有螺丝。您无法使用现有的Apache工具来解决您需要解决的问题,运行Node代码并返回结果。为了解决这个问题,您有两个选择:首先,您可以找到一种方法来访问当前正在运行Apache的服务器计算机
并告诉它,而是在启动时运行指向Next.JS代码的Node。这可能无法实现,具体取决于谁拥有这台机器以及他们如何设置。第二个,也许更容易,是放弃此Machine,而使用
Server as a Service
。 Heroku,AWS和Netlify都支持Next.JS,并具有免费层。但是,最简单的解决方案可能是将其部署在Vercel上,该服务器是由生产Next.JS的同一团队运行的服务器即服务,并且具有非常宽泛的免费层供您入门。 >但是,好消息是,next.js完全支持从子域托管。