文档章节

CentOS 手工编译、手动编译安装 MongoDB

rin9958
 rin9958
发布于 2016/03/26 16:23
字数 650
阅读 427
收藏 1

下载所需软件(下载到/usr/local/src目录)

#wget http://downloads.mongodb.org/src/mongodb-src-r1.8.1.tar.gz
#wget http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
#wget http://sourceforge.net/projects/pcre/files/pcre/8.12/pcre-8.12.tar.bz2

安装 python :

#yum install -y python-devel  
安装scons: 下载scons(http://www.scons.org/download.php)
tar zxf scons-2.0.1.tar.gz
cd scons-2.0.1
python setup.py install

安装spidermonkey库,下载支持c的js api库 js-1.7.0.tar.gz(http://ftp.mozilla.org/pub/mozilla.org/js/)

yum install -y boost boost-devel

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
cd ../.. 

安装pcre

tar zxf pcre-8.12.tar.gz
cd pcre-8.12
./configure --enable-utf8 --enable-unicode-properties
make && make install
cd ..

安装MongoDB

tar zxf mongodb-src-r1.8.1.tar.gz
 cd mongodb-src-r1.8.1
scons all   // scons可能出现找不到pcre库的现象(修改/etc/ld.so.conf也无用,是scons自身的问题),这时需要打开mongodb-src-r1.8.0下的SConstruct,查找【 linux2"== os.sys.platform:】,在LIBPATH后面添加上pcrecpp库的安装路径,在LIBS后添加上pcrecpp库名,再重新scons all即可(操作:vim SConstruct;原来:env.Append( LIBPATH=["/usr/lib64" , "/lib64" ] ) ;修改后env.Append( LIBPATH=["/usr/lib64" , "/lib64" ,"/usr/local/pcre/lib"]);  接下来在env.Append( LIBS=["pthread"] )后面添加 env.Append( LIBS=["libpcrecpp"] )  )
scons --prefix=/usr/local/mongo install
如果需要安装lib和head,使用如下方式安装
scons --prefix=/usr/local/mongo --full install

创建配置文件

mkdir -p /usr/local/mongo/etc /usr/local/mongo/data /usr/local/mongo/log/ /usr/local/mongo/repair
vim  /usr/local/mongo/etc/mongo.conf
在mongo.conf中添加下面的内容
dbpath = /usr/local/mongo/data
logpath = /usr/local/mongo/mongodb.log
repairpath = /usr/local/mongo/repair
pidfilepath = /usr/local/mongo/mongodb.pid
directoryperdb = true
logappend = true
noauth = true
port = 27017
maxConns = 1024
fork = true
rest = true
quota = true
quotaFiles = 1024
nssize = 16

启动mongodb

ln -s /usr/local/mongo/bin/mongod /usr/bin/mongod
mongod -f /usr/local/mongo/etc/mongo.conf

看看是不是启动起来了,但是使用这种方式管理mongodb服务器很不明智,我们完善一下:

mkdir -p /usr/local/mongo/srv
vim /usr/local/mongo/srv/mongodb-start

添加下面的内容

#!/bin/sh
mongod -f /usr/local/mongo/etc/mongo.conf

vim /usr/local/mongo/srv/mongodb-stop

添加下面的内容

#!/bin/bash
pid=`ps -o pid,command ax | grep mongod | awk '!/awk/ && !/grep/ {print $1}'`;
if [ "${pid}" != "" ]; then
    kill -2 ${pid};
fi

添加执行权限

chmod a+x /usr/local/mongo/srv/mongodb-start
chmod a+x /usr/local/mongo/srv/mongodb-stop
vim /etc/rc.d/init.d/mongodb

添加下面的内容

#! /bin/sh
#
# mongodb – this script starts and stops the mongodb daemon
#
# chkconfig: - 85 15
# description: MongoDB is a non-relational database storage system.
# processname: mongodb
# config: /usr/local/mongo/etc/mongo.conf
# pidfile: /usr/local/mongo/mongodb.pid
PATH=/usr/local/mongo/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=mongodb
test -x $DAEMON || exit 0
set -e
case "$1" in
  start)
        echo -n "Starting MongoDB... "
        /usr/local/mongo/srv/mongodb-start
        ;;
  stop)
        echo -n "Stopping MongoDB... "
        /usr/local/mongo/srv/mongodb-stop
        ;;
      *)
            N=/etc/init.d/$NAME
            echo "Usage: $N {start|stop}" >&2
            exit 1
            ;;
    esac
    exit 0

添加服务

chmod a+x /etc/rc.d/init.d/mongodb
chkconfig --add mongodb
chkconfig --level 345 mongodb on
/etc/rc.d/init.d/mongodb start

转载自:http://www.9958.pw/post/centos_mongodb

© 著作权归作者所有

共有 人打赏支持
上一篇: 面向对象思想
下一篇: CentOS安装Node.js
rin9958
粉丝 9
博文 113
码字总数 54109
作品 0
程序员
私信 提问
面向 MongoDB 优化 Redhat 和 CentOS

在以前的一篇博客“Tuning Linux for MongoDB”(优化 Linux 下的 MongoDB)中,我罗列了几种方法——如何在 Linux 项目中高效调试 MongoDB 的部署。而这篇博客就是在此基础之上做的扩展。 ...

oschina
2016/12/16
2.7K
2
在 Asp.Net MVC3 下体验 MongoDB

先让MongoDB在Win7 64下跑起来: 1. MongoDB主页 http://www.mongodb.org/ 2. 下载 http://downloads.mongodb.org/win32/mongodb-win32-x86_64-1.8.1.zip 3. 解压 e.g. H:\mongodb-win32-x8......

鉴客
2011/09/06
1K
2
Windows平台安装MongoDB

一. MongoDB 下载 MongoDB 提供了可用于32位和64位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center#communi...

zhaojd
2017/11/16
0
0
source code compiled install mongodb

文章来自我的博客:https://www.lwxshow.com/server/source-code-compiled-install-mongodb.html 源码编译安装mongodb source code compiled install mongodb 1.下载安装包 cd /usr/local/sr......

卢卫湘
2013/06/06
0
0
linux 32位与64位系统安装mongodb扩展

文章来自我的博客:https://www.lwxshow.com/server/source-code-compiled-install-mongodb.html 源码编译安装mongodb source code compiled install mongodb 1.下载安装包 cd /usr/local/sr......

卢卫湘
2013/06/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

layui弹窗滑动问题

问题:弹窗之后,父窗口总是滑动到顶部 思路:使用锚点的机制,实现关闭弹窗后滑动到锚点 ,end:function(){ ... if (location.hash== hash) { location.hash = ''; }...

关元
24分钟前
1
0
presto函数

CASE CASE expression WHEN value THEN result [ WHEN ... ] [ ELSE result ]ENDSELECT a, CASE a WHEN 1 THEN 'one' WHEN 2 THEN 't......

hutaishi
32分钟前
1
0
.git目录瘦身

瘦身过程如下: 1.复制两个最新版本 git clone ssh://git@host:port/project.git dir1/project dir2/project 2.对dir1目录的工程进行瘦身 删除所有非python文件以及其记录,并提交. git filte...

legend3
36分钟前
2
0
Debian pip3 ImportError: cannot import name 'IncompleteRead'错误解决

突然pip3不能正常使用了, 执行pip3 -V报错为如下: 瞬间崩溃,翻阅一些资料给出的解决方案均是 easy_install3 -U pip3 修复,试后仍然无法解决,随换另一种方法,重新安装pip3: apt-get re...

Sunki
38分钟前
5
0
Springboot Failed to parse configuration class [x]; nested exception

1.前言 在使用Springboot时,我们偶尔会单独引用一些特定的properties文件,在引用这些文件时,我们就应用到了注解:@PropertySource。 2.分析错误信息 Caused by: org.springframework.bea...

hengbao5
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部