Heim > Web-Frontend > js-Tutorial > Hauptteil

So erstellen Sie einen Miniprogramm-Hintergrunddienst in Node.js

亚连
Freigeben: 2018-06-13 18:13:44
Original
3389 Leute haben es durchsucht

Vor kurzem entwickle ich ein WeChat-Anwendungskonto-Applet. Die Hintergrunddatenschnittstelle des Applets erfordert eine sichere HTTPS-Anfrage, daher muss mein NodeJS-Server in der Lage sein, https-Unterstützung bereitzustellen.

Vorbereitungsbedingungen

Ein Server

SSL-Zertifikat, das Miniprogramm erfordert https-Protokoll

Serverhintergrund

Node.js
express
mongodb
pm2

Im Folgenden wird Tencent Cloud Host (Centos) als Beispiel genommen

Node.js installieren

yum install nodejs

Sie können auch nvm installieren und nvm verwenden, um die Nodejs-Version zu verwalten

Git installieren

yum install git

Mit der Remote-Codebasis verbinden

Nehmen Sie Github als Beispiel:

Konfigurieren Sie Benutzerinformationen

git config --global user.name youname
git config --global user.email youemail
Nach dem Login kopieren

Generieren Sie den öffentlichen SSH-Schlüssel

ssh -keygen -t rsa -C youemail

Das standardmäßig generierte Verzeichnis ist /root/.ssh
Suchen Sie die Datei id_rsa.pub im Verzeichnis. Kopieren Sie den Inhalt darin und fügen Sie ihn in Ihr eigenes ein. SSH auf Github hinzufügen

Mongodb und Client-Shell installieren

yum install mongodb-server mongodb -y

Datenbankdatei erstellen Speicherverzeichnis

mkdir -p /data/mongodb
mkdir -p /data/logs/mongodb
Nach dem Login kopieren

Starten Sie den Mongodb-Datenbankdienst

mongod --fork --dbpath /data/mongodb --logpath /data/logs/youlog.log

Hinweis:
Wenn Sie --auth nach dem Befehl hinzufügen, wann Beim Starten des Mongodb-Dienstes wird die Authentifizierung aktiviert.
Es wird empfohlen, die Authentifizierung zu aktivieren. Wenn Sie kein Meeting abhalten, werden Sie leicht gehackt.

--Port 12345 kann die Portnummer der Datenbank ändern, der Standardwert ist 27017.

--fork startet den Datenbankdienst als Daemon.

--dbpath /data/mongodb gibt das Verzeichnis an, in dem die Datenbankdateien gespeichert sind.

--logpath /data/logs/youlog.log gibt das Protokolldateiverzeichnis an.

Die Konfigurationsdatei von mongodb befindet sich standardmäßig in /etc/mongod.conf

启动客户端shell

mongo //Starten Sie die Mongodb-Client-Shell und stellen Sie eine Verbindung zur Testdatenbank her standardmäßig

Sie können Datenbankverbindungen wechseln und entsprechende Vorgänge in der Shell ausführen.

Nachdem der Cloud-Server den Datenbankdienst als Daemon gestartet hat, schließen Sie das Terminal und der Dienst wird nicht beendet. Es ist also nicht erforderlich, den Datenbankdienst das nächste Mal zu starten, sondern einfach eine direkte Verbindung herzustellen.

Schließen Sie den Datenbankdienst

mongod --shutdown (--dbpath /data/mongodb)

Wenn dbpath beim Start hinzugefügt wird und es sich nicht um das standardmäßige /data/db handelt, schließen Sie es Der Datenbankdienst dbpath sollte ebenfalls hinzugefügt werden.

https-Dienst erstellen

npm init //项目初始化

Express installieren

npm install express --save

Implementieren Sie einen einfachen https-Server

const https = require('https');
const fs = require('fs');
const express = require('express');
const app = express();

let key = fs.readFileSync('youssl.key');
let cert = fs.readFileSync('youssl.crt');

let options = {
  key : key,
  cert : cert
};

const httpsServer = https.createServer(options,app);
httpsServer.listen(443, () => {
  console.log('listening 443 port');
});

app.get('/',(req, res, next) => {
  console.log('someone request');
});
Nach dem Login kopieren

.key- und .cert-Dateien sind Ihre SSL-Zertifizierungsdateien. Am Beispiel von Tencent Cloud Host können Sie ein kostenloses 1-Jahres-SSL-Zertifikat erhalten.

Verwenden Sie Mongoose, um die Datenbank zu betreiben

npm install mongoose --save
const mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1/dbname'); //连接数据库

const connection = mongoose.connection;
connection.once('open', (err) => {
  if(err){
    console.log('Database connection failure');
  }else{
    console.log('Database opened');
  }
});

const Schema = mongoose.Schema;

const YourSchema = new Schema({
  name : String,
  age : Number,
});

const yourModel = mongoose.model('yourtable', YourSchema); //在数据库中对应的表为yourtables

let yourDoc = new yourModel({
  name : 'yourname',
  age : 18,
});
Nach dem Login kopieren

Beachten Sie, dass Sie bei Verwendung von Mongoose ein authentifiziertes Konto hinzufügen müssen, wenn Sie beim Starten des Mongodb-Datenbankdienstes --auth hinzufügen Stellen Sie eine Verbindung zur Datenbank her

mongoose.connect('mongodb://youraccount:pwd@127.0.0.1/dbname');

Korrespondenz zwischen Mongodb und relationaler Datenbank

Schema entspricht der Struktur der Tabelle. Es kann die Feldtypen des Dokuments vordefinieren und kann keine Datenbankoperationen ausführen. Das Modell kann eine Reihe von Datenbankoperationen ausführen, die Tabellen entsprechen. Eine Instanz von Model entspricht einer Zeile der Tabelle.

PM2 verwenden

PM2 installieren

npm install  -g pm2

Anwendung starten

pm2 start app.js

Das Obige habe ich für Sie zusammengestellt. Ich hoffe, es wird Ihnen in Zukunft hilfreich sein.

Verwandte Artikel:

So kompilieren, verpacken und anzeigen Sie Indexdateien in Vue

So verwenden Sie die Jade-Vorlage in Vue

Vorlage an Komponente in Angular übergeben

Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen Miniprogramm-Hintergrunddienst in Node.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!