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!
由于本人是在虛擬機上測試就使用了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即可。
phpinfo打印出的擴展結果,證明擴展已經安裝成功了。
寫測試程序
在寫測試程序之前,你首選需要在MongoDB中創建幾條測試數據。具體創建方法可以參考我寫的《MongoDB命令大全》詳細介紹了常用的MongoDB的使用方法。
江邊望海創建了一個db叫demo,集合叫teams里面有一套記錄。
如上圖:創建的測試數據
在你的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開啟了授權訪問。所以,需要在鏈接的填入用戶名和密碼。
如上圖:可以從Collection中取出數據了。
參考鏈接:
http://litaook.com/blog/2016/01/22/install-mongodb-on-centos/
總結
以上是生活随笔為你收集整理的linux 安装mongodb 64,在CentOS 6.x 64bit上安装MongoDB 3.2社区版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阳光橙+樱花粉的iPhone 14,你爱
- 下一篇: 鲨鱼记账app怎么赚钱