如何把 Next.js 项目部署到服务器?
Next.js 是什么?
Next.js 是一个用于 生产环境的 React 框架。Next.js 为您提供生产环境所需的所有功能以及最佳的开发体验:包括静态及服务器端融合渲染、 支持 TypeScript、智能化打包、 路由预取等功能 无需任何配置。
Next.js 官网截图
21云盒提供了速简单的Next.js部署方法,你可以在21云盒子上通过以静态网页或以Node Server的方式进行部署。
两者的区别在于, 当以静态网页方式进行部署时,流程是项目会被构建(打包),然后把最终生成的静态资源(HTML, CSS, JS, 图片等) 部署到全国各地的CDN节点。而当以Node Server的方式进行部署时,流程是先进行项目构建,静态资源部署到全国竹木水口地的CDN节点,然后服务启动进入等待被访问的状态,当有访问到服务请求时,服务器会进行处理。
现在可以进行实际操作:
以静态网页方式进行部署
| 环境 | 静态网页 |
|---|---|
| 构建命令 | yarn && yarn build && yarn next export |
| 发布目录 | out |
如果你不确定怎样操作,可以参考:
一步一步演示怎样部署Next.js到服务器(SSG/静态页)操作视频
以Node服务端方式进行部署
| 环境 | Node 12.19 |
|---|---|
| 构建命令 | yarn && yarn build |
| 发布目录 | yarn next start --port 10000 |
如果你不确定怎样操作,可以参考:
一步一步演示怎样部署Next.js到服务器(SSR/后端)
为什么部署在21云盒子?
原因 1: 方便
21云盒子创立至今,在国内第一家真正提供了像 Netlify, Heroku 等轻松部署的功能,同时也保证了服务的速度和稳定性。 每个云服务项目,只需要在首次完成 2 项配置,后续当你Git Push代码,21云盒子就会帮你完成自动部署。
原因 2: 21云盒子稳定,提供网站备案方案
如果你的网站现在使用的是 Netlify, Vercel, Gatsby Cloud等服务,国内用户将没办法访问。
为什么呢? 根据国家工信部的要求,所有在国内上线的网站都必先完成备案, 但国外的云服务平台不提供国内的的备案,所以部署在国外的云服务平台,或许能暂时访问,但长远来看,会非常不稳定。
原因 3: 国内极速访问
再好的服务,如果打开速度太慢,还是没办法使用的。在21云盒子上部署的云服务,一键实现部署全国各地的CDN节点。以面是和国外各大服务比较的案例:
官方博客地址: https://www.21yunbox.com/blog/solutions/how-to-deploy-nextjs-project-in-production-server.html
如何把 Next.js 项目部署到服务器?的更多相关文章
- 如何把vue.js项目部署到服务器上
如何把vue.js项目部署到服务器上面,我用的是tomcat服务器 1-改一下config/index.js文件,如下图,把assetsPublicPath: './', productionSour ...
- Vue.js项目部署到服务器
1.申请服务器 2.配置Xshell 3.在服务器手动建自己的根目录,把根目录的文件名复制给项目里面config下面的index.js 4.项目开始打包 npm run build 5.打包完成之后把 ...
- 服务器小白的我,是如何将 node+mongodb 项目部署在服务器上并进行性能优化的
前言 本文讲解的是:做为前端开发人员,对服务器的了解还是小白的我,是如何一步步将 node+mongodb 项目部署在阿里云 centos 7.3 的服务器上,并进行性能优化,达到页面 1 秒内看到 ...
- springboot项目部署云服务器
Springboot项目部署云服务器 springboot项目部署云服务器还是挺简单的 首先你要有java运行环境,就是jdk的安装,如果还没有装没有参考安装:阿里云ECS建网站(建站)超详细全套完整 ...
- ssm项目部署到服务器过程
ssm项目部署到服务器过程 特别篇 由于准备春招,所以希望各位看客方便的话,能去github上面帮我Star一下项目 https://github.com/Draymonders/Campus-Sho ...
- 如何将你的 Vue.js 项目部署在云开发静态托管之上
云开发静态托管是云开发提供的静态网站托管的能力,静态资源(HTML.CSS.JavaScript.字体等)的分发由腾讯云对象存储 COS 和拥有多个边缘网点的腾讯云 CDN 提供支持. 在云开发静态托 ...
- java项目部署Linux服务器几种启动方式总结经验
一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是ja ...
- Springboot 项目部署到服务器上
项目部署到服务器上,有两种方式,一种 jar 包,一种 war 包 jar包 部署时,后续的域名配置,SSL证书等在nginx中配置 war包 部署时,后续的域名配置可以在tomcat中配置就好,修改 ...
- gin项目部署到服务器并后台启动
前言 我们写好的gin项目想要部署在服务器上,我们应该怎么做呢,接下来我会详细的讲解一下部署教程. 1.首先我们要有一台虚拟机,虚拟机上安装好go框架. 2.将写好的项目上传到虚拟机上. 3.下载好项 ...
随机推荐
- iptables SNAT 和DNAT的转化配置实验
原文链接:http://www.jb51.net/LINUXjishu/402441.html DNAT(Destination Network Address Translation,目的地址转换) ...
- 在腾讯云容器服务 TKE 中利用 HPA 实现业务的弹性伸缩
在 TKE 上利用 HPA 实现业务的弹性伸缩 概述 Kubernetes Pod 水平自动扩缩(Horizontal Pod Autoscaler,以下简称 HPA)可以基于 CPU 利用率.内存利 ...
- HTTP系列(一)URI、URL、URN的区别
1.URI.URL.URN关系图 1)URI Uniform Resource Identifier 统一资源标识符 每个web服务器资源都有一个名字,服务器资源名被统称为统一资源标识符:URI就像 ...
- 针对五款IPA文件安装工具的深度评测
IPA是Apple程序应用文件iPhoneApplication的缩写,在日常中我们可以通过把IPA文件直接安装到iPhone手机来使用,故此笔者针对目前几种比较认可的方式做了对比,评测一下到底那款工 ...
- PyQt(Python+Qt)学习随笔:QCommandLinkButton的特征及用途
CommandLinkButton是Windows Vista引入的新控件,,它的预期用途与单选按钮类似,用于在一组互斥选项之间进行选择.命令链接按钮不应单独使用,而应作为向导和对话框中单选按钮的替代 ...
- python 保存list,map方法
1. 保存list import numpy as np a = [1,2,3,4,5] np.save("number.npy", a) k = np.load("nu ...
- WordCounter项目(基于javase)
1. Github项目地址: https://github.com/Flyingwater101/WordCount 1. PSP表格 PSP2.1 Personal Software Proce ...
- es6 数组新增方法
1.Array.from(): 这个函数的作用是将类似数组的对象转化为数组,比如DOM对象 let arrayLike = { "0":"TangSir&quo ...
- AcWing 407. 稳定的牛分配
大型补档计划 题目链接 题目看的有点晕(语文差) 总体来说就是让每头牛找个谷仓,不能超过容量,最小化每头牛在的谷仓在自己心目中排名的极差. 显然这个最优性问题不好做,但是转换为判定性问题这就是一个标准 ...
- Servlet中获取请求参数问题
1.GET方法,可以通过getParamter方法反复获取同一个变量的数据: 2.POST方法,需要注意请求类型(content-Type)是否是application/x-www-form-urle ...