在阿里云上买了个服务器,部署mongodb遇到一些坑,解决办法也是从网上搜集而来,把零零碎碎的整理记录一下。

服务器是:Alibaba Cloud Linux

下载安装

mongodb官网下载实在是太慢,可以从阿里镜像安装:阿里MongoDb镜像

使用yum安装

  • 在/etc/yum.repos.d目录下添加mongodb-org.repo文件
    cd /etc/yum.repos.d
    vim mongodb-org.repo [mogodb-org]
    name=MongoDB Repository
    baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/
    gpgcheck=0
    enabled=1

    vim命令:是编辑(新建)文件的命令,退出编辑的时候,按esc,然后输入 :wq退出报存。如果对linux命令不熟,用 Xftp 等工具直接上传也可以。

    baseurl:在阿里镜像中,点击下载地址后,选择的mongodb的版本的链接,根据选择的版本不同而不同,其他的不用变。

  • 用yum安装
    yum -y install mongodb-org

    yum:linux下载包的命令,从上面添加的 .repo 文件中的 baseurl地址开始下载。-y是为了免去安装的确认操作。

配置

安装完成了过后,找到配置mongodb的配置文件

rpm -qla | grep mongod.conf

  • 修改配置文件
    vim /etc/mongod.conf
    
    # mongod.conf
    systemLog:
    destination: file
    logAppend: true
    path: /var/log/mongodb/mongod.log # 日志文件目录 # Where and how to store data.
    storage:
    dbPath: /var/lib/mongo # 数据目录
    journal:
    enabled: true
    # engine:
    # mmapv1:
    # wiredTiger: # how the process runs
    processManagement:
    fork: true # fork and run in background
    pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
    timeZoneInfo: /usr/share/zoneinfo # network interfaces
    net:
    port: 27017 #端口
    # 修改ip
    bindIp: 0.0.0.0 # 这里默认是127.0.0.1,要改成0.0.0.0

    主要修改点:bindIp值改为 0.0.0.0,这样可以外网访问

    如果对linux的指令不熟悉的,可以直接在 Xftp的工具里面选中文件,右键有编辑操作

运行

  • /etc/init.d文件夹中添加开机启动脚本mongod

    cd /etc/init.d
    vim mongod EXEC=/usr/bin/mongod
    CONF=/etc/mongod.conf
    LOCKFILE=/var/lock/subsys/mongod
    RETVAL=0
    case "$1" in
    start)
    echo -n $"Starting mongod: "
    $EXEC -f $CONF
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch $LOCKFILE
    ;;
    stop)
    echo -n $"Stopping mongod: "
    $EXEC -f $CONF --shutdown
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f $LOCKFILE
    ;;
    restart)
    ${0} stop
    ${0} start
    ;;
    *)
    echo "Usage: /etc/init.d/mongod {start|stop|restart}" >&2
    exit 1
    esac
  • 运行权限

    # 获取文件权限
    chmod +x /etc/init.d/mongodb
  • 启动

    service mongod start
  • 停止

    service mongod stop
  • 重启

    service mongod restart
  • 卸载

    # 停止服务
    service mongod stop
    # 删除安装的包
    yum erase $(rpm -qa | grep mongodb-org)
    # 删除数据和日志
    rm -rf /var/log/mongodb
    rm -rf /var/lib/mongo

验证

  • 开启端口

    mongodb默认端口为:27017,在配置文件/etc/mongod.conf里可以查看

    在阿里云后台,防火墙打开端口
  • 浏览器访问

    ip:27017 访问

问题排查

  • 异常关闭时,手动关闭进程

    如果启动失败,可能是由于系统异常关闭,可能会有进程没有退出

    #查看mongodb的进程
    ps aux | grep mongod #根据查询的结果pid,关闭进程
    kill -9 pid

    mongod.lock 和 diagnostic.data文件删掉

  • 自启动失效

    如果mongodb自启动,查看配置文件/etc/mongod.conf中fork配置是否有开启:

参考:

CentOS7使用阿里镜像安装mongodb4.0

mongodb启动异常

阿里云服务器部署mongodb的更多相关文章

  1. 阿里云服务器部署Office online注意事项

    阿里云服务器部署Office online注意事项 一.参考配置 实例规格:4核8GB(IO优化) 网络带宽:5Mbps 系统盘:40G 存储盘:200G OS:Windows Server 2016 ...

  2. 分享阿里云推荐码 IC1L2A,购买服务器可以直接打9折,另附阿里云服务器部署ASP.NET MVC5关键教程

    阿里云推荐码为:IC1L2A 阿里云还是不错滴. 以windows server 2008 R2为例,介绍如何从全新的服务器部署MVC5 站点. 新购买的阿里云服务器是没有IIS的,要安装IIS: 控 ...

  3. 怎么在阿里云服务器部署多个tomcat

    部署前准备: 1.到阿里云官网购买一台服务器 2.给阿里云服务器挂盘,阿里云有教程这里不讲解,自己看. Linux 系统挂载数据盘 视频:Linux服务器挂载数据盘 3.下载tomcat  http: ...

  4. 【Linux】阿里云服务器部署--禅道

    Xshell部署环境 回到Xshell界面,连上阿里云服务器,参考上一篇[linux学习1-Xshell连接阿里云ECS服务器](https://www.cnblogs.com/yoyoketang/ ...

  5. 如何在阿里云服务器部署Django

    这段时间一直在搞我的网站——大学易,一个大学生评课网站,主要是提供课程的详尽信息(比如老师会不会经常点名,有没有期中考试),课程资料的下载等等. 这篇文章主要是分享给那些菜鸟,就是像我一样完全没有搞过 ...

  6. 阿里云服务器部署Tornado应用指南

    本篇详细介绍tornado应用部署到阿里云服务器上的全过程. Tornado程序地址:github https://github.com/ddong8/ihasy.git 准备工作:阿里云服务器Cen ...

  7. Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

    最近接外包,需要部署服务器,便是参考了网上的几篇博文,成功在阿里云服务器成功部署了Spring Boot项目,特记下本篇笔记 Spring Boot项目打包 这里说一下部署的一些问题 1.mysql驱 ...

  8. 阿里云服务器部署Tornado应用

    本篇详细介绍tornado应用部署到阿里云服务器上的全过程. Tornado程序地址:github https://github.com/ddong8/ihasy.git 准备工作:阿里云服务器Cen ...

  9. 阿里云服务器部署Web环境

    一.配置阿里云服务器 进入阿里云官方网站(https://www.aliyun.com/). 初次使用的话使用支付宝快速注册账户,并进行个人实名认证. 点击试用中心. 选择第二个,云服务器2核4G. ...

随机推荐

  1. YsoSerial 工具常用Payload分析之CC5、6(三)

    前言 这是common-collections 反序列化的第三篇文章,这次分析利用链CC5和CC6,先看下Ysoserial CC5 payload: public BadAttributeValue ...

  2. 使用adb如何批量给设备安装apk

    win系统 1.首先我们需要在本地建一个文件夹apks,然后把所要安装的apk放进去 2.打开dos窗口使用for循环进行安装即可(前提你的电脑已经连接上了设备,输入adb devices可查看) f ...

  3. (Opencv06)绘制轮廓函数

    (Opencv06)绘制轮廓函数 cv2.drawContours(image, contours, contourIdx, color, thickness) img: 指在哪副图像上绘制轮廓 会改 ...

  4. Blazor 路由及导航开发指南

    翻译自 Waqas Anwar 2021年4月2日的文章 <A Developer's Guide To Blazor Routing and Navigation> [1] 检查传入的请 ...

  5. Java面向对象09——super

    Super  main ​ package oop.demon01.demon05; ​ public class Application {     public static void main( ...

  6. Maven 基础标签之版本管理和冲突解决

    前言 我们在做java项目的时候由于jar包太多,我们就需要使用maven做项目管理,管理项目的jar包依赖,包括打包上线 maven基础 Maven 是一个项目管理工具,主要用于项目构建,依赖管理, ...

  7. 易语言效率与C++究竟差多少(质数和计算)

    文本首发bIlibili,cnblogs为作者补发,如在其他平台看见本文,均为经允许的盗窃 易语言作为款主打 中文 易用 编程的开发软件.但是很多人都在批评易语言的效率. 我们今天通过 质数和计算 来 ...

  8. POI解析excel,将批量数据写入文件或数据库

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  9. 4、关于numpy.random.seed()的使用说明

    定义:seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差 ...

  10. RPM包方式安装Oracle21c的方法

    RPM包方式安装Oracle21c的方法 前言 北京时间2021.8.14 Oracle发布了最新的数据库版本Oracle21c, Oracle规划不再发布Oracle20c和Oracle22c, 直 ...