首页 / 欧洲VPS推荐 / 正文
使用阿里云CLI管理CDN服务,阿里云cdn使用教程

Time:2024年11月06日 Read:9 评论:42 作者:y21dr45

分发网络(CDN)通过将内容缓存到离用户最近的节点,提高了网页加载速度和用户体验,本文将详细介绍如何使用阿里云命令行工具(aliyuncli)来管理CDN服务,包括安装、配置以及基本操作命令的说明和使用示范。

使用阿里云CLI管理CDN服务,阿里云cdn使用教程

阿里云CLI的安装与配置

1.1 安装阿里云CLI

要使用aliyuncli,首先需要安装它,可以使用pip进行安装:

sudo pip install aliyuncli

你可以通过以下命令升级阿里云CLI:

sudo pip install --upgrade aliyuncli

更多产品细节可以参考[CLI产品文档](https://help.aliyun.com/document_detail/50452.html)。

1.2 配置阿里云CLI

在使用阿里云CLI之前,需要进行身份验证和地域配置:

aliyun configure set \
  --profile akProfile \
  --mode AK \
  --region cn-hangzhou \
  --access-key-id <你的AccessKey> \
  --access-key-secret <你的AccessSecret>

建议使用RAM用户进行API访问,以避免风险,具体步骤可参考[官方指南](https://help.aliyun.com/document_detail/30847.html)。

CDN服务的基本操作

2.1 开通CDN服务

在开始任何域名操作之前,需要先开通CDN服务:

aliyuncli cdn OpenCdnService --InternetChargeType PayByTraffic

此命令会开通CDN服务,并设置计费类型为按流量计费,注意,每个用户只能开通一次CDN服务,且账号必须通过实名认证。

2.2 查询CDN服务状态

查询CDN服务的当前状态和相关信息:

aliyuncli cdn DescribeCdnService

输出示例:

{
    "CurrentInternetChargeType": "PayByTraffic",
    "ServiceStartTime": "2023-09-01T00:00:00Z",
    "NextBillingType": "PayByBandwidth",
    "Status": "Active"
}

2.3 修改CDN服务计费类型

如果需要变更CDN服务的计费类型,可以使用以下命令:

aliyuncli cdn ModifyCdnService --InternetChargeType PayByBandwidth

域名操作命令

3.1 查询用户名下的所有域名及其状态

列出所有已添加的域名及其状态:

aliyuncli cdn DescribeUserDomains

输出示例:

[
    {
        "DomainName": "example.com",
        "Status": "Online"
    },
    {
        "DomainName": "test.com",
        "Status": "Offline"
    }
]

3.2 获取指定加速域名的配置信息

查看某个特定域名的详细配置信息:

aliyuncli cdn DescribeCdnDomainDetail --DomainName example.com

输出示例:

{
    "DomainName": "example.com",
    "Cname": "cdn.example.com",
    "SourceStorageSpace": "oss.example.com",
    "Gzip": "on",
    "HttpsProtocol": "https",
    "Status": "Online"
}

3.3 添加加速域名

添加新的加速域名:

aliyuncli cdn AddCdnDomain --DomainName newdomain.com --SourceStorageSpace oss.newdomain.com

注意,源站内容如果不在阿里云平台上,需要审核,审核工作会在下一工作日前完成。

3.4 启用或停用加速域名

启用或停用指定的加速域名:

启用域名
aliyuncli cdn StartCdnDomain --DomainName example.com
停用域名
aliyuncli cdn StopCdnDomain --DomainName example.com

停用的域名仍然保留相关记录,但请求会自动回源。

3.5 删除加速域名

删除指定的加速域名,请慎重使用该命令:

aliyuncli cdn DeleteCdnDomain --DomainName example.com

删除后,该域名将不可访问,除非恢复域名A记录。

刷新预热命令

4.1 刷新节点上的文件内容

手动刷新CDN节点上的文件内容:

aliyuncli cdn RefreshObjectCaches --ObjectPath /path/to/file

限制:同一个ID每天最多提交2000条URL刷新请求。

4.2 主动预热内容到L2缓存节点

将源站的内容主动预热到L2缓存节点,以缓解源站压力:

aliyuncli cdn PushObjectCache --ObjectPath /path/to/file

限制:目前不支持目录级别的预热。

4.3 查询刷新预热任务的状态

查询刷新预热任务是否在全网生效:

aliyuncli cdn DescribeRefreshTasks --TaskId <task_id> | --ObjectPath /path/to/file

支持根据任务ID或URL查询,默认查最近7天的数据。

资源监控命令

5.1 获取监控数据

获取区域名最小粒度为5分钟的监控数据:

aliyuncli cdn DescribeCdnMonitorData --DomainName example.com --StartTime 2023-09-01T00:00:00Z --EndTime 2023-09-02T00:00:00Z

不指定时间时,默认读取过去24小时的数据,一次最多获取一个域名最近30天的数据。

日志信息命令

6.1 获取访问日志的下载地址

获取指定域名原始访问日志的下载地址:

aliyuncli cdn DescribeCdnDomainLogs --DomainName example.com

日志最长保留两周,请及时下载。

自动更新SSL证书

借助acme.sh实现Let's Encrypt SSL证书自动续期,并使用阿里云CLI自动设置CDN证书:

wget https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz
tar -zxvf aliyun-cli-linux-latest-amd64.tgz
./aliyun configure set \
  --profile akProfile \
  --mode AK \
  --region cn-hangzhou \
  --access-key-id <你的AccessKey> \
  --access-key-secret <你的AccessSecret>

测试AccessKey是否正确:查看当前证书:

./aliyun cdn DescribeDomainCertificateInfo --RegionId cn-hangzhou --DomainName xx.example.com --Profile akProfile

返回如上则说明配置正确,然后编写脚本定期更新证书:

update_aliyun_cdn() {
	local domain=$1
	./aliyun cdn SetCdnDomainSSLCertificate \
		--DomainName $domain \
	--SSLPub "$(cat /ssl/cert.pem)" \
	--SSLPri "$(cat /ssl/privkey.pem)" \
	--CertType upload \
	--SSLProtocol on || { echo "Error setting SSL certificate for CDN domain"; exit 1; }
}

设置cron定时任务:

crontab -e
0 0 1 * * /root/update_aliyun_cdn.sh xx.example.com

命令每天凌晨1点自动更新指定域名的SSL证书。

标签: aliyuncli cdn使用 
排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1