1,下载安装包
下载mongoDB的安装文件
地址:https://www.mongodb.org/downloads#production
选择Linux 64-bit legacy 版本,下载到目标服务器上。
解压文件
tar -zxvf mongodb-linux-x86_64-3.0.2.tgz
进入解压后的目录,把bin文件夹内的文件都置为可执行权限
chmod -R 755 bin
2,创建数据文件路径
这里,我希望把数据文件和日志文件都放在data目录下,在任意位置创建data目录
mkdir data
进入data,创建数据文件目录
mkdir db
给data目录赋可写权限
我这里粗暴一些,直接777了
chmod -R 777 data
3,编写配置文件
为了便于我们启动mongoDB,先编写一个配置文件
我这里把配置文件直接放入了bin目录下
[plain] view plain copy
- vi mongodb.conf
内容如下:
[plain] view plain copy
- port=27017
- dbpath=/usr/appdata/mongodb/data/db
- logappend=true
- fork=true
- logpath=/usr/appdata/mongodb/data/logs
注意,开启守护进程模式 fork 的时候,一定要设置log日志;
设置log日志要注意,logpath的路径一定要是文件路径,而不是文件夹路径。
4,测试启动
进入bin目录,输入命令
[plain] view plain copy
- ./mongod -f ./mongodb.conf
这时候会显示数据库启动成功
在服务器本地测试一下,使用命令
[plain] view plain copy
- ./mongo 127.0.0.1
- MongoDB shell version: 2.6.4
- connecting to: 127.0.0.1/test
这标识数据库启动成功
在局域网内的其它机器使用工具连接测试一下。
有的小伙伴可能会发现无法连接,通常这都是防火墙的端口没有打开造成的
使用命令打开端口
[plain] view plain copy
- 开启端口
- firewall-cmd --zone=public --add-port=27017/tcp --permanent
- 查看端口
- firewall-cmd --permanent --query-port=27017/tcp
- 重启防火墙
- firewall-cmd --reload
注意事项:
a,要加上 --permanent 才能保证重启后也能打开
b,这里最好重启一下防火墙,有时候开启端口并不能立即生效,什么原因我也不清楚
好了,现在局域网内其它机器也可以连接到数据库了。
5,注册到系统开机启动
centos 7的开机启动跟之前版本的centos有很大不同。现在用 systemctl命令代替了之前的chkconfig 和 service 命令
注册到开机启动的方法如下:
在系统服务目录下新建mongodb的启动服务,并给与754的权限
[plain] view plain copy
- cd /lib/systemd/system
- vi mongodb.service
[plain] view plain copy
- chmod 754 mongodb.service
内容如下
[plain] view plain copy
- [Unit]
- Description=mongodb
- After=network.target remote-fs.target nss-lookup.target
- [Service]
- Type=forking
- ExecStart=/usr/appdata/mongodb/bin/mongod -f /usr/appdata/mongodb/bin/mongodb.conf
- ExecReload=/bin/kill -s HUP $MAINPID
- ExecStop=/usr/appdata/mongodb/bin/mongod --shutdown -f /usr/appdata/mongodb/bin/mongodb.conf
- PrivateTmp=true
- [Install]
- WantedBy=multi-user.target
路径必须要写绝对路径
[plain] view plain copy
- 启动
- systemctl start mongodb.service
- 关闭
- systemctl stop mongodb.service
- 注册到开机启动
- systemctl enable mongodb.service
6,重启机器验证
reboot
安装MongoDB
1、下面安装MongoDB,先下载:
- cd /usr/src
- wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.4.tgz
2、解压,进入目录:
- tar -zxvf mongodb-linux-x86_64-2.6.4.tgz -C /usr/src
- cd mongodb-linux-x86_64-2.6.4
3、创建数据库和日志的目录:
- mkdir log
- mkdir db
4、以后台运行方式启动:
- ./bin/mongod --dbpath=./db --logpath=./log/mongodb.log --fork --auth
会显示如下内容:
- about to fork child process, waiting until server is ready for connections.
- forked process: 4623
- child process started successfully, parent exiting
5、设置开机启动:
- echo "/usr/src/mongodb-linux-x86_64-2.6.4/bin/mongod --dbpath=/usr/src/mongodb-linux-x86_64-2.6.4/db --logpath=/usr/src/mongodb-linux-x86_64-2.6.4/log/mongodb.log --fork --auth" >> /etc/rc.local
ok,搞定,然后可以参看下端口netstat -nalupt | grep mongo
:
- tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 4623/./bin/mongod
安装mongodb扩展
下载php-mongodb扩展
wget http://pecl.php.net/get/mongo-1.6.12.tgz
- 1
解压
tar xvzf mongo-1.6.12
- 1
编译安装
cd mongo-1.6.12
phpize
./configure --with-php-config=/usr/bin/php-config
make && make install
- 1
- 2
- 3
- 4
在安装过程中可能会报以下错误
/var/tmp/mongo/contrib/php-ssl.h:33:25: error: openssl/evp.h: No such file or directory
- 1
需要安装openssl-devel
yum install openssl-devel
- 1
在php.ini文件中添加extension=mongo.so
extension=mongo.so
- 1
重启php-fpm或服务器
systemctl restart php-fpm