记录一次复刻头条新闻站并打通公网入口(2026-10-11)
记录一次复刻头条新闻站并打通公网入口(2026-10-11)金句:新闻站的坑从来不在接口签名,而在图片域名和 CF 隧道的配置合并。
今天把书库骨架复用成新闻聚合站,从上午接口验证到晚上日期归档,基本是一天打满。写这篇时站已经改叫「头条资讯」,入口挂在 https://news.demo.fan。
一、仿书库的骨架,新写的只有采集器、新闻库、新闻页书库那套东西是现成的,Flask 8800 后面跟只读网关,再走 CF 隧道,最后用看门狗守护。新闻站真正要新写的只有三块:采集器、新闻库、新闻页,剩下全部复用。
落地后的架构很干净:
news_fetcher.py --loop:采集器,热榜 5 分钟一轮、频道流 15 分钟一轮,带单实例锁和 30 秒心跳文件 .fetcher_heartbeat
data/news.db:SQLite,四张表 news / hot_snapshot / fetch_log / meta
news_server.py :8802:纯标准库 http.server,零依赖
news_gate.py :8803:只读白名单网关,fail-closed,POS ...
记录一次内网UI报表部署踩坑(2026-05-25)
记录一次内网UI报表部署踩坑(2026-05-25)内网部署的坑,一半出在CDN,一半出在localhost。
今天从早到晚都在和工厂的UI报表较劲。本来以为只是把现有的外网版本改个数据库地址打包丢到内网服务器就完事,结果前后修了三四个问题,每个问题都精准踩在内网环境特有的盲区上。
一、需求:把UI打包进内网,配置全部指向10.103.x.x早上接到的活儿很明确:UI报表要放到内网,整体打包成一个文件夹,数据库从原先的地址切到内网MySQL,服务器发布到10.103.54.6的8765端口,视频流地址也换成了内网FLV源。
数据库信息当时直接给了一串:10.103.50.147:3306,库名m3_ai_data,表work_load_0521,表结构不变。账号密码我直接写进了factory_api_server.py,这里就不贴明文了,反正后端连库用的配置全部改好。视频流地址是http://10.103.65.30:8080/live?port=1935&app=live&stream=M3_5643,后面要集成到前端播放器里。
第一版打包很快出炉,factory_d ...