在 Cloudflare Workers 上部署 Hexo 网站 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
LxnChan
V2EX    程序员

在 Cloudflare Workers 上部署 Hexo 网站

  •  1
     
  •   LxnChan
    lxnchan 2022-06-29 09:17:51 +08:00 4956 次点击
    这是一个创建于 1271 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://lxnchan.cn/cfworkers-webpages.html

    其实还挺方便的,大概等之后续不起服务器了我也会迁移到这上面吧。

    第 1 条附言    2022-06-29 16:06:18 +08:00

    添加了Pages的部署流程方法。

    Ps:并没有禁止复制,所有代码右侧都有复制按钮(会自动隐藏)。

    36 条回复    2022-07-02 15:06:31 +08:00
    lessMonologue
        1
    lessMonologue  
       2022-06-29 09:20:11 +08:00   22
    我记得你,博客禁止右键的人
    zhuweiyou
        2
    zhuweiyou  
       2022-06-29 09:20:37 +08:00
    cf 现在有 pages 了.还带构建支持
    estk
        3
    estk  
       2022-06-29 09:21:33 +08:00 via Android
    @zhuweiyou
    node v12 ,自动部署有时候版本不行
    zhuweiyou
        4
    zhuweiyou  
       2022-06-29 09:21:57 +08:00
    @estk 里面可以设置环境变量 node version 16
    Q2F5emxo
        5
    Q2F5emxo  
       2022-06-29 09:23:37 +08:00
    可以的, 我之前也用。

    但是后来又改到 verecel ,比较顺手
    zhuweiyou
        6
    zhuweiyou  
       2022-06-29 09:24:15 +08:00   2
    @estk 设置->环境变量->添加一个 NODE_VERSION=16
    v2ka
        7
    v2ka  
       2022-06-29 09:28:58 +08:00
    我记得你,博客使用 CN 域名的人
    Trim21
        8
    Trim21  
       2022-06-29 09:36:08 +08:00 via Android
    用 workers 不如直接用 pages…
    hccsoul
        9
    hccsoul  
       2022-06-29 09:48:54 +08:00
    我记得你 ,喜欢二次元的大哥哥
    RanKaede
        10
    RanKaede  
       2022-06-29 09:55:08 +08:00
    已经放到 cf 上了,国内 ipv4 ,v6 访问都比较慢。
    https://ranko.love/
    whitehack
        11
    whitehack  
       2022-06-29 09:56:39 +08:00
    静态网站,本来就有 pages . 静态网站用 workers 感觉没有任何意义.
    liuidetmks
        12
    liuidetmks  
       2022-06-29 10:00:59 +08:00
    page 我觉得最佳的方式是两个 repo
    一个放源代码,源代码 push 之后自动 ci 构建 html 并 push 到 htmlreo ,触发 page 部署
    一个放 html

    这样有两个好处
    1. 源文件可以是私有的,html 公有。加密的博客没用密码
    2. 方便迁移 page ,换地方不需要改构建。
    Alliot
        13
    Alliot  
       2022-06-29 10:04:00 +08:00
    @lessMonologue 不但禁止右键 F12 也禁止了
    itechify
        14
    itechify  
    PRO
       2022-06-29 10:08:25 +08:00   1
    @Alliot #13 ctrl + shift + i
    LxnChan
        15
    LxnChan  
    OP
       2022-06-29 11:09:08 +08:00
    @liuidetmks 其实是可以的,Github 创建一个私有仓库用于存放源代码,然后用 Github Actions 在每次 Push 后构建并上传到 cfworkers 。
    @RanKaede 我这移动和电信速度还行,不能说很快但是能打开。http://hexo-cfw-demo-public.lxnchan.eu.org/ 这里面有个 Ventura 那个壁纸图片 11MB ,我这裸连 10 秒内加载出来。
    @lessMonologue 好!
    estk
        16
    estk  
       2022-06-29 11:19:42 +08:00 via Android
    @zhuweiyou
    原来如此,我问官方的人都不回答我。不知道是不是他们觉得这个是常识不理我
    starrys
        17
    starrys  
       2022-06-29 12:10:59 +08:00
    跳到我怀里~
    MoeMoesakura
        19
    MoeMoesakura  
       2022-06-29 12:24:51 +08:00
    还有静态页面用动态 workers 没有意义,一天 100K 请求还不如用 CF Pages/Vercel 纯静态化
    sunnysab
        21
    sunnysab  
       2022-06-29 12:56:15 +08:00
    我把博客丢到七牛云了,每个月 10G 免费存储 + 免费 CDN ,只需要付请求费用,还挺好的。
    云服务器现在确实续不起,没有服务不划算。

    “我记得你,博客禁止右键的人”hhh 我也想吐嘈
    sunnysab
        22
    sunnysab  
       2022-06-29 12:57:58 +08:00
    我记得用 cloudflare 的服务必须把域名的 NS 记录改成 cloudflare 的服务器?这点我很不喜欢,所以一直没有用 cf.
    而且国内访问有时会抽风,延时比国内厂商高,罢了罢了
    CSGO
        23
    CSGO  
       2022-06-29 12:58:13 +08:00
    我记得你,博客禁止右键的人
    ixinshang
        24
    ixinshang  
       2022-06-29 13:49:59 +08:00
    我前几天竟然看过 UP 的博客,编译 padavan 的那篇文章 哈哈

    就是禁止右键,要揽到一大批复制的人。
    LxnChan
        25
    LxnChan  
    OP
       2022-06-29 14:00:16 +08:00
    @sunnysab 啊有吗,确实是需要把 NS 记录改到 cloudflare ,但是我这体验一直还行啊
    Ludard
        26
    Ludard  
       2022-06-29 17:53:22 +08:00
    @sunnysab 请问一下是七牛云的哪款产品呢?价格如何?
    我也想写博客了,存储要求不高,但网络要好点,价格要便宜点
    isukkaw
        27
    isukkaw  
       2022-06-29 18:34:41 +08:00
    此时一名正在摸鱼刷 V2EX 的 Hexo 核心维护团队成员出来给你点个赞~

    两年前 Cloudflare Workers 和 KV 刚出来的时候,我就已经试着把我博客丢上去了 https://blog.skk.moe/post/deploy-blog-to-cf-workers-site/ 。主要是注意,Cloudflare Workers 免费版每天有 10 万请求限制。我看你每个页面都有 10 个静态 CSS 、JS 、图片请求是同源的,那你每天能承载的 PV 数不能超过 1 万啊。

    以及,你为啥还在用 Hexo 4.1.1 ,为啥不升级到 Hexo 最新版(戳
    sunnysab
        28
    sunnysab  
       2022-06-29 19:22:42 +08:00 via Android   1
    @Ludard 七牛的对象存储 + 他们的 CDN ,CDN 月 10G 免费,存储也是,相当于付个请求次数费用(万次 HTTPS 请求一毛吧好像)。我是充了几块钱然后不管了
    LxnChan
        29
    LxnChan  
    OP
       2022-06-29 21:51:04 +08:00
    @isukkaw
    袜!是大佬光临!
    目前 blog 丢在 cf 上只是一个设想,主要是闲着研究一下方便以后多条路,目前还没打算实装也就没细致考虑。未来如果要实装肯定会仔细研究一下这些问题,稍后我会把这条注意事项写到文章里面,以避免被别人看到实装之后产生问题,感谢提醒。
    另外 Hexo 还停留在 4.1.1 的原因主要是原来的主题作者停更重新开新坑,然后在接下来的这三年多我基本上是重构了除了主要设计以外的全部东西,很多都已经写成 hardcode 了,草率升级很有可能出现意外情况,因此升级一直也没有提上日程。
    Ps:大佬现在还接受交换友链吗(
    Ludard
        30
    Ludard   div class="badges">   2022-06-29 21:59:00 +08:00
    @sunnysab 感谢,太划算了,有空再咨询下客服
    MagnificentCxx
        31
    MagnificentCxx  
       2022-06-30 13:13:55 +08:00
    为什么要禁用右键和 f12 呢 emmm
    ......
    blankmiss
        32
    blankmiss  
       2022-06-30 14:41:15 +08:00
    @Alliot 先开 F12 哈哈哈
    estk
        33
    estk  
       2022-07-01 23:57:14 +08:00
    @zhuweiyou
    Production 和 Preview 都设置了:
    Variable name: NODE_VERSION
    Value: 16
    部署后自动从 github 拉取编译依然提示:
    The engine "node" is incompatible with this module. Expected version ">=14". Got "12.18.0"
    estk
        34
    estk  
       2022-07-02 00:23:18 +08:00
    @zhuweiyou
    用.nvmrc 解决了。添加变量一直不行
    zhuweiyou
        35
    zhuweiyou  
       2022-07-02 09:40:54 +08:00
    @estk https://developers.cloudflare.com/pages/platform/build-configuration/ 文档有写的. 我估计是你原先是 12,但是它有构建缓存,所以一直使用 12 了.
    LxnChan
        36
    LxnChan  
    OP
       2022-07-02 15:06:31 +08:00
    @estk 变量值应该是类似“16.13.2”的,不能只填 16
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2641 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 11:51 PVG 19:51 LAX 03:51 JFK 06:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86