如何在Ubuntu上安装MongoDb并在安装时设置配置

如何在Ubuntu上安装MongoDb并在安装时设置配置,mongodb,ubuntu,Mongodb,Ubuntu,我正在为云服务器创建一个自动化部署,我需要在一个脚本中安装、配置和运行Mongodb。部署服务器从git中提取脚本时,我将无法访问服务器 我的问题是我需要将logpath和dbpath设置到另一个位置。我如何使用apt get进行此操作。下面是我目前使用的,但它将路径设置为默认位置 apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 echo "deb http://downloads-distro.mongodb.org/r

我正在为云服务器创建一个自动化部署,我需要在一个脚本中安装、配置和运行Mongodb。部署服务器从git中提取脚本时,我将无法访问服务器

我的问题是我需要将logpath和dbpath设置到另一个位置。我如何使用apt get进行此操作。下面是我目前使用的,但它将路径设置为默认位置

apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo "deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen" | tee -a /etc/apt/sources.list.d/10gen.list
apt-get -y update
apt-get -y install mongodb-10gen

要轻松做到这一点,请首先自己编写mongodb.conf(使用sudo,将其创建为/etc/mongodb.conf,权限为644和root:root)——使用现有的一个作为模板,或者获取它并适当地更改dbpath和logpath

同样简单-只需删除那些默认文件夹并创建指向所需安装路径的符号链接-根本不需要修改文件

如果出于某种原因,您不想这样做,并且您想在安装后这样做,那么您将不得不停止使用配置的文件启动服务,以便它不会启动、预分配文件等。有几个选项可以做到这一点,已经详细介绍过了

如上所述,您可以选择暂时阻止所有新服务启动,或者使用apt get执行仅下载获取,并在安装前操纵文件以不自动启动mongod,或者更改包以在启动前操纵配置文件


或者,最后,您可以正常安装并让它启动,然后停止mongod服务(
service mongod stop
),删除在配置路径中创建的文件,然后使用新值更改mongodb.conf(或使用自己的值覆盖),重新启动服务。

我试图使用修改过的mongodb.conf模板,但在安装包时,它会被默认版本覆盖。这与我在Ubuntu上测试之前存在的文件时的情况不同,并且有一个文件,它保持不变。这是一个删除/重新安装后的问题,因为我以前已经安装了它,我将尝试fresh.Doh-这是我的错误,因为复制路径不正确。配置文件复制得很好。我现在的问题是日志不移动,而且我似乎无法设置或禁用它-请在/data/db/journal中提供至少3379MB的可用空间,或者使用--smallfiles如果您的数据集显著增长,smallfiles选项可能会有问题,但对于测试或小型数据库来说,它是可以的。如果您想将日志移动到数据文件夹之外的其他位置(它将跟随--dbpath),那么我建议使用我提到的符号链接选项—只需删除当前日志(如果不是新安装的话),然后将日志文件夹符号链接到您想要的位置。您也可以在不使用日志(--nojournal)的情况下运行,但如果希望保持数据一致,通常不建议这样做。我将nojournal设置为true,但不起任何作用,并且dbpath不是/data/db。我认为mongodb.config不会被使用。