折腾LNMP:mongoDB

mongoDB是导致我重装了3次系统的原因。

  • 第1次,懵懵懂懂,死在nginx+php-fpm的配置上,配了没反应,不知道哪里配错了。
  • 第2次,装了mongodb 3.6,怎么都无法摆脱bind_ip使得本地的robo 3T可以连接远程服务器的数据库。
  • 第3次,集成的镜像的php版本太低,装了mongodb的php扩展没反应!

1. 到官网下载以前的镜像:mongodb 3.4.6

https://www.mongodb.org/dl/linux/x86_64-amazon

2. 用winscp将mongodb安装包传到服务器,我放在usr/local/mongodb/下,解压后重命名为sbin

cd /usr/local/mongodb/
tar -zvxf mongodb-linux-x86_64-rhel70-3.4.6.tgz
mv mongodb-linux-x86_64-rhel70-3.4.6 sbin

3. 这时候,我们cd sbin/bin进mongo的目录下进行./mongo启动是不行的:

折腾LNMP:mongoDB_第1张图片
connect failed

为什么呢?因为我们这样的操作相当于开启mongodb的客户端,但是我们还没有开启mongodb服务器,有怎么能够连得上呢。

4. 一次性式开启mongodb的服务器

折腾LNMP:mongoDB_第2张图片
image.png
cd /usr/local/mongodb/sbin/bin/
./mongod --fork --dbpath=/usr/local/mongodb/data/db --logpath /usr/local/mongodb/data/logs/mongodb.log --logappend --port 27017
ps -ef| grep mongo  // 用于查看进程,查看mongo是否已经启动
折腾LNMP:mongoDB_第3张图片
mongo服务已经启动

这时候,我们就可以启动mongo客户端了:./mongo

折腾LNMP:mongoDB_第4张图片
在原目录下命令 ./mongo

这时候我们看见了很多warning,那是因为我们启动mongod服务的时候没有加 --auth验证权限。

下次启动就可以使用

./mongod --fork --dbpath=/usr/local/mongodb/data/db --logpath /usr/local/mongodb/data/logs/mongodb.log --logappend --port 27017 --auth

来避免warning了。

5. 开机mongodb服务自启

先到mongodb目录下新建一个mongodb.conf文件,我喜欢为它弄个conf文件夹:

cd /usr/local/mongodb/
mkdir conf
vim mongodb.conf

把下面的内容写进mongodb.conf:

dbpath=/usr/local/mongodb/data/db/  
logpath=/usr/local/mongodb/data/logs/mongodb.log  
logappend=true  
port=27017  
fork=true  
# nohttpinterface=true  
auth=true  

logsdb文件夹的路径要与自己路径的配置好。

为了开机自启,我们还需要自己编写自定义服务:
/lib/systemd/system/下编辑新建的mongodb.service文件:

[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/mongodb/sbin/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/sbin/bin/mongod --shutdown --config /usr/local/mongodb/conf/mongod
b.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

然后再开放一下权限:

cd /lib/systemd/system/
chmod 754 mongodb.service

使得:


读写权限

完了之后,我们就可以用下面的命令来开启、关闭、设置开机自启mongodb服务器了:

#启动服务  
systemctl start mongodb.service    
#关闭服务    
systemctl stop mongodb.service    
#开机启动    
systemctl enable mongodb.service  

最后当然最好重启一下服务器:

reboot

6. 还想懒一点儿

开启mongo客户端不想要切换到mongo的目录下。

【一次性】

输入:

export PATH=/bin:$PATH

后便可以随地启动mongo客户端。
我的:

export PATH=/usr/local/mongodb/sbin/bin:$PATH  //临时设置环境变量
mongo  //启动
【永久】

修改/etc/profile文件:

vim /etc/profile

拉倒最后,在倒数的:$PATH:$之间,添加:

/usr/local/mongodb/sbin/bin:

保存,退出,重启。


下一篇讲 使用 robo 3t远程连接 服务器的mongodb。


又想用mongodb3.6,又想直接用本地图形化界面访问怎么办?

教程:官方文档

再搭配一下:

# vim /etc/rc.local

加上一句:

/usr/bin/mongod --bind_ip_all

你可能感兴趣的:(折腾LNMP:mongoDB)