阿里云轻量应用服务器Node自动启动和MongoDB自动启动
前言
十一休息的时候趁着给女朋友做库存系统的机会,研究了一下阿里云的轻量服务器,因为我本事是做前端开发,所以就考虑了服务端用的Node.js,数据库用的MongoDB。
从购买服务器到部署项目的过程就不讲了,网上有很多例子。我主要说下我在做自启动和MongoDB远程访问时遇到的问题。
MongoDB自动启动
由于我的是Node项目,所以要先启动数据库,然后服务才能连接运行。
注:我用了X-shell进行远程连接,X-ftp进行文件上传,版本都是6
- 连接服务器后输入:
vim /etc/rc.local
打开启动后运行的配置文件 - 输入
i
进行文件编辑,在底部添加代码:/usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/log/mongodb.log --logappend
(因为是自己用,我没有加auth验证)。如下图:
注:如果底部还有其他自启动命令,需要在上面一行的尾部加上&
esc
退出编辑,:wq
保存并退出。- 输入
chmod +x /etc/rc.d/rc.local
,然后重新启动服务器。 - 重新连接服务器,输入
netstat -an| grep 27017
查看MongoDB是否自启动。
想远程连接数据库时,MongoDB默认内网连接IP是 0.0.0.0 ,不用再设置
MongoDB远程连接
想要远程连接需要把对应端口的防火墙打开,我在服务器上打开了27017,但是远程连接不上,然后在阿里云的控制台把27017的防火墙添加了进去就可以了:
Node自动启动
Node自动启动,我用的是pm2来进行管理。
npm install -g pm2
全局安装pm2pm2 start /root/zhu/app.js
后台运行服务(以npm运行:pm2 start npm – run dev)pm2 list
显示所有进程状态
pm2 stop 0
停止指定的进程
然后可以重启服务器试试服务有没有自动启动。