linux 安装mongodb 64,在CentOS 6.x 64bit上安装MongoDB 3.2社区版

基本安装步骤

参考: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/

1) 创建repo源文件:

sudo vim /etc/yum.repos.d/mongodb-org-3.2.repo

内容如下:

[mongodb-org-3.2]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/

gpgcheck=0

enabled=1

2) 更新源,并安装

sudo yum -y update

sudo yum -y install mongodb-org

3) 配置SELinux

sudo vim /etc/selinux/config

SELINUX内容改为:

SELINUX=disabled

需要重启系统才能生效!

4) 修改防火墙,保证端口可以访问:

sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT

sudo /etc/init.d/iptables save

5) 检查目录权限:

确保 /var/lib/mongo 和 /var/log/mongodb 目录中文件是属于mongod:mongod用户和组,如果不是可以手工修改:

sudo chown -R mongod:mongod /var/lib/mongo

sudo chown -R mongod:mongod /var/log/mongo

6) 添加到系统服务中:

sudo chkconfig --add mongod

sudo chkconfig mongod on

7) 关闭THP(Transparent Huge Pages)

sudo vim /etc/init.d/disable-transparent-hugepages

内容如下:

#!/bin/sh

### BEGIN INIT INFO

# Provides:          disable-transparent-hugepages

# Required-Start:    $local_fs

# Required-Stop:

# X-Start-Before:    mongod mongodb-mms-automation-agent

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: Disable Linux transparent huge pages

# Description:       Disable Linux transparent huge pages, to improve

#                    database performance.

### END INIT INFO

case $1 in

start)

if [ -d /sys/kernel/mm/transparent_hugepage ]; then

thp_path=/sys/kernel/mm/transparent_hugepage

elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then

thp_path=/sys/kernel/mm/redhat_transparent_hugepage

else

return 0

fi

echo 'never' > ${thp_path}/enabled

echo 'never' > ${thp_path}/defrag

unset thp_path

;;

esac

修改权限并执行

sudo chmod 755 /etc/init.d/disable-transparent-hugepages

sudo /etc/init.d/disable-transparent-hugepages start

修改ulimit设置

ulimit -a

可以看到系统ulimit设置值,需要修改打开文件数和用户最大进程数,需要修改更大:

sudo vim /etc/security/limits.d/99-mongodb-nproc.conf

内容如下:

mongod soft nofile 64000

mongod hard nofile 64000

mongod soft nproc 524288

mongod hard nproc 524288

其中分为soft配置和hard配置,保证soft<=hard;nofile是打开文件数,nproc是进程数,还需要参考/etc/sysctl.conf中的数据。

启动mongodb

sudo service mongod start

尝试登录:

mongo

如果没有提示任何WARNING信息说明以上配置参数是符合mongodb建议值了,enjoy!

0d8dc05242664571bc8b95b29d725610.png

由于本人是在虚拟机上测试就使用了root账户来安装mongoDB,如果在生产环境,请创建新的帐号和组:mongodb。

安装PHP的MongoDB扩展

wget https://pecl.php.net/get/mongo-1.6.13.tgz

cd mongodb-1.1.9

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

安装完成后,在php.ini中增加extension=mongodb.so并保存,重启php-fpm即可。

57b2995292a362f300f8045a99946cc2.png

phpinfo打印出的扩展结果,证明扩展已经安装成功了。

写测试程序

在写测试程序之前,你首选需要在MongoDB中创建几条测试数据。具体创建方法可以参考我写的《MongoDB命令大全》详细介绍了常用的MongoDB的使用方法。

江边望海创建了一个db叫demo,集合叫teams里面有一套记录。

53ed4cfb3fd85e38a056b2cafbbcf227.png

如上图:创建的测试数据

在你的web服务器(我的是nginx)的根目录创建一个php文件,粘贴下面代码:

$client = new MongoClient('mongodb://mongoadmin:mongoadmin@192.168.8.234:27017');

$db = $client->selectDB('demo');

$collection = $db->selectCollection('teams');

$cursor = $collection->findOne(array('_id' => new MongoId('582d5fa021b8cf1a733d7344')));

var_dump($cursor);

因为,我的mongoDB开启了授权访问。所以,需要在链接的填入用户名和密码。

71855c9e34459d897d872444f018e13e.png

如上图:可以从Collection中取出数据了。

参考链接:

http://litaook.com/blog/2016/01/22/install-mongodb-on-centos/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值