CentOS6.9安装mongodb和php-mongodb扩展

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
日志服务 SLS,月写入数据量 50GB 1个月
简介: 这篇笔记记录了在CentOS6.9中使用二进制包安装mongodb和源码编译php-mongodb扩展的过程,并附上了mongodb的启动脚本

相关笔记:
CentOS6.9yum安装mongodb和php-mongodb扩展
1.安装依赖

yum install libcurl openssl

2.下载,解压

wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.5.tgz
tar -zxvf mongodb-linux-x86_64-4.0.5.tgz

3.移动mongodb

mkdir -p /usr/local/mongodb
mv mongodb-linux-x86_64-4.0.5/* /usr/local/mongodb

4.加入环境变量

vim /etc/profile
#下面代码加入文件末尾
PATH=$PATH:/usr/local/mongodb/bin
export PATH
#立刻生效
source /etc/profile
#查看版本
[root@jmsite ~]# mongod --version
db version v4.0.5
git version: 3739429dd92b92d1b0ab120911a23d50bf03c412
allocator: tcmalloc
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_64

5.创建数据目录,日志目录,配置文件目录,进程文件目录

mkdir -p /usr/local/mongodb/data
mkdir -p /usr/local/mongodb/log
mkdir -p /usr/local/mongodb/conf
mkdir -p /var/run/mongodb

6.创建配置文件

vim /usr/local/mongodb/conf/mongodb.conf

写入以下配置

#监听端口
port = 27017
#数据库存文件存放目录
dbpath = /usr/local/mongodb/data
#日志文件存放路径
logpath = /usr/local/mongodb/log/mongodb.log
#进程文件存放路径
pidfilepath = /var/run/mongodb/mongodb.pid
#使用追加的方式写日志
logappend = true
#以守护进程的方式运行,创建服务器进程
fork = true
#最大同时连接数
maxConns = 100
#每次写入会记录一条操作日志
journal = true
#不绑定ip,这样就可外部访问了
bind_ip = 0.0.0.0
#校验权限
auth = true

7.创建一个不能登录的mongodb用户并设置权限

useradd mongodb -M -s /sbin/nologin
chown -R mongodb.mongodb /usr/local/mongodb
chown -R mongodb.mongodb /var/run/mongodb

8.创建启动脚本

vim /etc/init.d/mongod

写入以下配置

#!/bin/sh
#
# mongodb      init file for starting up the MongoDB server
#
# chkconfig:   - 90 10
# description: Starts and stops the MongDB daemon that handles all \
#              database requests.

# Source function library.
. /etc/rc.d/init.d/functions

exec="/usr/local/mongodb/bin/mongod"
prog="mongod"
logfile="/usr/local/mongodb/log/mongodb.log"

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
OPTIONS="--quiet -f /usr/local/mongodb/conf/mongodb.conf"
pidfile=${PIDFILE-/var/run/mongodb/mongodb.pid}
options="$MONGODB_OPTIONS $OPTIONS"
lockfile="/var/lock/subsys/mongod"

# Nicer version of killproc that does not kill mongodb when it takes
# a long time to shut down and does not hang for a long time when mongo
# shuts down quickly
killproc_nice() {
    local RC base pid pid_file= delay i

    RC=0; delay=3
    # Test syntax.
    if [ "$#" -eq 0 ]; then
        echo $"Usage: killproc [-p pidfile] [ -d delay] {program} [-signal]"
        return 1
    fi
    if [ "$1" = "-p" ]; then
        pid_file=$2
        shift 2
    fi
    if [ "$1" = "-d" ]; then
        delay=$2
        shift 2
    fi

    # Save basename.
    base=${1##*/}

    # Find pid.
    __pids_var_run "$1" "$pid_file"
    RC=$?
    if [ -z "$pid" ]; then
        if [ -z "$pid_file" ]; then
            pid="$(__pids_pidof "$1")"
        else
            [ "$RC" = "4" ] && { failure $"$base shutdown" ; return $RC ;}
        fi
    fi

    # Kill it.
    if [ -n "$pid" ] ; then
        [ "$BOOTUP" = "verbose" -a -z "${LSB:-}" ] && echo -n "$base "
        if checkpid $pid 2>&1; then
            # TERM first, then KILL if not dead
            kill -TERM $pid >/dev/null 2>&1
            usleep 100000

            # Check every one second if the program is stopped.
            # Do so for a maximum of $delay seconds
            for ((i = 0 ; i < $delay; i++))
            do
                if checkpid $pid; then
                    sleep 1
                else
                    break
                fi
            done

            # If the program is not stopped, kill it
            if checkpid $pid ; then
                kill -KILL $pid >/dev/null 2>&1
                usleep 100000
            fi
        fi
        checkpid $pid
        RC=$?
        [ "$RC" -eq 0 ] && failure $"$base shutdown" || success $"$base shutdown"
        RC=$((! $RC))
    else
        failure $"$base shutdown"
        RC=0
    fi

    # Remove pid file if any.
    rm -f "${pid_file:-/var/run/$base.pid}"
    return $RC
}

start() {
    [ -x $exec ] || exit 5
    echo -n $"Starting $prog: "
    daemon --pidfile=${pidfile} --user mongodb "$exec $options run >> $logfile 2>&1"
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc_nice -p ${pidfile} -d 300 $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    stop
    start
}

reload() {
    restart
}

force_reload() {
    restart
}

rh_status() {
    # run checks to determine if the service is running or use generic status
    status -p ${pidfile} $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}


case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 2
esac
exit $?

设置权限

chmod 755 /etc/init.d/mongod

加入服务

chkconfig --add mongod

开机启动

chkconfig mongod on

9.下载解压php-mongo源码

wget -c http://pecl.php.net/get/mongodb-1.5.3.tgz
tar -zxvf mongodb-1.5.3.tgz

10.配置,编译,安装

cd mongodb-1.5.3
/usr/local/php72/bin/phpize
./configure --with-php-config=/usr/local/php72/bin/php-config
make -j4
make install

11.将mongodb扩展加入php.ini

echo "extension=mongodb.so" >> /usr/local/php72/etc/php.ini

12.重启php,查看phpinfo();

原文地址:https://www.jmsite.cn/blog-266.html

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
4天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
52 20
|
1月前
|
存储 分布式计算 Hadoop
Centos7.9安装kerberos
Centos7.9安装kerberos
82 25
|
27天前
|
存储 Shell 网络安全
Centos7.9安装openldap
Centos7.9安装openldap
52 16
|
28天前
|
数据可视化 Linux 应用服务中间件
Centos7.9安装phpldapadmin
Centos7.9安装phpldapadmin
56 15
|
1月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
2月前
|
存储 Linux 数据安全/隐私保护
【CentOS 7】深入指南:使用LVM和扩展文件系统增加root分区存储容量
通过上述步骤,您可以在 CentOS 7 系统中使用 LVM 和扩展文件系统来增加 root 分区的存储容量。这种方法不仅灵活,还能在不中断系统运行的情况下扩展存储空间,非常适合生产环境。请确保在操作前备份重要数据,并仔细执行每一步骤,以确保系统稳定和数据安全。
114 6
|
3月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
152 4
|
3月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
167 1
|
3月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
3月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
202 3

热门文章

最新文章