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
启动是不行的:
为什么呢?因为我们这样的操作相当于开启mongodb的客户端,但是我们还没有开启mongodb服务器,有怎么能够连得上呢。
4. 一次性式开启mongodb的服务器
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是否已经启动
这时候,我们就可以启动mongo客户端了:./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
logs
和db
文件夹的路径要与自己路径的配置好。
为了开机自启,我们还需要自己编写自定义服务:
到/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