一次 Playwright + Docker 的踩坑记录
本文作者分享了在服务器上部署使用Playwright进行网页截图功能时遇到的三个主要问题及解决方案。首先,由于网络环境差,无法在线下载Chromium浏览器,作者采用离线拷贝浏览器文件并设置环境变量`PLAYWRIGHT_BROWSERS_PATH`指向该目录的方法绕过下载。其次,即使浏览器文件存在,仍因缺少系统动态库而无法启动,需在Docker中安装Chromium的运行时依赖库。最后,为解决中文字体显示为方框或误用日文字形的问题,作者安装了Noto CJK字体并配置字体优先级,确保简体中文优先显示。文末提供了完整的Dockerfile示例,通过离线浏览器、安装依赖和调整字体,最终实现了稳定运行。
[科技杂谈]科技心得杂谈
未读
一次“简单”的部署:为 Venera Sub Web UI 踩过的那些坑
本文作者分享了为漫画阅读器Venera开发订阅管理工具并部署时遇到的系列问题。开发过程顺利,仅用数小时完成核心功能,但部署时接连遭遇依赖冲突:服务器Glibc版本过旧、缺少GUI库文件。改用Docker后,又发现无头应用仍需X11虚拟屏幕(Xvfb),导致镜像臃肿至1.1GB。最终遇到数据持久化问题,因Docker挂载点导致系统rename操作跨文件系统失败,通过统一挂载整个用户目录解决。此次经历凸显了部署运维的复杂性,底层机制与容器化环境可能引发意外挑战,需细致应对。
[科技杂谈]科技心得杂谈
未读
博客友链延迟检测和互链检测
给博客加了个友链自检工具:前端插入一段纯 JS,自动把友链列表里打了 <friend-link>友链页面</friend-link> 标识的站点拿去 ping,测连通延迟并判断是否回链。前者用多次取平均+剔除异常值,后者把友链地址甩给同域名下的 Python 代理服务,由它抓取对方页面看自己域名是否出现。脚本默认 4 并发、缓存 5 分钟白名单站点直接标“双向”。JS 直接放友链页即可;Python 用 Flask 开 /check_friend?url=xxx 接口,配好本域名和端口,部署在任何能翻墙的机器就行。
[科技杂谈]科技心得杂谈
未读
关于后端提供CSS、JS资源时候的一些注意事项
文章指出:后端返回资源文件时必须设置正确的Content-Type,否则前端虽然能拿到文件,但浏览器不会按 CSS/JS 解析渲染,最终导致样式与交互失效。文末给出一段 Flask 示例,在返回 /post_card/v1/assets/路径下的文件时,根据后缀名判断:.css 设为 text/css,.js 设为 text/javascript,其余直接返回二进制流,以确保响应头正确。