宝塔面板 MongoDB 安装 启动失败,pid文件不存在

目录

问题描述

宝塔面板安装MongoDB 数据库时
提示安装 启动失败,pid文件不存在

启动失败,pid文件不存在:/www/server/mongodb/log/configsvr.pid

查找原因

宝塔面板-软件商店进入MongoDB设置,查看日志
提示

{"t":{"$date":"2024-12-20T12:02:55.049+08:00"},"s":"E",  "c":"NETWORK",  "id":23024,   "ctx":"initandlisten","msg":"Failed to unlink socket file","attr":{"path":"/tmp/mongodb-27017.sock","error":"Operation not permitted"}}
{"t":{"$date":"2024-12-20T12:02:55.049+08:00"},"s":"F",  "c":"ASSERT",   "id":23091,   "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":40486,"file":"src/mongo/transport/asio/asio_transport_layer.cpp","line":1202}}
{"t":{"$date":"2024-12-20T12:02:55.049+08:00"},"s":"F",  "c":"ASSERT",   "id":23092,   "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"}

从日志信息来看,MongoDB 在启动过程中遇到了一些问题。根据日志,关键错误信息如下:

  1. Failed to unlink socket file
    错误信息显示,MongoDB 在尝试删除 /tmp/mongodb-27017.sock 这个 socket 文件时失败,错误是 Operation not permitted(操作不允许)。这通常是权限问题,可能是 MongoDB 进程没有足够的权限来删除或创建该文件。

  2. Fatal assertion
    MongoDB 在尝试启动时发生了致命的断言错误,日志中提到 fassert() 失败,这意味着 MongoDB 在运行时遇到一个无法恢复的错误并中止了进程。

解决方案:

  1. 检查权限
    确保 MongoDB 进程有权限访问 /tmp 目录,并能够删除或创建该 socket 文件。尝试以下命令,确保 MongoDB 的运行用户(例如 mongod 用户)具有足够的权限:
    在宝塔面板-终端中直接输入

    sudo chown -R mongod:mongod /tmp/mongodb-27017.sock
    sudo chmod 777 /tmp
    
  2. 清理旧的 Socket 文件
    如果之前的 MongoDB 实例未正常关闭,可能遗留了旧的 socket 文件。尝试手动删除该文件,然后重新启动 MongoDB:
    在宝塔面板-终端中直接输入

    sudo rm -f /tmp/mongodb-27017.sock
    

结果

尝试宝塔面板-软件商店进入MongoDB,点击启动
发现正常启动 ,问题解决

posted @   竹薙  阅读(250)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示