在CentOS 7下安装Redis和MongoDB

前一篇折腾了node.js,这一次折腾下Redis和Mongodb,这样基本就安装好nodejs的整套开发环境了。


Redis

在CentOS下安装Redis也比较简单,按照步骤一步一步的操作,基本不会出错。

1、切换到/usr/src 目录(如果你安装在别的目录,注意后面要一些路径也要修改),下载Redis,目前最新的是2.8.13版本

cd /usr/src
wget http://download.redis.io/releases/redis-2.8.13.tar.gz

2、解压,切换目录

tar xzf redis-2.8.13.tar.gz
cd redis-2.8.13

3、编译

make
make install

4、打开redis.conf 修改配置文件,最关键是下面几行,其他的设置参考官方文档:

daemonize yes
loglevel notice
logfile /var/log/redis.log
dir ./

5、设置系统的overcommit_memory,执行

vi /etc/sysctl.conf

在文件中添加一行,保存:

vm.overcommit_memory = 1

执行:

sysctl vm.overcommit_memory=1

6、添加启动脚本,执行:

vi /etc/init.d/redis

写入下面的代码,保存:

#!/bin/sh
#
# redis        Startup script for Redis Server
#
# chkconfig: - 90 10
# description: Redis is an open source, advanced key-value store. 
#
# processname: redis-server
# config: /etc/redis.conf
# pidfile: /var/run/redis.pid

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
 
PIDFILE=/var/run/redis.pid
CONF="/usr/src/redis-2.8.13/redis.conf"
 
case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        if [ "$?"="0" ] 
        then 
              echo "Redis is running..."
        fi 
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $REDIS_CLI -p $REDISPORT SHUTDOWN
                while [ -x ${PIDFILE} ]
               do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
   restart|force-reload)
        ${0} stop
        ${0} start
        ;;
  *)
    echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
        exit 1
esac

设置权限和开机启动:

chmod +x /etc/init.d/redis
chkconfig --add redis
chkconfig redis on

ok,现在就安装好了。启动redis使用service redis start 或者/etc/init.d/redis start ,停止redis的命令service redis stop 或者/etc/init.d/redis stop ,在windows系统下使用redis可以参考这篇文章

参考文章:

    http://hi.baidu.com/cxc0378/item/40f4b70e7fda603af3eafcbb

    http://www.saltwebsites.com/2012/install-redis-245-service-centos-6

    http://chenjinglys.blog.163.com/blog/static/16657571620127133616965


MongoDB

1、下面安装MongoDB,先下载:

cd /usr/src
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.4.tgz

2、解压,进入目录:

tar -zxvf mongodb-linux-x86_64-2.6.4.tgz -C /usr/src
cd mongodb-linux-x86_64-2.6.4

3、创建数据库和日志的目录:

mkdir log
mkdir db

4、以后台运行方式启动:

./bin/mongod --dbpath=./db --logpath=./log/mongodb.log --fork --auth

会显示如下内容:

about to fork child process, waiting until server is ready for connections.
forked process: 4623
child process started successfully, parent exiting

5、设置开机启动:

echo "/usr/src/mongodb-linux-x86_64-2.6.4/bin/mongod --dbpath=/usr/src/mongodb-linux-x86_64-2.6.4/db --logpath=/usr/src/mongodb-linux-x86_64-2.6.4/log/mongodb.log --fork --auth" >> /etc/rc.local

ok,搞定,然后可以参看下端口netstat -nalupt | grep mongo

tcp   0   0 0.0.0.0:27017    0.0.0.0:*    LISTEN     4623/./bin/mongod



标签: , , ,

  1. 能否请教个问题?用Predis做客户端然后配置了redis缓存wordpress,能否做到让redis在手机访问的时候不生效?

        • php不是很熟,爱莫能助了,不过思路应该没错的,检测用户的User-Agent或者屏幕分辨率来判断手机端,这个应该有现成的php实现,你可以搜一下。让redis不生效这个,在代码里加个判断就好了。

          • 哎,好吧,我看看没有技术论坛有大牛可以解决。还是谢谢你了!有空多多交流。

  2. 问一些以后可能会遇到的问题,提前预防一下,就是一个写好的个人网站从环境部署到远端管理该注意哪些问题啊?

  3. [root@conjee ~]# /usr/src/mongodb-linux-x86_64-3.0.6/bin/mongo
    MongoDB shell version: 3.0.6
    connecting to: test
    > show dbs;
    2015-08-28T18:14:47.141+0800 E QUERY Error: listDatabases failed:{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
    "code" : 13
    }
    at Error (<anonymous>)
    at Mongo.getDBs (src/mongo/shell/mongo.js:47:15)
    at shellHelper.show (src/mongo/shell/utils.js:630:33)
    at shellHelper (src/mongo/shell/utils.js:524:36)
    at (shellhelp2):1:1 at src/mongo/shell/mongo.js:47
    >

无觅相关文章插件,快速提升流量