上云无忧 > 文档中心 > 腾讯云 Serverless SSR 高级配置
Serverless SSR
腾讯云 Serverless SSR 高级配置

文档简介:
在 Serverless SSR 控制台中,新建应用时可以选择是否启用高级配置,以实现对应用访问的优化。 本文主要对默认优化和建议优化的配置项进行说明。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠
在 Serverless SSR 控制台中,新建应用时可以选择是否启用高级配置,以实现对应用访问的优化。 本文主要对默认优化和建议优化的配置项进行说明

默认优化

node_modules 拆分为层

默认会把工程中的 node_modules 拆分为 层(layer)部署。简单来说,层就是把项目中不经常变更的部分独立出来,云函数运行时再把层包含的文件挂载到云函数的执行环境中。
Next.js 和 Nuxt.js 项目的 node_modules 会比较大,项目稳定后,部署不需要每次都更新 node_modules。
把 node_modules 部署为层,每次部署只需要上传业务代码,部署会快很多。
更新 node_modules 的层时,建议使用 npm install --production 安装依赖包,减少代码包体积,加快部署和启动速度。
点击查看 层部署指引 >>

启用静态资源托管

Next.js 应用默认会把 .next/static 目录和 public 目录下的所有文件启用静态资源托管。
把静态内容( HTML、JavaScript、CSS、图像、视频等文件)托管到 COS,不占用云函数的访问资源,成本更低,访问速度更快。
点击查看 静态资源托管改造 >>

建议优化

CDN 加速

前提条件

启用 CDN 加速必须使用您已经在腾讯云备案的自有域名,详情请参见 备案指引
设置自定义域名,需要在域名管理设置一条 CNAME 记录,指向配置的对象存储的二级域名。
更多 COS 设置 CDN 加速域名的说明请参见 COS 域名管理

配置指引

控制台配置 创建应用时,您可以直接在高级配置里开启 CDN 加速,填入您已备案配置好解析的域名,完成 CDN 域名加速的配置。

选择"自动配置 CNAME"时,Serverless SSR 会尝试自动为您配置域名的 CNAME 解析,一般需要5 - 10分钟生效,您可以在 域名解析控制台 查看解析结果,或手动配置解析。
本地配置 在 serverless.yml 文件中,inputs 字段里增加以下配置内容,完成 CDN 加速域名的配置。
		
org: orgDemo
app: appDemo
stage: dev
component: nextjs
name: nextjsDemo
inputs:
# 此处省略....
# 静态资源相关配置
staticConf:
cosConf:
# 这里是创建的 COS 桶名称
bucket: serverless-nextjs
cdnConf: # CDN 加速配置
domain: static.test.com
https:
certId: abcdefg
修改配置文件 next.config.js(nuxt.js 项目为 nuxt.config.js),将 STATIC_URL 参数改为您的自定义域名,以 next.js 为例:
		
const isProd = process.env.NODE_ENV === 'production';
const STATIC_URL ="static.test.com";
module.exports = {
env: {
STATIC_URL: isProd ? STATIC_URL : '',
},
assetPrefix: isProd ? STATIC_URL : '',
};
完成修改后,重新部署,即可完成 CDN 加速域名的配置。
		
sls deploy

自定义域名

前提条件

系统默认会给应用分配一个二级域名,您可以通过绑定自有域名,用自有域名访问应用。
自定义域名必须是已经在腾讯云备案的域名,目前,腾讯云已推出 Serverless 备案资源包,帮您快速完成 ICP 备案,详情请参考 ICP 备案
设置自定义域名需要在域名管理配置一条 CNAME 记录,指向系统分配的二级域名。 详情请参考 配置自定义域名

配置指引

控制台配置
创建应用时,您可以直接在高级配置里开启自定义域名,填入您已备案配置好解析的域名,完成自定义域名的配置。

建议您 手动配置域名解析,您也可选择自动配置,勾选"自动配置CNAME"时,Serverless SSR 会尝试自动为您配置域名的 CNAME 解析,一般需要5 - 10分钟生效,您可以在 域名解析控制台 查看解析结果,或手动配置解析。
本地配置
在 serverless.yml 文件中,inputs 字段里增加以下配置内容,完成自定义域名的配置。
		
org: orgDemo
app: appDemo
stage: dev
component: nextjs
name: nextjsDemo
inputs:
# 此处省略....
# 自定义域名相关配置
customDomains:
- domain: test.com
certificateId: abcdefg # 证书 ID
# 这里将 API 网关的 release 环境映射到根路径
pathMappingSet:
- path: /
environment: release
protocols:
- https

完成修改后,重新部署,即可完成自定义域名的配置。

相似文档
  • 功能介绍: Serverless SSR 支持用户通过代码托管实现应用的持续构建,您可以按需选择您的代码仓库,并配置构建计划运行的触发规则。目前,Serverless SSR 支持 GitHub、GitLab、Gitee 代码源,您可以授权后直接拉取代码仓库信息,也可以填入公开的自定义仓库完成部署。
  • 功能介绍: 当项目中的静态资源过多时,直接部署会导致每次请求页面时,所有的静态资源也要进行重新请求与加载,使得应用的单位时间并发数会根据页面静态资源请求数而增加,从而造成冷启动问题。 Serverless SSR 支持使用静态资源托管来存储您的静态资源,缩短冷启动时间。
  • 操作场景: 如果没有用 Express 等 Web 框架替代 Next.js 或 Nuxt.js 默认的 Web Server,上传整个工程即可。如果有用到 Express 等 Web 框架,需要做简单的改造,本文以 Express 为例进行说明。
  • 为什么要备案? 根据国务院令第292号《互联网信息服务管理办法》和工信部令第33号《非经营性互联网信息服务备案管理办法》规定,国家对经营性互联网信息服务实行许可制度,对非经营性互联网信息服务实行备案制度。未获取许可或者未履行备案手续的,不得从事互联网信息服务,否则属于违法行为。
  • 什么是云函数的层? 简单来说,层就是把项目中不经常变更的部分独立出来,云函数运行时再把层包含的文件挂载到云函数的执行环境中。详细说明可参考云函数的 层管理 文档。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部