如何把 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.下载好项 ...
随机推荐
- Java多线程中的wait/notify通信模式
前言 最近在看一些JUC下的源码,更加意识到想要学好Java多线程,基础是关键,比如想要学好ReentranLock源码,就得掌握好AQS源码,而AQS源码中又有很多Java多线程经典的一些应用:再比 ...
- python应用(6):函数
在流程很简单的时候,或者流程不简单但我们不需要考虑开发维护成本的时候,平面地组织你的代码就够了,不用费脑子,不需要考虑层次或重用的东西.当事情变得越来越复杂时,当同行对代码质量要求越来越高时,有一些重 ...
- PADS CAM光绘输出文件设置
PADS CAM光绘输出文件设置 在使用PADS完成电路板的设计后,通常还需要在CAM350中经过一些处理生成Gerber文件,交给制板厂商进行电路板的生产,这就要求在PADS中设置生成CAM文件,然 ...
- bypass disable_function
windows 1.com组件绕过 <?php$command=$_POST['a'];$wsh = new COM('WScript.shell'); // 生成一个COM对象 Shell.A ...
- springboot多模块项目搭建遇到的问题记录
废话不多说,直接上问题报错与解决方法. 问题报错一:(报错信息看下方代码) 问题原因:'com.company.logistics.service.company.CompanyService' 未找 ...
- PyQt(Python+Qt)学习随笔:QSpinBox数字设定部件简介
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在输入部件中,数字调整框QSpinBox是个很实用 ...
- 20192313 实验一《Linux基础与Java开发环境》实验报告
20192313 2020-10-8 <数据结构与面向对象程序设计>实验1报告 课程:<程序设计与数据结构> 班级: 1923 姓名: 陈宇帆 学号:20192313 实验教师 ...
- 第 5篇 Scrum 冲刺博客
一.站立式会议 1.站立式会议照片 2.昨天已完成的工作 售货员页面功能 3.今天计划完成的工作 添加登录系统账号密码数据库模块 继续对商品销售部分进行编码 职工管理页面 4.工作中遇到的困难 ①页面 ...
- 响应式网站css reset
响应式网站 css reset /* core.css v1.1 | MIT License | corecss.io */ html { font-family: sans-serif; font- ...
- Java并发编程的艺术(六)——中断、安全停止线程
什么是中断 Java的一种机制,用于一个线程去暂停另一个线程的运行.就是一个正在运行的线程被其他线程给打断,停止运行挂起了. 我觉得,在Java中,这种中断机制只是一种方便程序员编写进程间的通信罢了. ...