Nodejs+MongoDB搭建安卓应用服务器

本文介绍了如何在Linux 18.04环境下,利用Nodejs和MongoDB搭建安卓应用服务器。首先,详细讲述了Nodejs和MongoDB的安装步骤。接着,通过后台运行MongoDB服务和管理Shell服务,确保MongoDB正常工作。然后,提到了使用node server.js运行服务器代码。在安卓端,通过retrofit2和okhttp与服务器进行交互,注意在本地测试时需使用10.0.2.2作为服务器地址。最后,提供了项目的GitHub链接。
摘要由CSDN通过智能技术生成

Nodejs+MongoDB搭建安卓应用服务器

服务器环境:Linux18.04

  • 安装Nodejs
apt install nodejs
  • 安装MongoDB
    在这里我们需要从官网下载一个安装包 官网
    我选择的是tgz后缀的压缩包,

    • 解压

      tar -zxvf xx.tgz                                   # 解压
      
      mv  xx/ /usr/local/mongodb 		#拷贝到指定目录
      
    • 添加路径

      export PATH=/usr/local/mongodb/bin:$PATH
      
    • 创建数据库目录
      /data/db是MongoDB的默认启动数据库路径

      mkdir -p /data/db
      
    • 运行MongoDB服务
      通过以下命令运行服务

      mongod
      
    • 后台管理Shell运行
      需要进入到MongoDB的安装目录然后运行

      cd /usr/local/mongodb/bin
      mongo
      

    倘若我们的服务器是只有Shell界面的,按照以上办法运行了后台服务以后就不能启动MongoDB的Shell服务了,在这里我想到了操作系统的多进程的知识,初步的想法是将MongoDB后台服务运行在后台进程,然后再运行MongoDB的Shell,具体实现如下:

  • 开启MongoDB后台服务

    mongod --fork --logpath <1> --dbpath <2>
    

    这里<1>代表MongoDB日志文件的位置,<2>表示数据的存储目录,在运行命令之前最好把这两个路径的文件先建好。

  • 关闭MongoDB后台服务

    mongo
    use admin
    db.shutdownServer()
    

    先通过mongo命令进入mongod命令行,然后切换到管理员模式,最后关闭服务器。
    关闭服务的第二种方式是指定数据存储目录

    mongod --shutdown --dbpath <数据存储目录>
    
  • 运行服务器代码

    let mongodb = require('mongodb');
    let express = require('express');
    let bodyParser = require('body-parser');
    
    let app = express();
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({extended: true}));
    
    let MongoClient = mongodb.MongoClient;
    
    let url = "mongodb://localhost:27017";
    
    MongoClient.connect(url, {useNewUrlParser: true}, function(err, client) {
      if(err) {
        console.log('error');
      } else {
        app.post('/login', (require, response, next) =>{
          let post_data = require.body;
          let username = post_data.username;
          let password = post_data.password;
    
          let db = client.db('local');
          db.collection('phone').find({'username':username}).count(function(err, number) { 
            if(number == 0) {
              response.json("user_not_exist");
            } else {
              db.collection('phone').findOne({'usernam
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值