最近、WeChat アプリケーション アカウント アプレットを開発しています。アプレットのバックグラウンド データ インターフェイスには https セキュア リクエストが必要なので、nodejs サーバーが https サポートを提供できる必要があります。次に、https サーバーの構築プロセス全体について説明します。条件を準備します
サーバー
SSL証明書、アプレットにはhttpsプロトコルが必要ですサーバーの背景
Node.js
expressmongodbpm2
以下の例としてTencent Cloud Host (centos)を取り上げます
Node.jsをインストールします
yum install 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
yum install git code>
リモートコードベースに接続しますgithubを例に挙げます:
ユーザー情報を設定するrrreee
ssh公開鍵を生成するssh -keygen -t rsa -C youemail
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 サイトの他の関連記事を参照してください。