【发布时间】:2012-02-24 22:06:51
【问题描述】:
我有一个指定备用端口的 mongo 配置文件:
deploy@ip-xxx-xxx-22-107 ~/app $ tail /etc/mongodb.conf
port = 27033
不是很复杂。我正在尝试使用基于文件的配置而不是命令行,这似乎是一个更好的主意。我在 Ubuntu 11 上。文档说:
在 MongoDB 的一些打包安装中(例如 Ubuntu 和 Debian), 默认文件可以在 /etc/mongodb.conf 中找到,即 从服务启动和停止 MongoDB 时自动使用
我绝对可以用 sudo /etc/init.d/mongodb restart 启动 mongo,但它从错误的端口 27017 开始:
deploy@ip-xxx-xxx-22-107 ~/app $ sudo lsof -iTCP | grep mongo
mongod 3594 mongodb 5u IPv4 260392 TCP localhost:27017 (LISTEN)
mongod 3594 mongodb 7u IPv4 260395 TCP localhost:28017 (LISTEN)
所以有 mongo,但不是正确的端口。每当我尝试将配置文件传递给 mongodb 命令时,都会出现错误:
sudo /etc/init.d/mongodb -f /etc/mongodb.conf restart
* ERROR: wrong args ( -f )
我怀疑/etc/init.d/mongodb 命令在启动 mongo 时没有传递我的配置请求。但是默认情况下应该根据文档读取配置文件。我的 Ubuntu 安装有问题吗(它在 PaaS 主机上)?使用/etc/init.d/mongodb 没有优势,所以我应该忽略它吗?我可以让它通过mongod -f /etc/mongodb.conf 读取配置文件,但我的文档说使用/etc/init.d/mongodb。
【问题讨论】:
-
你试过--config吗?相关:mongodb.org/display/DOCS/Command+Line+Parameters
-
@mindandmedia 是试过 -f 和 --config 相同的结果。
-
应该读得更好,为时已晚。文件权限好吗?
-
@mindandmedia 我是这么认为的:
-rw-r--r-- 1 root root 1MB Feb 24 22:18 mongodb.conf——这意味着 sudo 有读写权限,对吧? -
是的,确实如此。 (root 有权限,sudo 是一个命令)
标签: mongodb ubuntu-11.10