Node.js でミニプログラム バックグラウンド サービスを構築する方法

亚连
リリース: 2018-06-13 18:13:44
オリジナル
3409 人が閲覧しました

最近、WeChat アプリケーション アカウント アプレットを開発しています。アプレットのバックグラウンド データ インターフェイスには https セキュア リクエストが必要なので、nodejs サーバーが https サポートを提供できる必要があります。次に、https サーバーの構築プロセス全体について説明します。条件を準備します

サーバー

SSL証明書、アプレットにはhttpsプロトコルが必要です

サーバーの背景

Node.js

express

mongodbpm2


以下の例としてTencent Cloud Host (centos)を取り上げます

Node.jsをインストールします

yum install nodejs

nvmをインストールし、nvmを使用してnodejsのバージョンを管理することもできます

yum install nodejs

也可以安装nvm,用nvm管理nodejs版本

安装git

yum install git

连接到远程代码库

以github为例:

配置用户信息

git config --global user.name youname
git config --global user.email youemail
ログイン後にコピー

生成ssh公钥

ssh -keygen -t rsa -C youemail

默认生成目录为 /root/.ssh
在目录中找到id_rsa.pub文件,复制里面的内容,在自己的github上添加ssh

安装mongodb和客户端shell

yum install mongodb-server mongodb -y

创建数据库文件存放目录

mkdir -p /data/mongodb
mkdir -p /data/logs/mongodb
ログイン後にコピー

启动mongodb数据库服务

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

注意:
如果在启动mongodb服务时在命令后面加上 --auth即会开启认证。
建议开启认证,如果不开会很容易被黑。

--port 12345可以改变数据库的端口号,默认是27017。

--fork是以守护进程的方式启动数据库服务。

--dbpath /data/mongodb 指定数据库文件存放的目录。

--logpath /data/logs/youlog.log 指定日志文件目录。

mongodb的配置文件默认在 /etc/mongod.conf

启动客户端shell

mongo //启动mongodb客户端shell 默认连接test数据库

在shell里可以切换数据库连接,和进行相关操作。

在云服务器以守护进程的方式启动一次数据库服务之后,关闭终端,服务也不会被终止。所以下次不用再启动数据库服务,直接连接就可以。

关闭数据库服务

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

如果启动时加了dbpath而且不是默认的/data/db ,则关闭数据库服务时也应加上dbpath。

创建https服务

npm init //项目初始化

安装express

npm install express --save

实现简单的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');
});
ログイン後にコピー

.key和.cert文件为你的ssl认证文件,以腾讯云主机为例,可以有免费1年的ssl证书。

使用mongoose操作数据库

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,
});
ログイン後にコピー

注意 如果启动mongodb数据库服务时加上了--auth 则使用mongoose连接数据库时,要加上认证的账户

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

mongodb与关系型数据库的对应关系

Schema相当于表的结构,可以预定义文档的字段类型,不能进行数据库操作。 Modle可以进行一系列数据库操作,相当于表。Model的实例就相当于表的一行。

使用pm2

安装pm2

npm install  -g pm2

启动应用

pm2 start app.js

gitをインストールします

yum install git code>

リモートコードベースに接続しますgithubを例に挙げます:

ユーザー情報を設定するrrreee

ssh公開鍵を生成する

ssh -keygen -t rsa -C youemail

🎜デフォルトで生成されるディレクトリは/root/.sshです🎜ディレクトリ内でid_rsa.pubファイルを見つけ、その中のコンテンツをコピーし、githubにsshを追加します🎜🎜🎜mongodbとクライアントシェルをインストールします🎜🎜🎜yum install mongodb-server mongodb -y🎜🎜データベースファイル格納ディレクトリの作成🎜rrreee🎜🎜mongodbデータベースサービスの開始🎜🎜🎜mongod --fork --dbpath /data/mongodb --logpath /data/logs/ youlog.log 🎜🎜注: 🎜mongodb サービスを開始するときにコマンドの後に --auth を追加すると、認証がオンになります。 🎜会議を開催しないとハッキングされやすくなりますので、認証を有効にすることをお勧めします。 🎜🎜 -- ポート 12345 はデータベースのポート番号を変更できます。デフォルトは 27017 です。 🎜🎜 --fork はデータベース サービスをデーモンとして開始します。 🎜🎜--dbpath /data/mongodb は、データベース ファイルが保存されているディレクトリを指定します。 🎜🎜 --logpath /data/logs/youlog.log は、ログ ファイル ディレクトリを指定します。 🎜🎜mongodbの設定ファイルはデフォルトで/etc/mongod.confにあります🎜🎜<code>クライアントシェルを起動します🎜🎜mongo //mongodbクライアントシェルを起動し、デフォルトでテストデータベースに接続します🎜🎜シェルでデータベース接続を切り替え、関連する操作を実行できます。 🎜🎜クラウドサーバーがデータベースサービスをデーモンとして起動した後、ターミナルを閉じてもサービスは終了しません。したがって、次回からデータベース サービスを開始する必要はなく、直接接続するだけです。 🎜🎜🎜データベースサービスを閉じます🎜🎜🎜mongod --shutdown (--dbpath /data/mongodb)🎜🎜起動時にdbpathが追加され、それがデフォルトの/data/dbではない場合は、閉じますデータベース サービスの dbpath も追加する必要があります。 🎜🎜🎜httpsサービスを作成する🎜🎜🎜npm init //プロジェクトの初期化🎜🎜🎜expressをインストールする🎜🎜🎜npm installexpress --save🎜🎜簡単なhttpsサーバーを実装する🎜rrreee🎜.key および .cert ファイルは SSL 証明書ファイルです。Tencent Cloud Host を例に挙げると、1 年間無料の SSL 証明書を取得できます。 🎜🎜🎜データベースを操作するにはmongooseを使用してください🎜🎜rrreee🎜mongodbデータベースサービスを開始するときに--authを追加した場合、mongooseを使用してデータベースに接続するときに認証されたアカウントを追加する必要があることに注意してください🎜🎜mongoose.connect ('mongodb:/ /youraccount:pwd@127.0.0.1/dbname');🎜🎜mongodbとリレーショナルデータベースの対応関係🎜🎜スキーマはテーブルの構造に相当し、フィールドタイプを事前に定義できます。ドキュメントの内容が変更されているため、データベース操作を実行できません。モジュールはテーブルと同等の一連のデータベース操作を実行できます。 Model のインスタンスはテーブルの行に相当します。 🎜🎜🎜pm2を使用する🎜🎜🎜pm2をインストールする🎜🎜npm install -g pm2🎜🎜アプリケーションを起動する🎜🎜pm2 start app.js🎜🎜上記は私が行ったものですはい、今後皆さんのお役に立てば幸いです。 🎜🎜関連記事: 🎜🎜🎜vueでインデックスファイルをコンパイル、パッケージ化、表示する方法🎜🎜🎜🎜vueでJadeテンプレートを使用する方法🎜🎜🎜🎜Angularのコンポーネントにテンプレートを渡す🎜🎜

以上がNode.js でミニプログラム バックグラウンド サービスを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート