设为首页 收藏本站
查看: 1277|回复: 0

[经验分享] LINUX 游戏服务器之旅4_mongodb环境

[复制链接]
YunVN网友  发表于 2018-10-25 11:25:13 |阅读模式
安装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位环境搭建完毕


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-626297-1-1.html 上篇帖子: Centos6.5 x64简单安装MongoDB 下篇帖子: Mac下MongoDB配置方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表