如何把 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.下载好项 ...
随机推荐
- 自定义orm字段
class MyCharField(models.Field): def __init__(self,max_length,*args,**kwargs): self.max_length = max ...
- vue----(组件)子组件和父组件
1.组件的定义 1.定义组件并引用 2.父组件向子组件传值 3.子组件向父组件传值 什么是组件 1.Html中有组件,是一段可以被复用的结构代码 2.Css中有组件,是一段可以被复用的样式 3.Js中 ...
- 排序-InsertionSort 插入排序
插入排序 の implementation 插入排序就像打赌的时候,比如双扣.抽牌的时候,一次拿一张牌,这张牌和之前的牌一张张比较.选择把这张牌插入什么位置,排好顺序的位置后打牌更顺.要不然得一个一个 ...
- day3(Vue组件)
1.组件定义 1.定义组件并引用 2.父组件向子组件传值 3.子组件向父组件传值 # 组件间传值:vuex (https://www.cnblogs.com/xiaonq/p/9697921.html ...
- django邮件发送
需要一个邮箱,设置pop3 设置setting EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = ' ...
- Mybatis学习-配置、作用域和生命周期
核心配置文件:Mybatis-config.xml Mybatis的配置文件包含了会深深影响Mybatis行为的设置和属性信息 配置(configuration) 在mybatis-config.xm ...
- zookeeper基础笔记
一.安装 1.安装jdk 2.安装Zookeeper 3.单机模式(stand-alone):安装目录/conf 复制 zoo_sample.cfg 并粘贴到当前目录下,命名zoo.cfg. 二. ...
- java并发编程实战《四》互斥锁(下)
互斥锁(下):如何用一把锁保护多个资源? 一把锁可以保护多个资源,但是不能用多把锁来保护一个资源. 那如何保护多个资源? 当我们要保护多个资源时,首先要区分这些资源是否存在关联关系. 如下代码 ...
- 为什么Python中sort方法和sorted函数调用废弃使用cmp参数
Python中sort方法和sorted函数老猿在前面一些章节介绍过,具体语法及含义在此不再展开说明,但老猿在前面学习相关内容时,只使用了简单的案例,对这两个方法的key参数没有深入研究,总以为就是以 ...
- PyQt开发案例:结合QDial实现的QStackedWidget堆叠窗口程序例子及完整代码
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.案例说明 本案例是老猿在学习QStackedWidget中的一个测试案例,该案例使用QStack ...