Maison > interface Web > js tutoriel > le corps du texte

Comment créer un service d'arrière-plan de mini-programme dans Node.js

亚连
Libérer: 2018-06-13 18:13:44
original
3390 Les gens l'ont consulté

Récemment, je développe une applet de compte d'application WeChat. L'interface de données d'arrière-plan de l'applet nécessite une requête sécurisée https, donc mon serveur nodejs doit être capable de fournir un support https. 🎜 >

Conditions de préparation

Un serveur

Certificat SSL, le mini programme nécessite le protocole https

Arrière-plan du serveur

Node.jsexpress
mongodb
pm2

Ce qui suit prend Tencent Cloud Host (centos) comme exemple

Installer Node.js

yum install nodejs

Vous pouvez également installer nvm et utiliser nvm pour gérer la version de nodejs

Installer git

yum install git

Connectez-vous à la base de code distant

Prenez github comme exemple :

Configurez les informations utilisateur

git config --global user.name youname
git config --global user.email youemail
Copier après la connexion

Générer la clé publique ssh

ssh -keygen -t rsa -C youemail

Le répertoire généré par défaut est /root/.ssh

Trouvez le fichier id_rsa.pub dans le répertoire, copiez le contenu et ajoutez ssh à votre propre github

Installez mongodb et le shell client

yum install mongodb-server mongodb -y

Créez un répertoire de stockage de fichiers de base de données

mkdir -p /data/mongodb
mkdir -p /data/logs/mongodb
Copier après la connexion

Démarrez le service de base de données mongodb

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

Remarque :

Si vous ajoutez --auth après la commande lorsque en démarrant le service mongodb, il sera activé Certification.
Il est recommandé d'activer l'authentification. Si vous ne tenez pas de réunion, vous serez facilement piraté.

--port 12345 peut changer le numéro de port de la base de données, la valeur par défaut est 27017.

--fork démarre le service de base de données en tant que démon.

--dbpath /data/mongodb spécifie le répertoire où sont stockés les fichiers de la base de données.

--logpath /data/logs/youlog.log spécifie le répertoire du fichier journal.

Le fichier de configuration de mongodb est dans /etc/mongod.conf par défaut

启动客户端shell

mongo //Démarrez le shell client mongodb et connectez-vous à la base de données de test par défaut

Vous pouvez changer de connexion à la base de données et effectuer les opérations associées dans le shell.

Une fois que le serveur cloud a démarré le service de base de données en tant que démon, fermez le terminal et le service ne sera pas terminé. Il n’est donc pas nécessaire de démarrer le service de base de données la prochaine fois, il suffit de vous connecter directement.

Fermez le service de base de données

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

Si dbpath est ajouté au démarrage et qu'il ne s'agit pas du /data/db par défaut, fermez le service de base de données dbpath doit également être ajouté.

Créer un service https

npm init //项目初始化

Installer express

npm install express --save

Implémentez un simple serveur https

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');
});
Copier après la connexion
Les fichiers .key et .cert sont vos fichiers de certification SSL. En prenant Tencent Cloud Host comme exemple, vous pouvez bénéficier d'un certificat SSL gratuit d'un an.

Utilisez mangouste pour faire fonctionner la base de données

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,
});
Copier après la connexion
Notez que si --auth est ajouté lors du démarrage du service de base de données mongodb, l'authentification doit être ajoutée lors de l'utilisation de mangouste pour se connecter à la base de données. Compte

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

Correspondance entre mongodb et la base de données relationnelle

Le schéma est équivalent à la structure de la table. le document et ne peut pas effectuer d'opérations de base de données. Le modèle peut effectuer une série d'opérations de base de données, équivalentes aux tables. Une instance de Model équivaut à une ligne du tableau.

Utiliser pm2

Installer pm2

npm install  -g pm2

Lancez l'application

pm2 start app.js

Ce qui précède est ce que j'ai compilé pour vous. J'espère qu'il vous sera utile à l'avenir.

Articles connexes :

Comment compiler, empaqueter et afficher des fichiers d'index dans vue

Comment utiliser le modèle Jade dans vue

Passer le modèle au composant dans Angular

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!