React Native之搭建code-push-server&七牛云

前言

该文章并不涉及到code-push-server服务的搭建过程,官方使用docker创建很简单,一直使用的服务器存储,但是无奈本人的服务器1M的网速太慢了,热更新时小几M的bundle文件依旧下载的很慢,所以想将存储迁移到七牛云,加快热更新的过程。
由于本人对七牛云并不是很熟悉,所以将此次的过程详细的记录下来。

服务器: 腾讯云linux

服务协议: https

注意:

1.迁移后,由于热更新最终的下载地址变为新的下载地址,所以以前的热更新虽然还会检测到热更新(因为code-push-server的服务还在,只是下载地址变了),但是会下载失败。

2.新在域名地址在个人服务器上面不用指向实际的服务,最终都会转向七牛的服务器,作用仅仅只是提供一个可用的域名

过程

1.创建一个对象存储

image

2.绑定域名

 七牛融合 CDN 测试域名(以 clouddn.com/qiniucdn.com/qiniudn.com/qnssl.com/qbox.me 结尾),每个域名每日限总流量 10GB,每个测试域名自创建起 30 个自然日后系统会自动回收,仅供测试使用并且不支持 Https 访问,详情查看 七牛测试域名使用规范 。点击域名可查看剩余回收时间。

创建的对象存储会默认有一个测试域名,该域名有30天的有效期并且不支持https,所以需要绑定要自己的域名上面

如果证书已经在七牛云上面,2.1~2.3过程可以跳过

2.1 申请证书

由于前面购买服务器的时候已经申请过域名了,在这里申请子域名的证书是免费的,直接点击'免费申请证书'后,填写响应信息,等待几个小时(挺快的,不用等待一天)
![](


image

2.2 转换证书

申请通过后,点击下载,下载证书到本地

image

导出tomcat下面的jks和txt两个文件,打开https://myssl.com/cert_convert.html,由于七牛云需要传PEM格式的正式,所以需要在该网站进行下转换

image

2.3 导入证书到七牛云

打开七牛云的[SSL证书服务]-[证书管理],点击上传自有证书

image

步骤2.2下载的文件解压后,会三个文件
上面的证书备注名就是证书的名称,可以直接填入文件名,内容和私钥按照下面的截图,将文件里面的文本内容<font color='red'>全部</font>拷贝进去,这样自有证书就添加成功了。


image

2.4 绑定域名

回到云存储的页面,点击[绑定域名],进入如下界面

image

填写加速域名,注意,该域名最好新创建一个,不要跟热更新服务的域名一样

然后下面通信协议选择https,证书会自动选择你签名添加的自定义名称即可

3 设置CNAME

步骤2完成后,这里会有一个新的域名,但是状态是等待CNAME

image

点击最右侧的CNAME图标,上面会有教程和你的CNAME地址,复制该地址

此时,需要进入到自己的服务器,进入[域名管理]-[我的域名],点击解析,进入到

image

添加一条记录,譬如你的文件服务的地址是cdn.xxx.com
添加一条

|主机记录|记录类型|线路类型|记录值|
|--|--|--|--|--|
|cdn|CNAME|默认|复制的CNAME值|

等待几分钟后生效,生效后七牛云上面的状态就变成成功

4 更改下载地址和存储类型

进入到热更新的服务器,找到config.js配置文件
填写qiniu节点的信息:

  • accessKey和secretKey可以在七牛云,我的[个人中心]-[秘钥管理]中找到

  • bucketName就是你创建的云存储名称

  • downloadUrl为你的域名地址,譬如https://cdn.xxx.com

并将common.storageType的值改为qiniu

 // Config for qiniu (http://www.qiniu.com/) cloud storage when storageType value is "qiniu".
  qiniu: {
    accessKey: "",
    secretKey: "",
    bucketName: "",
    downloadUrl: "" // Binary files download host address.
  },
common: {
    /*
     * tryLoginTimes is control login error times to avoid force attack.
     * if value is 0, no limit for login auth, it may not safe for account. when it's a number, it means you can
     * try that times today. but it need config redis server.
     */
    tryLoginTimes: 0,
    // CodePush Web(https://github.com/lisong/code-push-web) login address.
    //codePushWebUrl: "http://127.0.0.1:3001/login",
    // create patch updates's number. default value is 3
    diffNums: 3,
    // data dir for caclulate diff files. it's optimization.
    dataDir: process.env.DATA_DIR || os.tmpdir(),
    // storageType which is your binary package files store. options value is ("local" | "qiniu" | "s3"| "oss" || "tencentcloud")
    storageType: "qiniu",
    // options value is (true | false), when it's true, it will cache updateCheck results in redis.
    updateCheckCache: false,
    // options value is (true | false), when it's true, it will cache rollout results in redis
    rolloutClientUniqueIdCache: false,
  },
  

结果

重启服务,后面再发布新的热更新后,在云存储的[内容管理]里面,可以直接看到上传的bundle包

image

然后app端检查的下载地址也变了

image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • 一、总目录 1,资源主页 资源主页:用于添加七牛各个产品模块,包含有:对象存储、自定义数据处理V2、多媒体处理、融...
    森林死了一只熊阅读 2,236评论 0 4
  • 前言 小白后台仅仅只是一位小白Java 简单说一下前情回顾,上个月小白陪老板出去一起谈了一个大项目,其中涉及到大量...
    UltimateArmor阅读 5,963评论 6 6
  • 我是个可爱的人,既然你从一开始就欺骗了我,就请你一直欺骗下去。 我是个女生,却喜欢上了一个女生。她很好,温暖踏实有...
    锁锁Tara阅读 439评论 2 1
  • 布罗代尔在《文明史》中一再的说明,只有当开放和融合才能产生文明,一个封闭的环境是不能创造出文明的。这种认知在《维京...
    Andylee阅读 512评论 2 2
  • 子曰: “不患人之不己知,患不知人也。 ” 孔子说:不怕别人不了解自己,只怕自己不了解别人。 其实我的想法与其不同...
    魔笛大公举阅读 1,033评论 0 0