ubuntu虚拟机mongodb启动和端口映射
环境:
ubuntu 14.04.1
mongodb v3.4.1
虚拟机连接模式为nat连接
一、mongodb启动问题
更新了一下内核之后,在运行mongodb的时候出现了29 Data directory /data/db not found.的错误,时间久了不记得安装的配置了orz
查了一些资料,这里是因为mongodb默认的dbpath是/data/db,这个目录只能用root用户创建,创建后在权限上也比较麻烦,所以这里采用
sudo mongod --dbpath /var/lib/mongodb/data/db,启动时带参数,将dbpath设定到其它目录
如果启动失败可能是在/var/lib/mongodb/或者/var/lib/mongodb/data/db/下有.lock文件,用root用户删掉就好
启动成功可以在进程看到
二、端口映射
mongodb启动成功后运行node项目,端口为3003
端口映射使用iptables命令
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3003
-t:选择要操作的表
-A:添加规则名字,PREROUTING用于目标地址转换
-p:指定要匹配的数据包类型
--dport:请求的端口
-j:动作,REDIRECT表示重定向、映射、透明代理
--to-port:要转到的端口
添加成功后使用 sudo iptables -t nat -L 查看
我本地主机是win7,在hosts文件添加一条解析(直接用ip也能访问
浏览器输入www.ubuntu.ameng.com即可访问