Екатерина Asked:2022-08-05 01:37:38 +0000 UTC2022-08-05 01:37:38 +0000 UTC 2022-08-05 01:37:38 +0000 UTC 如何将下一个 js 应用程序部署到主机? 772 如何进行部署?我有各种文件要更改,据我了解,我需要将所有这些上传到主机,并且已经使用节点 js,尝试组装它? reactjs node.js 1 个回答 Voted Best Answer Mark Rihter 2022-08-16T00:56:44Z2022-08-16T00:56:44Z 这是一篇关于部署 next.js 应用程序的文章 - https://nextjs.org/docs/deployment。找出答案的最好方法是从这篇文章开始。 您可以通过在帮助下生成静态文件来部署它们。next build && next export并使用 nginx 部署到任何机器上。 静态文件的基本 nginx 配置如下所示: server { listen 80; server_name your_server_name.com; location / { root /www/data; index index.html index.htm; } } 在这种情况下,nginx 服务器将使用位于 /www/data 目录中的 index.html 文件响应端口 80(http 的标准端口)上的请求 第二种选择是直接部署 node.js 应用程序。在这种情况下,生成一个构建并使用命令在主机上运行它next build && next start。在这个阶段,您在 3000 端口上有一个工作项目。之后,您需要将 nginx 配置为代理服务器,这里是文档的链接 - https://docs.nginx.com/nginx/admin-guide/网络服务器/反向代理/。此类任务的基本配置如下所示: server { listen 80; server_name your_server_name.com; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } 现在 nginx 会将所有 http 请求重定向到您的 next.js 应用程序。 应该理解,部署应用程序有多种方式和适当的工具。作为 nginx 的替代品,有 Apache Web 服务器 ( https://httpd.apache.org/ )。 要在生产中运行 node.js 应用程序,有一个 pm2 项目,我认为它会比标准的 next.js 更好地工作。pm2 官方网站为https://pm2.keymetrics.io/,其 npm 包为https://www.npmjs.com/package/pm2。 作为 pm2 的替代方案,在 docker 容器中运行 next.js 应用程序的选项是 github 上的一个示例 - https://github.com/vercel/next.js/tree/canary/examples/with-docker。此选项可以与 docker-compose 结合使用,以便在出现错误时,容器将自行重启,您的应用程序将在不中断的情况下运行,无需手动重启。 对于 docker-compose 配置,将 docker-compose.yml 文件添加到 github 示例中,内容如下: services: web: build: . ports: - 3000:3000 restart: unless-stopped 并使用命令运行 docker-compose docker-compose up。当然,为此您需要在主机上安装 docker(安装说明https://docs.docker.com/engine/install/)和 docker-compose (以及另一条说明 - https://docs.docker.com /撰写/安装/) 最后,我想补充一点,我不是任何列出的技术的专家,学习一些东西的最佳选择是尝试自己做。您可以尝试使用上述任何方法在您自己的计算机上部署您的项目,然后在 yandex.cloud 上租用一个虚拟机,并通过使用 ssh 连接到该机器在生产环境中进行部署。
这是一篇关于部署 next.js 应用程序的文章 - https://nextjs.org/docs/deployment。找出答案的最好方法是从这篇文章开始。
您可以通过在帮助下生成静态文件来部署它们。
next build && next export并使用 nginx 部署到任何机器上。静态文件的基本 nginx 配置如下所示:
在这种情况下,nginx 服务器将使用位于 /www/data 目录中的 index.html 文件响应端口 80(http 的标准端口)上的请求
第二种选择是直接部署 node.js 应用程序。在这种情况下,生成一个构建并使用命令在主机上运行它
next build && next start。在这个阶段,您在 3000 端口上有一个工作项目。之后,您需要将 nginx 配置为代理服务器,这里是文档的链接 - https://docs.nginx.com/nginx/admin-guide/网络服务器/反向代理/。此类任务的基本配置如下所示:现在 nginx 会将所有 http 请求重定向到您的 next.js 应用程序。
应该理解,部署应用程序有多种方式和适当的工具。作为 nginx 的替代品,有 Apache Web 服务器 ( https://httpd.apache.org/ )。
要在生产中运行 node.js 应用程序,有一个 pm2 项目,我认为它会比标准的 next.js 更好地工作。pm2 官方网站为https://pm2.keymetrics.io/,其 npm 包为https://www.npmjs.com/package/pm2。
作为 pm2 的替代方案,在 docker 容器中运行 next.js 应用程序的选项是 github 上的一个示例 - https://github.com/vercel/next.js/tree/canary/examples/with-docker。此选项可以与 docker-compose 结合使用,以便在出现错误时,容器将自行重启,您的应用程序将在不中断的情况下运行,无需手动重启。
对于 docker-compose 配置,将 docker-compose.yml 文件添加到 github 示例中,内容如下:
并使用命令运行 docker-compose
docker-compose up。当然,为此您需要在主机上安装 docker(安装说明https://docs.docker.com/engine/install/)和 docker-compose (以及另一条说明 - https://docs.docker.com /撰写/安装/)最后,我想补充一点,我不是任何列出的技术的专家,学习一些东西的最佳选择是尝试自己做。您可以尝试使用上述任何方法在您自己的计算机上部署您的项目,然后在 yandex.cloud 上租用一个虚拟机,并通过使用 ssh 连接到该机器在生产环境中进行部署。