部署上线一个node服务器

2,080 阅读1分钟

购买的是ali云轻量应用服务器node.js版本

总结一下各项配置,以及其中遇到的问题:

1. 准备工作

  • 打包好的前端代码,后台node代码
  • Xshell,Xftp安装,Xshell新建会话登录ali云服务器
  • 上传后台代码node到服务端/root目录,服务端/root目录下安装MongoDB数据库,
  • 使用和本地启动数据库一样的办法打开数据库(修改对应路径即可)
// 根据以下链接包含的链接输入Xftp查找一下,理解一下便知原理
mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/log/mongodb.log --fork
// mongodb添加json文件到数据库方法
// test 库名
// user 集合名
mongoimport --db test --collection user --file /root/static/mock/city.json

注意两个问题:数据库标识和新url转义方法

// app.js
//链接数据库
var dataUrl = 'mongodb://120.79.XX.XX:27017/mall' // data must be a string报错,需要指定数据库标识,如这里的mall
mongoose.connect(dataUrl, {useNewUrlParser:true}, function (err, res) {  
// 要使用{useNewUrlParser:true},不能也会报错,大概是因为要使用新的url转义方法
    if(err){
        console.log("数据库连接失败!");
        console.log(err, "err")
    }else{
        console.log("数据库连接成功!");
    }
});
  • 使用node.app.js启动node一次性服务(也可以使用pm2 start app.js启动自动在线服务)

2. 打开浏览器访问前端静态文件

http协议默认80端口,所以使用node监听80端口,这样80端口不用写,美观一些

http.listen(80, function(){
    console.log('listening on *:80');
});

// 访问默认80端口直接重定向到想要访问的文件
app.get('/', (req, res) => {
    res.redirect('/web/index.html')
})