知识库
Docker 命令报"找不到守护进程":不是没装,是服务没启动
你在一台刚装好、或者从别人手里接过来的 Linux 机器上敲下 docker ps,想看看有哪些容器在跑。命令敲下去,等来的不是列表,而是一句让你怀疑人生的报错——你明明记得这个软件装过了。 现象 报错长这样: 有时还会顺带一句 permi…
普通用户跑 GPU 程序报"平台创建失败",加进组才通
你在服务器上装好了显卡驱动和运行库,用 root 跑一段 GPU 程序,一切正常,加速卡认得好好的。可换成普通账号一跑,程序立刻报错:平台创建失败,连查询设备状态的工具也初始化失败。你反复确认库都装对了、路径也没错,却怎么都跑不起来。 现象…
用 setsebool 设过的布尔值,在策略文件里 grep 却搜不到
你用 setsebool P 设好了某个 SELinux 布尔值,服务也恢复正常了。过几天想复查一下确认它还在生效,于是跑到 /etc/selinux/ 下,对策略文件 grep 那个布尔值的名字——结果 什么都没有 。你开始怀疑:是不是根…
nginx 配置文件权限位完全正常,却还是报"权限被拒"读不了
你把写好的一份 nginx 配置从临时目录挪到 /etc/nginx/conf.d/,nginx t 或 reload 却报"权限被拒"。你 ls l 一看,权限位是 644、属主属组也都对,任何用户都该能读——可 nginx 就是说读不了…
nginx 监听一个非标准端口,直接启动失败报端口"权限被拒"
你给站点加了个新服务,让 nginx 监听一个非标准端口(比如 8080、8888 这类)。保存配置、reload、然后——nginx 根本没起来。日志说绑定端口"权限被拒"。你一看,nginx 又不绑定 80 以下的特权端口,怎么会权限不…
nginx 反向代理后端返回 502,真凶是 SELinux 的一个布尔值
你配好了 nginx 反向代理,把请求转发给本机的后端服务。用 curl 直接访问后端端口,一切正常;可一旦走 nginx 进来,就整齐地返回 502 Bad Gateway。你把 nginx 配置检查了好几遍,upstream 地址没错、…
有 sudo 权限,却不代表你对每个目录都能改
你登录的账号在管理员组里,sudo 用起来毫不费力,于是你自然地以为"这台机器上什么都能改"。直到你要更新 /opt 下某个应用的配置、往 /usr/local/sbin 放个脚本,才发现死活改不动——明明是管理员,为什么这些地方偏偏不行?…
用 SFTP 往 NAS 上传文件,连临时目录都报"文件不存在"
你写好了一个部署脚本,准备把打包好的文件通过 SFTP 传到 NAS 上,再去目标机器安装。结果第一步就卡住了:连往临时目录写文件都失败,报的还是"文件不存在"。你 ls 一下,目录明明就在那里,看得见、进得去,可就是写不进去。 现象 用 …
sudo 管道喂密码叠加 heredoc,把 root 密码原样写进了配置文件
你写了一段"自动写配置"的脚本:用一条带密码的 sudo 去提权,再用 heredoc 把一段配置内容写进目标文件。跑完看着很成功,可检查目标文件时,里面平白多出一行莫名其妙的字符串;更糟的是,这份配置被解析成了"对全网段开放",等于把你的…
把文件改名或移动进监控目录,媒体库毫无反应仍显示旧条目
你往媒体库里加片子,习惯用改名或移动的方式——下载好一个临时名字的文件,改成正名拖进目录;或者把别处的文件直接 mv 进来。可发现媒体库 根本不更新 ,目录里明明有新文件,库里还是显示旧条目。奇怪的是,如果你 新建 一个文件进目录,它又能立…
媒体库目录改了个名,库里的影片条目全部"消失"了
你在文件管理器里把媒体库的目录改了个更顺眼的名字,本以为是件无关紧要的小事。回到媒体库软件里一看—— 一个片子都扫不到了 ,界面空空如也。你打开文件夹,文件明明都还在,一个没少。明明只是改了个名,怎么像"文件全丢了"? 现象 媒体库的目录被…
SQLite 全文检索搜两个中文字返回空:trigram 分词器的长度限制
你给站内搜索加上了全文检索:建表、灌数据、写查询,一切顺利。可当你在搜索框里敲下最常见的两字中文词——"列表""设置""评论"——结果一条都没有。换成三个字、四个字,又正常了。你会怀疑是数据没进去,或者中文分词出了问题,但重建索引也没用。 …
资料保存后重新打开全是空白:写进一张表,却从另一张表读
用户在自己的资料编辑页改好昵称、头像、简介,点保存,提示"保存成功"。可一刷新、一重新打开,页面又是空的——所有字段都回到了空白。用户以为"没保存上",其实数据好好地躺在库里,只是 存进了另一张表 。 现象 表现非常稳定,也很有迷惑性: 编…
验证码存进远程缓存,一次网络抖动就让整条登录链路失败
登录接口本来好好的,可一到网络不稳的时候就开始抽风:明明验证码是对的,用户却收到"验证码错误"或"系统繁忙";刷新一下又能用,再刷新又不行。查日志发现,报错的位置根本不是验证码校验逻辑,而是它"够不到"存验证码的地方。 现象 验证码接口在高…
Redis 连接池参数配了却没生效,高并发下连接被悄悄耗尽
你在配置文件里认真写好了 Redis 的连接池参数——最大连接数、最大空闲、等待超时,写得明明白白。启动一切正常,日志里没有任何报错。可一到大促、压测或流量高峰,应用就开始大面积超时、报"连接耗尽"。你把配置文件翻来覆去看了十遍,数值明明没…
ORM 升级后分页插件类凭空消失,编译直接报找不到类
你只是把项目里的一个依赖从旧版本升到新版本,代码一个字没动,重新构建时却直接挂掉,报错指向一个你从没手动引用过的"分页插件类"。翻遍了自己的业务代码也找不到它,可编译器就是咬定这个类不存在。 现象 构建日志里是这样的: 或者在运行启动时报类…
原生查询返回的整数是 BigInt,直接丢进 in 筛选就报错
你用 ORM 的原生查询搜了一批记录,拿到 id 列表,顺手拼成 in [...] 去做第二次查询。结果报错,说类型不对。明明打印出来就是数字啊。 现象 用原生查询拿到的结果,拼成一个 in [...] 查询时报错: 或者: 打印这些值的时…
Prisma 大版本升级后,连接串不能再写在 schema 文件里了
你只是把 ORM 升了个大版本,npx prisma 一跑,直接报错说 datasource 的 url 属性不再支持写在 schema 文件里。升级说明没看,踩了个正着。 现象 执行 Prisma 命令行时报错,大意是: 而 schema…
PostgreSQL 说"表不存在",其实是大写表名没加引号
你想在终端里查一下某张表的数据,敲了 select from Article,PostgreSQL 回你一句 relation "article" does not exist。你去数据库里看,表明明在。 现象 在命令行里查询某张表报错: …
连接串密码里有 @ 和 !,客户端把后半截当成了主机名
同一个数据库,用命令行工具连得好好的,用应用代码连就报"主机名解析失败"。密码是对的,主机也是对的,但客户端把密码的一部分当成了主机名。 现象 从某个应用用连接串连接 PostgreSQL 时报错,连不上,错误信息指向一个 奇怪的主机名 —…