CentOS安装配置MongoDB
一、安装配置MongoDBcolor:red;mso-font-kerning:0pt">
1、下载安装包:
cd /usr/local
groupadd mongodb //可选
useradd mongodb -g mongodb //可选
cd mongodb-linux-x86_64-2.4.7.tgz
2、解压
tar -zxvf mongodb-linux-x86_64-2.4.7.tgz
3、指定安装目录:
mv mongodb-linux-x86_64-2.4.7 /usr/local/mongodb
chown -R mongodb: mongodb mongodb //可选
4、新建mongodb数据文件存放目录
mkdir -p /data/mongodb/db
5、新建log文件存放目录:
mkdir -p /data/mongodb/logs
6、新建配置文件,mongodb支持把参数写进配置文件,然后以配置文件的配置来启动,我们此处也使用此方式。执行:
1.cd /usr/local/mongodb/bin
2.vi mongodb.conf
加入内容如下:
1.dbpath = /data/mongodb/db #数据文件存放目录
2.
3.logpath = /data/mongodb/logs/mongodb.log #日志文件存放目录
4.
5.port = 27017 #端口
6.
7.fork = true #以守护程序的方式启用,即在后台运行
8.
9.nohttpinterface = true
重新绑定mongodb的配置文件地址和访问IP:
/usr/local/mongodb/bin/mongod --bind_ip localhost -f /usr/local/mongodb/bin/mongodb.conf
7、启动Mongo程序,使用配置文件mongodb.conf定义的参数启动
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
8、测试
./mongo 看看服务启动了没有
如何显示如下内容:
MongoDB shell version: 2.2.4
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
mso-fareast-font-family:微软雅黑;mso-bidi-font-family:宋体;color:#333333;mso-font-kerning:
0pt">
OK,安装成功!
9、开机自动启动mongodb
vi /etc/rc.d/rc.local
在文件中加入:
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
10、
另外,我们使用mongo命令登录MongoDB还要转到mongo命令所在目录再执行./mongo,这样是不是有些麻烦?因此,我们可以简化这点,将该命令文件copy到/usr/bin下,这样就可以在任何目录下使用mongo命令了。
1.[root@localhost bin]# ls
2.bsondump dbbak mongo mongod mongodump mongoexport mongofiles mongoimport mongorestore mongos mongosniff mongostat 3.[root@localhost bin]# cp mongo /usr/bin/
转到任一目录试下mongo命令:
1.[root@localhost bin]# cd / 2.[root@localhost /]# mongo 3.MongoDB shell version: 1.8.1 4.connecting to: test 5.>
可以看到登录成功了,说明我们可以像使用ls命令一样使用mongo命令了。
注意:默认mongodb的数据目录对应的是/data/db下面。日志目录对于到/data/logs/mongodb.log,如果是目录结构有调整需要重新指定配置的路径
测试
#终止服务器进程
db.user.shutdownServer()
#
进入mongodb的shell模式
/usr/local/mongodb/bin/mongo
#查看数据库列表
show dbs
#切换/创建数据库(当创建一个集合(table)的时候会自动创建当前数据库)
use admin;
#增加用户
db.addUser("root","mongodb",true);
#更改密码(为已经存在的用户更改密码)
db.addUser("admin","mongodb");
#显示当前db状态
db.stats();
#当前db版本
db.version();
#删除当前使用数据库
db.dropDatabase();
#查看当前db的链接机器地址
db.getMongo();
#简单插入数据
db.user.insert({"fname":"tony", "company":"edutech"})
#循环插入数据
for (var i = 1; i <= 10; i++) db.user.save({ "fname" : "tony"+i, "company" : "edutech"+i });
#查询数据
db.user.find();
二、Nginx mongodb gridfs分布式文件系统搭建color:red;mso-font-kerning:0pt">
一、下载nginx-gridfs
nginx-gridfs源码,并将mongodb-mongo-c-driver源码添加到nginx-gridfs/mongo-c-driver 中,这个我整合了nginx-gridfs和mongodb-mongo-c-driver成一个文件,因为这个东西会考虑到版本兼容问题!下载地址如下:
wget http://chinaapp-wordpress.stor.sinaapp.com/uploads/2011/09/nginx-gridfs.tar.gz
下载到/usr/local/src 然后tar xzf nginx-gridfs.tar.gz即可。
二、编译安装nginx:
#查看现有的nginx编译参数
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.3.7
built by gcc 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)
configure arguments: --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/usr/local/src/pcre-8.31
#重新编译Nginx,使用上面的现在的编译参数,在后面加上蓝色的部分,路径为nginx-gridfs目录
cd /usr/local/src/nginx-1.3.7
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/usr/local/src/pcre-8.31--add-module=/usr/local/src/nginx-gridfs
make && make install
注意:要在mongodb启动后,启动nginx服务。
三、导入一张测试的图片:
/usr/local/mongodb/bin/mongofiles put 2.jpg -h localhost -db pics -t jpg
四、Nginx中配置nginx-gridfs
gridfs配置说明
gridfs DB_NAME [root_collection=ROOT] [field=QUERY_FIELD] [type=QUERY_TYPE] [user=USERNAME] [pass=PASSWORD]
•gridfs 表示告诉nginx服务器要调用gridfs模块
•root_collection= 指定Gridfs collection的前缀. 默认: fs
•field= 指定用于查询的字段可以是 _id 和filename. 默认: _id
•type= 指定查询的类型,这里支持 objectid, string 和int. 默认: objectid
•user= 指定数据库的用户名. 默认: NULL
•pass= 指定数据库的密码. 默认: NULL
这里配置了2个地址,分别对应到上面的创建的pics。
location /gridfs/ {
gridfs pics; #指定db 为pics ,其它均为默认本地27017服务
}
location /gridfs2/ {
gridfs pics field=filename type=string;
mongo 127.0.0.1:27017;
}
然后启动nginx即可访问:service nginx restart
然后访问:
http://ip/gridfs2/2.jpg 能访问到图片说明配置正确!
三、PHP 安装MongoDB扩展
首先下载最新的php mongodb扩展源码,源码可以在http://pecl.php.net/package/mongo下载到
wgethttp://pecl.php.net/get/mongo-1.4.1.tgz
tar zxf mongo-1.4.1.tgz
cd mongo-1.4.1
进入文件夹后,首先运行phpize来准备编译扩展的环境,phpize这个程序的介绍在这里
/usr/local/php5/bin/phpize
运行后执行结果如下:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
运行后,./configure 脚本就会生成了,这个时候我们运行./configure脚本来进行配置
./configure --with-php-config=/usr/local/php5/bin/php-config
--with-php-config
这个参数是告诉配置脚本php-config这个程序的路径,php-config的介绍在这里
上面命令在正确配置的环境下运行结果如下
creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
这时用make来编译扩展
make && make install
正确编译执行结果如下:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
完成后,请编辑你php.ini文件增加一行
extension=mongo.so
一般默认的编译php的ini文件在
/etc/php.ini
重启你的web服务器或者php-fpm,打印phpinfo,如果看到mongo项表,那么mongodb的扩展安装成功了
四、安装PHP加速器 Xcache10.5pt;font-family:"Arial","sans-serif";color:red;mso-font-kerning:0pt">
font-family:"Arial","sans-serif";color:red;mso-font-kerning:0pt">
一、安装Xcachemso-font-kerning:0pt">
# wget http://xcache.lighttpd.net/pub/Releases/3.0.0/xcache-3.0.0.tar.gz
# tar -zxvf xcache-3.0.0.tar.gz
# cd xcache-3.0.0
# /usr/local/php5/bin/phpize
# ./configure --enable-xcache --enable-xcache-coverager --enable-xcache-optimizer --with-php-config=/usr/local/php5/bin/php-config
# make && make install0pt">
mso-font-kerning:0pt">
注:
--enable-xcache 表示启用Xcache支持;
--enable-xcache-coverager 表示包含用于测量加速器功效的附加特性;
--enable-xcache-optimizer表示启用操作码优化
安装完毕后系统会提示xcache.so模块生成路径,本次生成路径为/usr/local/php5/lib/php/extensions/no-debug-non-zts-20100525/
二、配置管理Xcache
1、修改php配置文件
配置时我们可以参考xcache的配置模板xcache.ini,此文件位于Xcache安装程序中
# vi /etc/php.ini
然后添加如下内容:
extension_dir=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20100525/
[xcache-common]
extension = xcache.so
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "xcache"
;echo -n "123456" md5sum
xcache.admin.pass = "e10adc3949ba59abbe56e057f20f883e"
[xcache]
xcache.shm_scheme ="mmap"
xcache.size=60M
xcache.count =1
xcache.slots =8K
xcache.ttl=0
xcache.gc_interval =0
xcache.var_size=4M
xcache.var_count =1
xcache.var_slots =8K
xcache.var_ttl=0
xcache.var_maxttl=0
xcache.var_gc_interval =300
xcache.test =Off
xcache.readonly_protection = On
xcache.mmap_path ="/tmp/xcache"
xcache.coredump_directory =""
xcache.cacher =On
xcache.stat=On
xcache.optimizer =Off
[xcache.coverager]
xcache.coverager =On
xcache.coveragedump_directory =""
2、生成Xcache缓存文件
# touch /tmp/xcache
# chmod 777 /tmp/xcache
3、生成Xcache管理员的秘密(MD5密文)
# echo -n "123456" md5sum
e10adc3949ba59abbe56e057f20f883e
然后将上述生成的MD5密文粘贴到php.ini文件中xcache.admin.pass = ""选项,xcache.admin.pass= "e10adc3949ba59abbe56e057f20f883e"
4、拷贝Xcache管理程序到网站根目录下
# cp -a /usr/local/src/xcache-3.0.0/htdocs/ //home/www/SmartClassCloud/public/xcache/
然后重新启动PHP,然后访问http://localhost/xcache/cacher/index.php,用户名为xcache 密码为123456;另外,还可以通过phpinfo来验证PHP是否支持Xcache