Onex ecstore开启mongodb配置教程(mongodb-3.4.1)

Onex ecstore开启mongodb配置教程(mongodb-3.4.1)

相关缓存同步:

点我我是redis缓存同步链接

点我我是mecached缓存同步链接

1.安装mongodb-3.4.1


wget  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.1.tgz
tar zxvf mongodb-linux-x86_64-3.4.1.tgz
mv mongodb-linux-x86_64-3.4.1 /usr/local/mongodb
mkdir -p /usr/local/mongodb/data/mongodb_data
cd /usr/local/mongodb/data
mkdir mongodb
cd /usr/local/mongodb
touch logs

2.安装php扩展mongo


//下载扩展包
cd /usr/local/
wget https://pecl.php.net/get/mongo-1.6.14.tgz 
//编译并安装
tar zxvf mongo-1.6.14.tgz
cd mongo-1.6.14
/usr/local/php/bin/phpize
./configure --enable-mongo  --with-php-config=/usr/local/php/bin/php-config
make && make install
//安装成功的标志(扩展库存放路径)
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

3.php.ini配置

查找“extension_dir”,修改为如下代码:


extension_dir='/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/'

查找“extension”,任意地方添加如下代码:


extension=mongo.so

4.配置启动脚本(可选)

vi命令 vim /etc/init.d/mongo


    #!/bin/bash   
    mongod=/usr/local/mongodb/bin/mongod
    mongo_path=/usr/local/mongodb/data/
    MONGO_USER=mongod
    MONGO_GROUP=mongod
    #. "$SYSCONFIG" || true
    start()
    {
        echo -n $"Starting mongod: "
            $mongod --dbpath=${mongo_path}/mongodb_data/ --logpath=${mongo_path}/mongodb_logs.log --logappend --port=27017 --fork --source=127.0.0.1 --pidfilepath=/tmp/mongodb.pid
    
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod
    }
    stop()
    {
      echo -n $"Stopping mongod: "
      #kill proc -p /www/data/mongo/mongod.lock -t30 -TERM $mongod
       kill `cat /tmp/mongodb.pid`
      RETVAL=$?
      echo
      [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/mongod /tmp/mongodb.pid
    }
    restart () {
     stop
     start
    }
    ulimit -n 12000
    RETVAL=0
    case "$1" in
      start)
        start
        ;;
      stop)
        stop
        ;;
      restart|reload|force-reload)
        restart
        ;;
      condrestart)
        [ -f /var/lock/subsys/mongod ] && restart || :
        ;;
      status)
        status $mongod
        RETVAL=$?
        ;;
      *)
        echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
        RETVAL=1
    esac
    exit $RETVAL

:wq保存

然后使用 chmod +x /etc/init.d/mongo 添加执行权限。

5.关于启动,重启,停止mongo命令


service mongodb start|stop|restart
#或
/etc/init.d/mongodb start|stop|restart

6.关于ecstore存储系统切换成mongo

找到config/config.php添加已下代码,也可以直接修改注释中的代码


#mongodb 服务器配置
define('KVSTORE_STORAGE', 'base_kvstore_mongodb');
define('MONGODB_SERVER_CONFIG', 'mongodb://localhost:27017');

具体位置可以参考下图:

Onex ecstore开启mongodb配置教程(mongodb-3.4.1)-搬砖酱的笔记
Onex ecstore开启mongodb配置教程(mongodb-3.4.1)-搬砖酱的笔记


切换到/app/base目录下执行命令 cmd kvrecovery 执行完毕后,ecstore的kvstore永久存储就在mongo里边了。

怎么测试是否正常运行。最直接的办法就是进入ecstore程序目录data下。吧kvstore目录删除。看看网站是否能正常访问。

如果有问题,欢迎留言,我会帮你分析处理的