智一面初中级LInux运维工程师在线评测:http://www.gtalent.cn/exam/interview/eUrdXoILlsGnh6At
下载MongoDB压缩包
1、官网选择linux系统安装包,如下图。
我这里,选择的是MongoDB社区版本,MongoDB还有企业版本,具体对比可自行百度。按下图显示,我们copy link连接,等下到linux系统上下载该安装包
安装MongoDB
1、下载包
// 用 xshell 软件登录到远程的linux服务器,执行下面命令
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.5.tgz
2、解压包
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.5.tgz
3、重命名包
mv mongodb-linux-x86_64-rhel70-4.4.5 MongoDB
运行MongoDB服务
上面,我们下载安装包后并解压得到的文件夹过程,其实就类似于我们windows系统上,下载一个程序,然后双击安装完成。所以,现在我们直接进入安装目录。执行MongoDB命令
- 进入我们重命名的MongoDB文件夹,bin目录,执行以下命令:
// 进入bin目录
cd MongoDB/bin
// 运行MongoDB服务
./mongod
运行上面的命令,不出意外的话,终端会打印出一堆启动信息。但是MongoDB服务,还是未启动状态
我们,可以运行命令: netstat -lanp | grep ‘27017’,查看是否启动了MongoDB。正常来说,按上面步骤操作后,运行该命令回车后,是看不到启动的27017服务的
执行mongod后,没有启动服务,是因为MongoDB需要知道数据放在哪里。所以,我们需要新建一个文件夹,用于存储数据库。
// 在MongoDB安装目录下(如我这里是在 /root/MongoDB)
[MongoDB]: mkdir data
- 此时,我们再来启动MongoDB服务
// --dbpath 告知MongoDB服务的data路径
./mongod --dbpath /root/MongoDB/data
输入命令:netstat -lanp | grep ‘27017’,查看启动状态,也能看到27017端口监听了。
配置MongoDB的linux环境变量
上面我们运行MongoDB,得去到MongoDB的安装目录下的bin目录,执行mongod程序。下面我们配置下环境变量,让我们在任意地方,都能执行mongod程序。
1、配置临时环境变量
export PATH=$PATH:/root/MongoDB/bin
这样就配好了临时环境变量,该临时的意思是:在本次shell登录的linux窗口有效。关闭该shell窗口就没效了
配好这个临时变量后,我们执行mongod程序,不需要到bin目录了。在任意地方,都能执行:mongod --dbpath /root/MongoDB/data
2、配置永久环境变量
上面配置的临时环境变量,在关闭shell后,下次远程登录linux又没效了。
vim /etc/profile
export PATH=$PATH:/root/MongoDB/bin
// 注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
source /etc/profile
让MongoDB服务在linux后台运行
我们上面通过命令:mongod --dbpath /root/…启动的服务,是一直占用着当前端口的。我们关闭窗口,服务也就停止掉了。下面,我们让服务在后台运行。只需在运行命令加上:–fork
mongod --dbpath /root/... --fork
通过MongoDB配置文件,启动运行MongoDB服务
上面我们启动服务,都是在命令上,添加参数的模式启动MongoDB,下面我们通过配置文件来运行。
在安装目录下的bin目录,添加文件: mongodb.conf,然后在该文件输入内容如下:
#数据库路径
dbpath=/root/mongodb/data
#日志输出文件路径
logpath=/root/mongodb/log/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#只允许本地ip:127.0.0.1连接到该数据库服务
#bind_ip=127.0.0.1
#允许远程访问
bind_ip=0.0.0.0
#开启子进程(作用:让MongoDB服务在linux后台运行)
#fork=true
#这里有个坑点:若是你之前启动过MongoDB并且失败、或者没有正常退出MongoDB,此时你这里
#设置fork=true,去启动MongoDB服务时,会失败。因为MongoDB会在你指定data目录下,存放一个
#文件:mongod.lock文件,里面存储的内容是fork的进程pid,因为之前启动失败,所以该文件里内容为空,
#你这里又设置了fork=true,所以启动就会报错。所以先删除该文件,然后在启动服务。
#然后在去看data下的mongod.lock的#内容,里面就正常有pid进程了)
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
#auth=true
有了配置文件,我们运行服务就可以这样:mongod --conf /root/MongoDB/bin/mongod.conf来启动了,因为配置文件里已经配好了参数:如端口、是否fork后台运行,data目录位置,log日志目录等等。