热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS5.5系统编译安装mongodb服务器

生产系统上使用的mongodb是官方编译好的二进制程序,这段时间总是有些莫名的问题,于是决定自己编译安装mongodb。1、下载最新的mongo源码包,pcre,epel,js2、安装epel,scons,js,pcre#安装epel,然后再安装scons和boostrpm-ivhepel-release-5-4.no
生产系统上使用的mongodb是官方编译好的二进制程序,这段时间总是有些莫名的问题,于是决定自己编译安装mongodb

1、下载最新的mongo源码包,pcre,epel,js
 
2、安装epel,scons,js,pcre
#安装epel,然后再安装scons和boost
    rpm -ivh epel-release-5-4.noarch.rpm
    yum -y install scons boost boost-devel
    #安装js
    tar zxvf js-1.7.0.tar.gz
    cd js/src/
    export CFLAGS="-DJS_C_STRINGS_ARE_UTF8"
    make -f Makefile.ref
    JS_DIST=/usr gmake -f Makefile.ref export
 #安装pcre
 tar vxf pcre-8.12.tar.bz2
 cd pcre-8.12
 ./configure --prefix=/usr/local/pcre --enable-utf8 --enable-unicode-properties
 make && make install
#在安装mongo的时候,提示找不到pcrecpp的头文件的话,就将安装的pcre的头文件拷贝到/usr/include下面
 cp /usr/local/pcre/include/* /usr/include/

3、准备安装mongodb
  tar xvf mongodb-src-r1.8.1.tar.gz
    cd mongodb-src-r1.8.1
#修改mongodb-src-r1.8.1目录下的SConstruct文件,要不然编译的时候找不到pcre,会报错。
elif "linux2" == os.sys.platform:  #修改这个段,大概在420行左右
    linux = True
    platform = "linux"
    if os.uname()[4] == "x86_64" and not force32:
        linux64 = True
        nixLibPrefix = "lib64"
        env.Append( LIBPATH=["/usr/lib64" , "/lib64","/usr/local/pcre/lib" ] ) #这里把安装的pcre的lib指定
        env.Append( LIBS=["pthread"] )
        env.Append( LIBS=["libpcrecpp"] )  #这里给出pcrecpp的库名

4、安装mongo
    scons . #也可以用 scons all
    scons --prefix=/usr/local/mongodb-1.8.1 --full install

5、修改系统动态链接库配置
    echo '/usr/local/pcre/lib' >> /etc/ld.so.conf
    ldconfig

6、到这里mongo就安装好了,可以生成一个启动脚本,以方便启动mongodb
mkdir /data/mongodb
    cat > /usr/local/mongodb-1.8.1/start.sh <     /usr/local/mongodb-1.8.1/bin/mongod --dbpath=/data/mongodb --logpath /data/mongodb_log --oplogSize=512 &
    EOF
    chmod +x /usr/local/mongodb-1.8.1/start.sh

7、可以通过start.sh文件启动mongodb了。

推荐阅读
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文由瀚高PG实验室撰写,详细介绍了如何在PostgreSQL中创建、管理和删除模式。文章涵盖了创建模式的基本命令、public模式的特性、权限设置以及通过角色对象简化操作的方法。 ... [详细]
  • Mongoose 5.12.10 发布:MongoDB 异步对象模型工具的新特性与修复
    Mongoose 是一款专为异步环境设计的 MongoDB 对象模型工具,支持 Promise 和回调函数。最新版本 Mongoose 5.12.10 带来了多项修复和改进,包括查询选项中的默认值设置、嵌入式判别器填充、以及 TypeScript 定义文件的优化。 ... [详细]
  • 利用 Jest 和 Supertest 实现接口测试的全面指南
    本文深入探讨了如何使用 Jest 和 Supertest 进行接口测试,通过实际案例详细解析了测试环境的搭建、测试用例的编写以及异步测试的处理方法。 ... [详细]
  • 近期参与了一个旨在提高在线平台大规模查询响应速度的项目,预计处理的数据量为2-3亿条,数据库并发量约为每秒1500次,未来可能增至3000次。通过对比Redis和MongoDB,最终选择了MongoDB,因其具备优秀的横向扩展性和GridFS支持下的Map/Reduce功能。 ... [详细]
  • ArchSummit深圳2014将于7月18日拉开帷幕,所有讲师已确认,涵盖9个热门话题,共36场精彩报告。InfoQ中文站提供了详细的讲师和报告列表。 ... [详细]
author-avatar
morimodomasaaki
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有