LINUX 游戏服务器之旅4_mongodb环境

安装mongodb

1. 下载MongoDB,此处下载的版本是:mongodb-linux-i686-3.0.2

http://fastdl.mongodb.org/

2. 解压文件到某目录下,然后重命名:

[root@localhost src]# tar -xzvf mongodb-linux-i686-3.0.2.tgz.tar    

[root@localhost src]# mv mongodb-linux-i686-3.0.2 /usr/local/mongodb/

3. 启动MongoDB.

    要先建立好MongoDB 存放数据文件和日志文件的目录,此处建立在 mkdir /usr/local/mongodb/bin/database  和mongodblog.log

   在MongoDB安装目录下的bin下使用mongod启动MongoDB,

./mongod --dbpath= /usr/local/mongodb/bin/database/ --logpath= /usr/local/mongodb/bin/mongodblog.log --logappend&  --fork

--fork是用一个Daemon方式,加了--fork,就必须加—logpath
使用默认端口27017

等待启动成功后,可查看是否启动成功了,默认端口号是27017,当然在启动时也可以指定未使用的其它端口。

  先通过查看端口号看MongoDB是否启动了。

[root@localhost data]# netstat -lanp | grep "27017"  

tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      1573/mongod            

unix  2      [ ACC ]     STREAM     LISTENING     5874   1573/mongod         /tmp/mongodb-27017.sock  

 

./mongod -fork --dbpath= /usr/local/mongodb/bin/database/ --logpath= /usr/local/mongodb/bin/mongodblog.log --logappen --port=27018 &  
  指定端口27018
以上方式将MongoDB启动为后台进程


  可以看到,已启动成功,现在使用mongo客户端访问一下该数据库。

[root@localhost bin]# cd /usr/local/mongodb/bin/   

[root@localhost bin]# ./mongo   

MongoDB shell version: 1.8.1  

connecting to: test   

>  

./bin/mongo localhost:10001  可以连接指定的ip和端口

MongoDB服务停止:

  在linux下大家停止很多服务都喜欢直接kill -9 PID,但是对于MongoDB如果执行了kill -9 PID,在下次启动时可能提示错误,导致服务无法启动,这个时候可以通过执行:

rm -f /app/hadoop/db/mongod.lock  
也即删除指定数据目录下的mongod.lock文件即可。

正常停止方法:
kill  -2 PID
或者

./mongo -host ip:port  先连接需要停止的服务,然后:

use  admin  

db.shutdownServer(); 

这样也可以正常停止服务。


通过配置文件来配置Mongodb

首先在mongodb目录下新建一个文件,文件名任意,在这里我取名为:mongodb.conf
[root@localhost mongodb]# vi mongodb.conf  
然后在配置文件中添加配置信息
port=10001 
dbpath=data/ 
logpath=log/mongodb.log
logappend=true
解释说明:
port=10001【代表端口号,如果不指定则默认为   27017  
dbpath=data/ 【数据库路径】
logpath=log/mongodb.log 【日志路径】
logappend=true 【日志文件自动累加,而不是覆盖】
启动Mongodb服务   

[root@localhost mongodb]# ./bin/mongod -f mongodb.conf
all output going to: log/mongodb.log
然后访问方式和之前的一样。        




4. 额外工作。

    注意,上述我们启动MongoDB都是手动使用mongod来启动,这样关闭计算机后,下次再进来它又没启动了,所以还得手动启动,因此,为避免这种繁琐的工作,可以把mongod放到服务自启动项中,这样计算机一开启mongod服务也就启动了。

    编辑/etc/rc.local,加入下述代码然后再保存即可。 

 

#add mongonDB service   

/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/bin/database/ --logpath=/usr/local/mongodb/bin/mongodblog.log --logappend&

 

   我们重启计算机再看MongoDB是否启动,重启后可以直接使用 mongo命令登录,最终发现是可以成功的。

   另外,我们使用mongo命令登录 MongoDB还要转到mongo命令所在目录再执行./mongo,这样是不是有些麻烦?因此,我们可以简化这点,将该命令文件copy到/usr/bin下,这样就可以在任何目录下使用mongo命令了。

[root@localhost bin]# ls   

bsondump  dbbak  mongo  mongod  mongodump  mongoexport  mongofiles  mongoimport  mongorestore  mongos  mongosniff  mongostat   

[root@localhost bin]# cp mongo /usr/bin/ 



   转到任一目录试下mongo命令:

[root@localhost bin]# cd /   

[root@localhost /]# mongo   

MongoDB shell version: 1.8.1  

connecting to: test   

>   

  可以看到登录成功了,说明我们可以像使用ls命令一样使用mongo命令了。


接下来还需要给服务器开启27017端口 给外部访问

开发环境

 Linux版本:CentOS 6.5

C++驱动版本:mongo-cxx-driver-v2.2

Mongodb版本:mongodb-src-r2.2.6

Python版本:Python-2.7.5

scons版本:scons-src-2.3.0

boost版本:boost_1_57_0.tar.gz


步骤:

1. 升级boost

centos自带了boost,但版本过老,需要进行升级:
rpm -qa boost* # 先查一下安装的版本
rpm -e xxxx # 卸载之


下载boost_1_57_0.tar.gz
解压后,执行
$ cd boost_1_57_0
$ ./bootstrap.sh

$ ./b2

$ sudo ./b2 install

2.安装scons

下载scons-2.3.4.tar.gz

安装:

tar zxf scons-2.3.4.tar.gz 

cd scons-2.3.4

 python setup.py install

3.编译C++客户端V2.2驱动

下载:mongo-cxx-driver-legacy.zip

unzip mongo-cxx-driver-legacy.zip
cd mongo-cxx-driver-legacy
scons
scons install
ldconfig /usr/local/lib

安装成功!

将mongo-cxx-driver-legacy/build/install/include下的mongo文件夹拷贝到/usr/local/include/

mongo-cxx-driver-legacy/build/install/lib下libmongoclient.a拷贝到/usr/local/lib 下




从驱动源码中找个例子来测试下是否正确

mongo-cxx-driver-legacy\src\mongo\client\examples\clientTest.cpp

g++ clientTest.cpp -lmongoclient -lboost_thread -lboost_filesystem -lboost_regex

生成a.out文件

[root@localhost src]# ./a.out  

测试连接成功 ,至此 32位环境搭建完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值