|
在阿里云上买了个服务器,部署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
运行
-
在/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启动异常
来源:https://www.cnblogs.com/zhuyutang/p/15218814.html |