阿里云轻量应用服务器Node自动启动和MongoDB自动启动

阿里云轻量应用服务器Node自动启动和MongoDB自动启动

前言

十一休息的时候趁着给女朋友做库存系统的机会,研究了一下阿里云的轻量服务器,因为我本事是做前端开发,所以就考虑了服务端用的Node.js,数据库用的MongoDB。
从购买服务器到部署项目的过程就不讲了,网上有很多例子。我主要说下我在做自启动和MongoDB远程访问时遇到的问题。

MongoDB自动启动

由于我的是Node项目,所以要先启动数据库,然后服务才能连接运行。

注:我用了X-shell进行远程连接,X-ftp进行文件上传,版本都是6

  1. 连接服务器后输入:vim /etc/rc.local 打开启动后运行的配置文件
  2. 输入i 进行文件编辑,在底部添加代码:/usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/log/mongodb.log --logappend (因为是自己用,我没有加auth验证)。如下图:

阿里云轻量应用服务器Node自动启动和MongoDB自动启动

注:如果底部还有其他自启动命令,需要在上面一行的尾部加上&

  1. esc退出编辑,:wq保存并退出。
  2. 输入chmod +x /etc/rc.d/rc.local,然后重新启动服务器。
  3. 重新连接服务器,输入netstat -an| grep 27017查看MongoDB是否自启动。
    阿里云轻量应用服务器Node自动启动和MongoDB自动启动

想远程连接数据库时,MongoDB默认内网连接IP是 0.0.0.0 ,不用再设置

MongoDB远程连接

想要远程连接需要把对应端口的防火墙打开,我在服务器上打开了27017,但是远程连接不上,然后在阿里云的控制台把27017的防火墙添加了进去就可以了:
阿里云轻量应用服务器Node自动启动和MongoDB自动启动

Node自动启动

Node自动启动,我用的是pm2来进行管理。

  1. npm install -g pm2 全局安装pm2
  2. pm2 start /root/zhu/app.js 后台运行服务
  3. pm2 list 显示所有进程状态
    阿里云轻量应用服务器Node自动启动和MongoDB自动启动
  4. pm2 stop 0 停止指定的进程
    然后可以重启服务器试试服务有没有自动启动。