如何将nextJS应用程序部署到centos ftp服务器。我将nextJS应用程序上传到public_html并运行命令yarn dev或开始使用putty。它显示localhost:3000,但我无法访问它。我尝试使用nodejs deploy进行部署,但也无法访问它。我还在.next和根目录中添加了index.js文件。
index.js
const http = require('http');
const { parse } = require('url');
const next = require('next');
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();
app.prepare().then(() => {
http
.createServer((req, res) => {
const parsedUrl = parse(req.url, true);
const { pathname, query } = parsedUrl;
handle(req, res, parsedUrl);
})
.listen(3000, (err) => {
if (err) throw err;
console.log('> Ready on http://localhost:3000');
});
});
我的主机名renocommerce.com.所以我想通过renocommerce.com/[my-app-name]访问nextJS应用程序。但无论如何,如果可能的话,可以有其他方式。
1条答案
按热度按时间lymgl2op1#
您需要在您的Web服务器上配置反向代理,此配置可以告诉您的Web服务器如何处理renocommerce.com/[ my-app-name]的请求,并将其转发到正在运行的nodejs服务器,该服务器以
start
或dev
命令开始。Selfhosting next.js有一些局限性。如果你依赖于以下任何一个函数,你很可能运气不好,应该考虑其他托管应用的方式:
局限性:
如果您的应用可以完全静态站点生成,您可以简单地将构建输出放在[my-app-name]文件夹中,并通过端口80/443提供服务。
如果你没有在自己的服务器上部署的经验,我建议你使用vercel.com在这里你可以连接你的域/子域和你的git仓库,它会自动构建和服务你的项目,这是部署next.js最简单的解决方案。
您无法访问运行在您服务器上的本地主机站点的原因是,putty只打开一个到您服务器的ssh连接。所有PC的浏览器通信都不会到达您服务器的本地主机。为此,您需要直接通过您的服务器重定向您的浏览器通信。