【问题标题】:MongoDB centos7 unable to run with a non standard port as a serviceMongoDB centos7 无法使用非标准端口作为服务运行
【发布时间】:2015-01-07 19:46:56
【问题描述】:

我在新的 centos 7 上安装了 mongodb
我运行sudo service mongod start 没有任何问题
当我更改 /etc/mongod.conf 中的端口并重新启动 mongod 服务时,出现以下错误

来自/var/log/mongodb/mongod.log

2014-11-11T07:38:29.495+0000 [initandlisten] MongoDB 开始:pid=12401 端口=27022 dbpath=/var/lib/mongo 64 位主机=awscm001
2014-11-11T07:38:29.495+0000 [initandlisten] 数据库版本 v2.6.5
2014-11-11T07:38:29.495+0000 [initandlisten] git 版本:e99d4fcb4279c0279796f237aa92fe3b64560bf6
2014-11-11T07:38:29.495+0000 [initandlisten] 构建信息:Linux build8.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2014-11-11T07:38:29.495+0000 [initandlisten] 分配器:tcmalloc
2014-11-11T07:38:29.495+0000 [initandlisten] 选项:{ config: "/etc/mongod.conf", net: { port: 27021 }, processManagement: { fork: true, pidFilePath: "/var/run /mongodb/mongod.pid” },存储:{ dbPath:“/var/lib/mongo”},systemLog:{目标:“文件”,logAppend:true,路径:“/var/log/mongodb/mongod.log " } } 2014-11-11T07:38:29.497+0000 [initandlisten] 日志目录=/var/lib/mongo/journal
2014-11-11T07:38:29.497+0000 [initandlisten] 恢复:不存在日志文件,不需要恢复
2014-11-11T07:38:29.679+0000 [initandlisten] 错误:listen():bind() failed errno:13 Permission denied for socket:0.0.0.0:27022
2014-11-11T07:38:29.680+0000 [initandlisten] 现在退出
2014-11-11T07:38:29.680+0000 [initandlisten] dbexit:
2014-11-11T07:38:29.680+0000 [initandlisten] 关机:要关闭监听套接字...
2014-11-11T07:38:29.680+0000 [initandlisten] 关机:要刷新诊断日志...

我可以使用以下命令使用不同的端口运行

sudo mongod -f /etc/mongod.conf

当我作为服务运行时,用户 mongod 运行 mongodb
当我从命令行运行时,root 运行 mongodb

如何使用不同的端口运行 mongodb 服务?
顺便说一句,我在 centos 6.5 上成功了
谢谢

【问题讨论】:

  • 使用 netstat 命令检查此端口是否被其他应用程序使用。
  • 我做了 netstat | grep 27022,没有返回
  • 用其他端口试试??
  • 我试过了,不行,27022没什么特别的,但是27017好像有什么特别的
  • 看起来 mongod 没有正确停止。您可以尝试“sudo mongod stop”或“pkill mongod”,然后重新登录并验证。

标签: mongodb runtime-error centos7


【解决方案1】:

对于像我这样有问题的人.. 我的解决方法是在 semanage 上允许 mongodb 自定义端口

semanage port --list | grep mongo
mongod_port_t                  tcp      27017-27019, 28017-28019

如您所见,只允许使用 27017-27019、28017-28019。 为 mongodb 添加自定义端口

semanage port -a -t mongod_port_t -p tcp 21010

您现在已经添加了自定义端口

 semanage port --list | grep mongo

 mongod_port_t                  tcp      21010, 27017-27019, 28017-28019    

确保重启 mongodb

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    相关资源
    最近更新 更多