最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Linux 服务器(CentOS)安装配置mongodb+node

    正文概述 掘金(明么)   2020-12-06   506

    准备服务器

    既然是在服务器上操作,那服务器肯定得准备好,我这里购买的是阿里云的服务器(CentOS 8),因为我自己使用的电脑是 MacBook Pro , 所以下文中统一默认环境为:CentOS 8mac 终端;服务器公网 IP 统一以:110.110.110.110 来举例。

    首先登陆服务器,root 是阿里云服务器默认的账号名,终端输入命令之后会提示输入你的服务器密码(输入密码的时候是不显示的)。

    ssh root@110.110.110.110
    

    Linux 服务器(CentOS)安装配置mongodb+node

    把yum更新到最新版本:

    yum -y update
    

    升级常用库文件, 安装 node.js 需要通过 g++ 进行编译。

    yum -y install gcc gcc-c++ autoconf
    

    常用的 Linux 命令:

    cd 进入目录
    cd .. 返回上一个目录
    ls 查看当前目录
    mkdir abc 创建abc文件夹
    mv 移动或重命名
    rm 删除一个文件或者目录
    

    node 安装

    1.进入到 /usr/local/src 目录,存放软件源代码。

    cd /usr/local/src
    

    2.获取下载地址:node官网下载地址 ,或者下载到本地通过 scp 命令上传文件到服务器。

    Linux 服务器(CentOS)安装配置mongodb+node

    3.执行下载命令:

    wget https://nodejs.org/dist/v14.15.0/node-v14.15.0.tar.gz
    

    4.解压缩源文件,并且进入到压缩后的文件夹中:

    tar zxf node-v14.15.0.tar.gz 
    cd node-v14.15.0
    

    5.执行配置脚本来进行编译预处理:

    ./configure
    

    6.编译源代码,这个过程会有点长,耐心等待。

    make
    

    7.当编译完成后,我们需要使之在系统范围内可用, 编译后的二进制文件将被放置到系统路径,默认情况下,Node二进制文件应该放在/user/local/bin/node文件夹下:

    make install
    

    8.建立软链接, 不然使用时会报错 "command not found"

    sudo ln -s /usr/local/bin/node /usr/bin/node 
    sudo ln -s /usr/local/lib/node /usr/lib/node 
    sudo ln -s /usr/local/bin/npm /usr/bin/npm 
    

    9.测试一下,查看版本号:

    node -v
    npm -v
    

    ok,版本号正常显示,安装完成。

    mongodb 安装

    安装说明:

    • 系统环境:Centos-8
    • 软件安装位置:/usr/local/mongodb
    • 数据存放位置:/usr/local/mongodb/data
    • 日志存放位置:/usr/local/mongodb/logs

    下载地址:mongodb 选择自己相对应的环境和版本。

    Linux 服务器(CentOS)安装配置mongodb+node

    进入文件夹/usr/local,下载mongodb源代码:

    cd /usr/local
    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-4.4.1.tgz
    

    解压安装包,重命名文件夹为 mongodb

    tar zxvf mongodb-linux-x86_64-rhel80-4.4.1.tgz
    mv mongodb-linux-x86_64-rhel80-4.4.1 mongodb
    

    配置变量环境:

    export PATH=/usr/local/mongodb/bin:$PATH
    

    环境变量持久化配置: 在 /etc/profile 文件中,添加 export PATH=/usr/local/mongodb/bin:$PATH;

    vim /etc/profile
    ...
    

    然后使系统环境变量立即生效:

    source /etc/profile
    

    查看是否安装成功:

    mongod --version
    

    如图,表示安装成功: Linux 服务器(CentOS)安装配置mongodb+node

    mongodb 启动配置

    创建数据库目录和日志目录:

    mkdir /usr/local/mongodb/data
    mkdir /usr/local/mongodb/data/db
    mkdir /usr/local/mongodb/logs
    

    配置 mongod 启动文件,在 /usr/local/mongodb/etc 下创建配置文件mongod.config:

    vim /usr/local/mongodb/etc/mongod.config
    
    dbpath=/usr/local/mongodb/data   # 数据库存放位置(之前创建的)
    logpath=/usr/local/mongodb/logs/mongodb.log   # 数据库日志存放位置(之前创建的)
    port=27017
    fork=true   #后台运行
    auth=false  # 初次配置先关了权限验证登陆模式
    journal=false
    

    启动 mongod :

    mongod -f /usr/local/mongod/etc/mongod.config
    

    进入数据库管理命令界面:

    mongo
    

    切换到 admin 数据库,创建超级管理员帐号:

    use admin
    db.createUser({ user: "用户名", pwd:"登录密码", roles:[{ role: "userAdminAnyDatabase", db: "admin" }] })
    

    运行结果:

    Successfully added user: {
        "user" : "用户名",
        "roles" : [
            {
                "role" : "userAdminAnyDatabase",
                "db" : "admin"
            }
        ]
    }
    

    切换到要使用的数据库,如 blog 数据库,创建这个数据库的管理员帐号:

    use blog
    db.createUser({ user: "用户名", pwd:"登录密码", roles:[ { role: "readWrite", db: "blog" }] //读写权限 })
    
    • 退出服务,谨慎使用 kill 直接去杀掉 mongodb 进程,可以使用 db.shutdownServer() 关闭.

    • 使用权限方式启动 MongoDB ,在配置文件中添加:auth=true , 然后启动:mongod -f /usr/local/mongod/etc/mongod.config

    • 进入mongo shell,使用 admin 数据库 use admin 并进行验证 db.auth('用户名','登录密码'),验证成功返回 1 失败返回 0 ;如果不验证或验证失败,是做不了任何操作的.

    MongoDB设置为系统服务并且设置开机启动

    在服务器的系统服务文件中添加 mongod 配置:

    vim /etc/rc.d/init.d/mongod
    

    输入:

    start() {
    /usr/local/mongodb/bin/mongod  --config /usr/local/mongodb/etc/mongod.config
    }
    
    stop() {
    /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongod.config --shutdown
    }
    case "$1" in
      start)
     start
     ;;
    
    stop)
     stop
     ;;
    
    restart)
     stop
     start
     ;;
      *)
     echo
    $"Usage: $0 {start|stop|restart}"
     exit 1
    esac
    

    保存并添加脚本执行权限:

    chmod +x /etc/rc.d/init.d/mongod
    

    可以试试使用 service mongod [start|stop|restart|try-restart|reload|force-reload| status] 来直接管理 MongoDB 服务啦。

    //  关闭
    service mongod stop
    //  启动
    service mongod start
    

    远程连接服务器数据库

    确保服务器安全规则端口已开放、防火墙设置没问题;连接命令:

    mongo 110.110.110.110:27017/blog -u 用户名 -p 登录密码
    
    1. 报错连接失败,拒绝连接:
      • 原因:云服务器中安装MongoDB后(默认端口27017),默认绑定IP为 127.0.0.1 ,这就导致外部无法访问;

      • 决解: 修改mongod.config配置文件,添加 bind_ip=0.0.0.0 绑定公网IP;

      • 重启mongodb服务 service mongod restart

    2. 启动服务报错:
      about to fork child process, waiting until server is ready for connections.
      forked process: 11300
      ERROR: child process failed, exited with error number 48
      
      • 原因:没有正常关闭mongodb引起的,比如直接 kill -9 导致
      • 决解:
        1. 找到 data/mongod.lock 文件,并删除 mongod.lock
        2. 以修复方式启动mongod: mongod -f usr/local/mongodb/etc/mongod.config --repair;
        3. 再次启动 service mongod start

    起源地下载网 » Linux 服务器(CentOS)安装配置mongodb+node

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元