8

优雅的在一台vps(云主机)上面部署mongodb

在本地开发:

vue项目使用8080端口
mongodb使用是27017端口
express :3000

在本地开发时使用:

在config/index.js 配置解决了vue本地开发跨域问题
proxyTable: {
      '/users' : {
        target: 'http://localhost:3000'
      },
      '/users/*' : {
        target: 'http://localhost:3000'
      },
    },

然而上线部署的时候这些端口怎么配合调用呢,怎么配置代理?

首先安装mongodb

在服务器上安装mongodb

需要在服务器上面创建 规定的文件
创建文件夹的shell命令

mkdir -p mongodb/{mongo,mlog}

会创建对应的文件

安装mongodb服务

在centos系统上面:(需要分别按照客户端和服务端)

yum install mongodb -y
yum install mongodb-server -y
在Ubuntu上面
apt-get install mongodb -y
创建一个mongodb.conf

我在 /root/config/mongodb.conf

port=27017 #指定端口
fork=true #后台运行
dbpath=/root/mongodb/mongo #规定数据库的位置
logpath=/root/mongodb/mlog/mongodb.log #规定数据库的日志文件
#slave=true #声明从
#source=123.207.172.26:27018 #规定从属于哪个ip  注意:ip是主服务器的  最好用内网ip
# bind_ip=127.0.0.1,192.168.0.4 #允许的地址 为了安全
nohttpinterface=true #禁止http访问
启动方式:

mongod -f mongodb.conf
我的启动方式 mongod -f /root/config/mongodb.conf

下面信息说明,mongodb正则启动写入初始化数据 需要等待一会,切记不要关掉窗口

about to fork child process, waiting until server is ready for connections.
forked process: 12566
all output going to: /root/mongodb/mlog/mongodb.log

出现这句话,表示mongodb安装成功

child process started successfully, parent exiting

更改防火墙配置

vim /etc/iptables.rules

> 添加以下配置
-A INPUT -p tcp -m tcp --dport 27017 -j DROP

如果是阿里云的专有网络请去添加安全组配置规则

允许    自定义 TCP    
27017/27017    地址段访问    
0.0.0.0/0
测试:

服务器测试:

mongo  
show dbs;

使用远程测试
mongoBooster 桌面工具测试远程连接(没有禁止掉远程连接的情况)

在mongodb.conf配置文件添加可以禁止远程

# bind_ip=127.0.0.1,192.168.0.4 #允许的地址 为了安全

部署 vue express 稍后会写


西树先森
7.1k 声望926 粉丝

从事开发多年,前端、后端(go、Python、php)、服务架构都有涉猎,经历过大公司、创业公司,擅长前端及公司技术选型。