重启Redhat 7后,我收到错误日志
listen(): bind() failed errno:13 Permission denied for socket: 127.0.0.1:27025
systemd[1]: mongod.service: main process exited, code=exited, status=100/n/a
mongod.service
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongod
Group=mongod
Environment="OPTIONS=--quiet -f /etc/mongod1.conf"
ExecStart=/usr/bin/mongod $OPTIONS run
ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb
ExecStartPre=/usr/bin/chown root:root /var/run/mongodb
ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb
PermissionsStartOnly=true
PIDFile=/var/run/mongodb/mongod1.pid
[Install]
WantedBy=multi-user.target
mongod1.conf
#systemLog:
destination: file
logAppend: true
path: /home/telenstanley/mongod1.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo/db1
journal:
enabled: true
# engine:
mmapv1:
smallFiles: true
# wiredTiger:
# how the process runs
processManagement:
fork: false # fork and run in background
pidFilePath: /var/run/mongodb/mongod1.pid # location of pidfile
# network interfaces
net:
port: 27025
bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
#security:
# authorization: enabled
#operationProfiling:
replication:
oplogSizeMB: 1024
replSetName: testrep
#sharding:
## Enterprise-Only Options
我无法找到有关我的问题的任何有用的答案。但mongod通过从cmd以root用户身份运行成功启动
sudo mongod -f mongod1.conf
答案 0 :(得分:2)
几次后找到答案..
您必须配置SELinux以允许MongoDB在基于Red Hat Linux的系统(Red Hat Enterprise Linux或CentOS Linux)上启动。
如果处于强制模式,则通过访问SELinux的相关端口(例如27017)来解决权限问题。有关MongoDB默认端口的更多信息,请参阅默认MongoDB端口。对于默认设置,可以通过运行
来完成semanage port -a -t mongod_port_t -p tcp 27025
答案 1 :(得分:1)
我的mongod.service有
ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb
而不是
ExecStartPre=/usr/bin/chown root:root /var/run/mongodb
所有者是mongod而不是root。