Solución a Error: couldn’t connect to server 127.0.0.1:27017 en MongoDB
Si al intentar ejecutar el siguiente comando en un servidor Centos 7, tienen el mensaje «Error: couldn’t connect to server 127.0.0.1:27017 en MongoDB». Puede ser debido a un bug en MongoDB que en Centos 7 luego de instalar y reiniciar el server no encuentra el directorio /var/run/mongodb . Para estar seguro que es este el problema se puede verificar en el log de mongo al intentar ejecutar el servicio con el comando service mongod start o su equivalente como sudo service mongod start. Para ver el log pueden hacerlo ejecutando el comando:
vi /var/log/mongodb/mongod.log (o con el editor de texto en consola que mas les guste cambiando vi por cat o vim etc.) y deberían ver en el log este mensaje:
ERROR: Cannot write pid file to /var/run/mongodb/mongod.pid: No such file or directory
Si es asi, la solución que encontré en mi caso es la siguiente (Siguiendo la documentación en git en el repositorio oficial de MongoDB: https://github.com/mongodb/mongo/commit/50ca596ace0b1390482408f1b19ffb1f9170cab6)
1) Localizar el archivo init.d de mongo para aplicar el fix. En mi server lo encontré en /etc/rc.d/init.d/mongod si editamos este file mongod (con el comando sudo vi mongod).
2) Ahora debemos editarlo y añadir las líneas en negritas (se puede editar en consola presionando i o a )
….
# for now. This can go away when this script stops supporting 1.8.
DBPATH=`awk -F ‘/^dbpath[[:blank:]]*=[[:blank:]]*/{print $2}’ «$CONFIGFILE»`
PIDFILE=`awk -F ‘/^pidfilepath[[:blank:]]*=[[:blank:]]*/{print $2}’ «$CONFIGFILE»`
PIDDIR=`dirname $PIDFILE`
mongod=${MONGOD-/usr/bin/mongod}
….
start()
{
# Make sure the default pidfile directory exists
if [ ! -d $PIDDIR ]; then
install -d -m 0755 -o $MONGO_USER -g $MONGO_GROUP $PIDDIR
fi
# Recommended ulimit values for mongod or mongos
# See http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings
#
….
3) Para salir del modo edición se debe presionar ESC y para guardar y salir presionar :wq
4) Ahora ya editado y de nuevo en consola, ejecutar mongodb con el comando sudo service mongod start y debería ejecutarse sin problemas…
Eso es todo, espero que le sea útil para quién tenga este problema como lo tuve yo.
Saludos!













