クラウドサーバにnodejs環境を配置する
クラウドサーバにnodejs環境を配置する
インストール依存はnvmをインストールします.同じマシンに異なるバージョンのnodeをインストールして切り替えます. nodeルーチン(vi server.jsを使用して)を実行します. npmとpm 2モジュール をインストールします.
コマンド
作用
p 2 start server.js
Serverプログラムを起動します.この時は別に端末を開く必要がなく、3000ポートはずっと傍受しています.
pm 2リスト
現在実行中のnodeプログラムを表示します.
p 2 show server
serverプログラムの詳細を表示します.
p 2 stop server
serverプログラムを停止します
p 2 retart server
serverプログラムを再起動します
p 2 logs
ログを見るニッグnx をインストールします.
まず、mono.co nfプロファイルを修正します.に続き、ファイアウォール27017ポート がオープンする.最後に、アリ雲の安全グループ を設置する必要があります.
参考文献:アリ雲サーバポートを開く
阿里雲ECSサーバコンソールに入り、セキュリティグループの設定を見つけて、設定規則をクリックして、セキュリティグループのルールを追加し、ポップアップのウィンドウにポート27017/27017を入力して、授権対象は0.0.0/0でいいです.
ウィジェットを配置するHTTPS環境
参考文献:1.ブログ園:Nodejs+Express作成HTTPSサーバ
Redisでユーザー登録状態をキャッシュします.
参考文献:1.ブログ園:CENTOS 7でREDIS 2.npmをインストール:redis
Express 4.xの新特性
参考文献:Moving to Express 4すべてのDependenciesに依存しているパッケージのバージョン番号を更新するのは面倒くさいので、npm-check-udatesツールを使ってpackage.jsonの依存パケットを最新バージョンに更新する必要があります. 内蔵ミドルウェア4.xバージョンを除去し、これまで内蔵していたすべてのミドルウェアを .app.co nfigureを除去する方法は、環境を検出し、対応する構成アプリケーションを
参考文献:CSDN:七牛雲外鎖は自分のドメイン名を結び付けます.
_; は参照文書3を参照してドメイン名を紐付ける前に、ドメイン名解析の概念を明らかにし、ドメイン名解析はドメイン名からIPアドレスへの変換過程である.そのうち、Aレコードはドメイン名対応のIPアドレス記録を制定することである.CNAME記録は別名指向で、IPアドレスの代わりにサブドメインを使用します.したがって、結合ドメイン名は自分の登録した二級ドメイン名を七牛のサーバーに解析することに相当します.
httpsの設定
参考文献:は、Ngix逆エージェントnodejs httpとhttps を使用する. NginxインストールSSL設定HTTPS超詳細全プロセス NFGIXサーバ証明書インストール 設定nginx.com nfはhttpのリダイレクトを定義します.
インストール依存
apt-get install git vim openssl wget curl
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
インストールしたら再起動してください.service sshd restart
nvm ls // node
nvm install 10.11.0 // node10.11.0
nvm alias default 10.11.0 // 10.11.0
vi server.js // js ,
vimコマンド:escは編集を終了します.コマンドの保存const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World
');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
node serverを実行して、3000ポートを開けて傍受して、もう一つのssh端末を開けて、ローカルポートにアクセスして、あるいは直接のバックグラウンドで実行してもいいです.node server.js >out.log 2>&1 &
アクセス結果:curl http://127.0.0.1:3000 // hello world
apt install npm
npm install pm2 -g
pm 2は負荷バランス機能付きNodeアプリケーションのプロセスマネージャです.独立コードをすべてのサーバーのCPUを利用して、プロセスが永遠に生きていることを保証します.0秒の重載はPM 2が完璧です.コマンド
作用
p 2 start server.js
Serverプログラムを起動します.この時は別に端末を開く必要がなく、3000ポートはずっと傍受しています.
pm 2リスト
現在実行中のnodeプログラムを表示します.
p 2 show server
serverプログラムの詳細を表示します.
p 2 stop server
serverプログラムを停止します
p 2 retart server
serverプログラムを再起動します
p 2 logs
ログを見る
apt install nginx
nginx -v
cd /etc/nginx/conf.d
リモート接続MongoDB 27017ポートまず、mono.co nfプロファイルを修正します.
sudo vi /etc/mongo.conf
は、bindIp:127..0.1を0.0.0.0に変更し、任意のIP接続を受け入れることを表しています. その後、MongoDBサービスを再起動します.service mongod restart
sudo ufw allow 27017
参考文献:アリ雲サーバポートを開く
阿里雲ECSサーバコンソールに入り、セキュリティグループの設定を見つけて、設定規則をクリックして、セキュリティグループのルールを追加し、ポップアップのウィンドウにポート27017/27017を入力して、授権対象は0.0.0/0でいいです.
ウィジェットを配置するHTTPS環境
参考文献:1.ブログ園:Nodejs+Express作成HTTPSサーバ
Redisでユーザー登録状態をキャッシュします.
参考文献:1.ブログ園:CENTOS 7でREDIS 2.npmをインストール:redis
Express 4.xの新特性
参考文献:Moving to Express 4
npm install -g npm-check-updates //
ncu -u // dependencies
static
を除いて個別のモジュールに分離しました.4.xの各モジュールは単独でインストールし、jsファイルに依存を導入する必要があります.//3.x
app.configure(funtcion(){
app.use(express.static(__dirname+'/public'));
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
})
//4.x
var express=require('express');
var morgan=require('morgan');//logger
var bodyParser=require('body-parser');
var methodOverride=require('method-override');
var app=express();
app.use(express.static(__dirname+'/public'));
app.use(morgan('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.use(methodOverride());
process.env.NODE_ENV
またはapp.get('env')
を使用する.//3.x
app.configure('development', function() {
// configure stuff here
});
//4.x
var env = process.env.NODE_ENV || 'development'; // set NODE_ENV=test
if ('test' == env) {
// configure stuff here
}
七つの牛雲オブジェクトは結合ドメインを記憶します.参考文献:CSDN:七牛雲外鎖は自分のドメイン名を結び付けます.
_; は参照文書3を参照してドメイン名を紐付ける前に、ドメイン名解析の概念を明らかにし、ドメイン名解析はドメイン名からIPアドレスへの変換過程である.そのうち、Aレコードはドメイン名対応のIPアドレス記録を制定することである.CNAME記録は別名指向で、IPアドレスの代わりにサブドメインを使用します.したがって、結合ドメイン名は自分の登録した二級ドメイン名を七牛のサーバーに解析することに相当します.
httpsの設定
参考文献:
server {
server_name www.clhw.xyz; #
listen 443 ssl;
ssl_certificate /root/nginx/cert/cert.crt;
ssl_certificate_key /root/nginx/cert/cert.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header X-Nginx-Proxy true;
}
}