Nodejsプロジェクトサーバの配置
5044 ワード
慕課のネットの課程《Nodejs最後の1キロメートル》の記録の筆記によって、主にプロジェクトのサーバーの配置の流れを理解します.
1.プロジェクト準備
1.自分のドメイン名を購入する2.自分のサーバーを購入する3.ドメイン名の登録4.サーバのアプリケーション環境(ユーザの権限、パスワードの登録、Nodejs環境、カバンとコンポーネントのインストール、ポートの転送、SSH証明書の生成と配置、Ngixのインストールと配置、ファイアウォール、データベース、自動バックアップのメカニズムなど)を設定する5.配置データベースをインストールする(ローカルデータベースとクラウドデータベースがあります.)(データベースはデータベースの役割、データベースの読み書き権限、自動バックアップのメカニズムに関連しています.)6.プロジェクトの遠隔配置分布と更新
2.リモートログインサーバ
ドメイン名サーバーと登録ドメイン名を選択してください.
fdisk-lディスクの現在のパーティション情報df-hを調べて、ハードディスクの使用コマンドを確認します.
rootの権限とユーザーの追加:私達はずっとrootユーザーを使うことができなくて、安全ではありませんて、私達は多くのユーザーを添加することができて、それからユーザーのために権限を設定します.
sshにパスワードが登録されていません.ローカルに秘密鍵と公開鍵を生成します.ローカルにサーバに送信された公開鍵と鍵アルゴリズムの対比――」が登録されました.
ローカルがすでに設定されているかどうかを確認します.システムのルートディレクトリに入り、ls-aはすべてのファイルを調べて、あるかどうかを確認します.sshファイルは、入ってからファイルが存在すると設定されています.
設定.sshの鍵と公開鍵:mkdir.shh、そしてフォルダに入り、ssh-keygen-t ras-b 4096-Cを実行します[email protected]「その後車に戻り、パスワードを設定すればいいです.
オープン.sshエージェント:eval"$を実行します.
.sshは代理の中に参加することができます.ssh-add~/.ssh/dursaを実行します.
公開鍵をサーバーに転送します.サーバーも同じように設定します.ssh、プロキシをオンして、プロキシに参加した後、サーバー設定authorizedukeyesはローカルの公開鍵を中にコピーしてもいいです.
SSHはもっと見ることができます.http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
3.サーバのセキュリティレベルを強化する
サービス変更サーバの22ポートを変更し、パスワード登録をキャンセルし、サーバの解読の難しさを高め、IPTablesファイアウォールルールを配置し、Fail 2 Banを通じてサーバの防御動作を強化し、サーバのセキュリティ係数を向上させ、オンラインサーバ全体に対して各種のセキュリティ保護を行うブースターの22ポートを削除し、パスワード登録をキャンセルし、サーバのクラックを増大させる.
サーバのデフォルト登録ポートを変更します.
iptablesとFail 2 Banを配置し、安全防護を強化する.
SSHは、クライアントとサービス端末のソフトウェアから構成されており、クライアントで使用できるソフトはSecureCRT、putty、Xshellなどがありますが、サーバー側で実行されるのはsshdのサービスです.sshdの配置ファイルの位置は、SSHを使用することにより、伝送されたデータをすべて暗号化し、dnsとIPの転送を防ぐことができます.圧縮されたもので、伝送速度が速くなります.
デフォルトのポートを変更します./etc/ssh/sshduconfigのパスでも変更します.
sshuconfigとsshduconfigは共にsshサーバの配置ファイルであり、前者はクライアントに対する配置ファイルであり、後者はサービス端末に対する配置ファイルであるという違いがあります.
4.Nodejs環境を構築する
UbunbaサーバーではnvmでNodejsバージョンをインストールして管理しています.また、nvmグローバルモジュールの使用中に発生する問題解決の考え方について、PM 2をインストールして、PM 2の基本的な使用とその生産環境の中の役割を簡単に紹介しています.
pm 2を介してNodejsサービスを常駐させます.
tee命令は、標準入力装置からデータを読み出し、その内容を標準出力装置に出力し、ファイルに保存します.
5.Nginxを構成し、逆代理を実現する.
Nginnxのup streamをインストールして配置し、ポートのマッピングをバックグラウンドのNodejsサービスに転送し、サービスの識別と転送を実現します.
Ngix逆エージェントNodejsポートを設定します.
Linuxシステムは主に起動ステップ:1.MBRの情報を読み取り、Boot Managerを起動します.2.システムカーネルをロードして、initプロセスを起動します.initプロセスはLinuxのルートプロセスです.すべてのシステムプロセスはそのサブルーチンです.3.initプロセスは/etc/inittabファイルの情報を読み取り、設定された実行レベルに入ります.通常は/etc/S.rc/rc/rcまず実行され、その後は/etc/rc.d/ディレクトリです.4.etc/rcs.d/フォルダに対応するスクリプトからXwindowサーバxorgを起動し、XwindowはLinuxの下のグラフィカルユーザーインターフェースシステムです.5.ログインマネージャを起動し、ユーザ登録を待つ.
6.DNSPodでドメイン名の解析を管理する
ドメイン名のDNSルートサーバを変更して、ドメイン名のために新しい解析プラットフォームを指定して、統一的に管理します.異なる解析タイプを学習して、複数の解析規則を追加して、異なる種類のリソースとサービス構成Aの記録とCNAMEです.
ドメイン名のDNSルートサーバを変更します.
解析項目のドメイン名A記録とCNAMEを設定します.
7.データベース配置にMongoDBを取り付ける
Ubuntu 14.04にMongoDBの特定バージョンのインストールを加速し、mogodump mogoretore mogoretor mogoexport mogoimportを使用して単フォームライブラリの導入を実現し、オンライン遠隔管理からMongodbの読み書きとバックアップ権限を配置し、生産環境下でサーバ間のデータ移動の流れを実現し、システムcrontab bashスクリプトmongodumpとバックアップ役を結合してタイミングを実現します.バックアップ
Ubuntu 14.04にMongoDBを取り付けます.
オンラインMongoDBに単表データまたはデータベースを導入する.
オンラインプロジェクトのためにMongoDBデータベースの読み書き権限を設定します.
一台のサーバーから別のオンラインMongoDBにデータを移行します.
データベースのタイミングバックアップを実現します.
アップロードデータベースを7牛の私有クラウドにバックアップします.
8.正式にサーバにオンラインノードのプロジェクトを展開し、発表する
無料Gitプライベート倉庫プラットフォーム管理プロジェクトのソースコードバージョンを利用して、ローカルおよびサーバーのPM 2からアプリケーションのオンラインディレクトリを初期化し、一つのコマンドでサーバとの通信を実現し、自動的にコードを取得し、自動的に再起動し、それぞれ5つのプロジェクトの展開オンラインプロセスをデモします.
8.1プロジェクトコードをオンラインプライベートGit倉庫にアップロードする
8.2 PM 2を配置してオンラインプロジェクト構造を配置する
PM 2概要:
PM 2はnodeプロセス管理ツールであり、これを利用して多くのnodeアプリケーション管理の煩雑なタスクを簡略化することができます.例えば、性能モニタ、自動再起動、負荷バランスなど、しかも非常に簡単に使用できます.
主な特性内に負荷バランスを構築する(Node clusterクラスタモジュールを使用する) バックグラウンド運転 秒で停止しました.アップグレードを維持する時は停止しないという意味です. は、UbuntuとCentOSの起動スクリプト を有する.不安定なプロセスを停止する(無限ループを避ける) コンソール検出 は、HTTP API を提供する.遠隔制御及びリアルタイムインターフェースAPI(Nodejsモジュール、PM 2プロセスマネージャとの対話が可能) 詳細を表示:https://segmentfault.com/a/1190000002539204 https://segmentfault.com/a/1190000006793571
8.3ローカルからオンラインとサーバのNodejsプロジェクトを更新する.
8.4映画サイトを展開し、オンラインMongoDBに接続する
8.5 React Native AppオンラインAPIサービスを展開する
8.6マイクロクレジットネットワークAPIサービスの展開
8.7マイクロクレジット公開番号プロジェクトのバックグラウンドを配置する
9.より安全なHTTPSプロトコルの使用と配置
SSL証明書の種類とセキュリティ等級が違っています.SSLを無料で提供するプラットフォーム申請とサーバー上にNgixを通して証明書検証モジュールを配置します.最後にまとめました.私たちは実際のローカルノードJsプロジェクトを学習し、理解しました.どのように展開されているのか、実際のサーバ生産環境はどのように配置されているのか、フロントエンドとバックエンドの最後の一環です.ドメイン名とサーバーを通してどうやって連絡したらいいですか?また必要な安全…
9.1オプションでSSL証明書を申請するいくつかの提案:
SSL証明書は検証レベルによって、三つのタイプに分けられています.すなわち、ドメイン名型SSL証明書は、DVSSLと略称します.企業型SSL証明書は、OVSSLと略称します.拡張型SSL証明書は、EVSSLと略称します.詳細情報は参照できます.https://blog.csdn.net/m0_37941906/article/details/80679693?utm_source=blogxgwz9
9.2クラウドプラットフォームは無料証明書とNFGIX配置を申請します.
SSL申請プラットフォーム:また雲、騰訊雲、七牛、阿里雲を撮ります.
9.3運維の安全と対応の考え方について話してください.
1.プロジェクト準備
1.自分のドメイン名を購入する2.自分のサーバーを購入する3.ドメイン名の登録4.サーバのアプリケーション環境(ユーザの権限、パスワードの登録、Nodejs環境、カバンとコンポーネントのインストール、ポートの転送、SSH証明書の生成と配置、Ngixのインストールと配置、ファイアウォール、データベース、自動バックアップのメカニズムなど)を設定する5.配置データベースをインストールする(ローカルデータベースとクラウドデータベースがあります.)(データベースはデータベースの役割、データベースの読み書き権限、自動バックアップのメカニズムに関連しています.)6.プロジェクトの遠隔配置分布と更新
2.リモートログインサーバ
ドメイン名サーバーと登録ドメイン名を選択してください.
fdisk-lディスクの現在のパーティション情報df-hを調べて、ハードディスクの使用コマンドを確認します.
rootの権限とユーザーの追加:私達はずっとrootユーザーを使うことができなくて、安全ではありませんて、私達は多くのユーザーを添加することができて、それからユーザーのために権限を設定します.
sshにパスワードが登録されていません.ローカルに秘密鍵と公開鍵を生成します.ローカルにサーバに送信された公開鍵と鍵アルゴリズムの対比――」が登録されました.
ローカルがすでに設定されているかどうかを確認します.システムのルートディレクトリに入り、ls-aはすべてのファイルを調べて、あるかどうかを確認します.sshファイルは、入ってからファイルが存在すると設定されています.
設定.sshの鍵と公開鍵:mkdir.shh、そしてフォルダに入り、ssh-keygen-t ras-b 4096-Cを実行します[email protected]「その後車に戻り、パスワードを設定すればいいです.
オープン.sshエージェント:eval"$を実行します.
.sshは代理の中に参加することができます.ssh-add~/.ssh/dursaを実行します.
公開鍵をサーバーに転送します.サーバーも同じように設定します.ssh、プロキシをオンして、プロキシに参加した後、サーバー設定authorizedukeyesはローカルの公開鍵を中にコピーしてもいいです.
SSHはもっと見ることができます.http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
3.サーバのセキュリティレベルを強化する
サービス変更サーバの22ポートを変更し、パスワード登録をキャンセルし、サーバの解読の難しさを高め、IPTablesファイアウォールルールを配置し、Fail 2 Banを通じてサーバの防御動作を強化し、サーバのセキュリティ係数を向上させ、オンラインサーバ全体に対して各種のセキュリティ保護を行うブースターの22ポートを削除し、パスワード登録をキャンセルし、サーバのクラックを増大させる.
サーバのデフォルト登録ポートを変更します.
iptablesとFail 2 Banを配置し、安全防護を強化する.
SSHは、クライアントとサービス端末のソフトウェアから構成されており、クライアントで使用できるソフトはSecureCRT、putty、Xshellなどがありますが、サーバー側で実行されるのはsshdのサービスです.sshdの配置ファイルの位置は、SSHを使用することにより、伝送されたデータをすべて暗号化し、dnsとIPの転送を防ぐことができます.圧縮されたもので、伝送速度が速くなります.
デフォルトのポートを変更します./etc/ssh/sshduconfigのパスでも変更します.
sshuconfigとsshduconfigは共にsshサーバの配置ファイルであり、前者はクライアントに対する配置ファイルであり、後者はサービス端末に対する配置ファイルであるという違いがあります.
4.Nodejs環境を構築する
UbunbaサーバーではnvmでNodejsバージョンをインストールして管理しています.また、nvmグローバルモジュールの使用中に発生する問題解決の考え方について、PM 2をインストールして、PM 2の基本的な使用とその生産環境の中の役割を簡単に紹介しています.
pm 2を介してNodejsサービスを常駐させます.
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sys sysctl -p
fs.inotify.maxuuseruwatch:同じユーザが同時に追加できるウォッチの数を表します.tee命令は、標準入力装置からデータを読み出し、その内容を標準出力装置に出力し、ファイルに保存します.
5.Nginxを構成し、逆代理を実現する.
Nginnxのup streamをインストールして配置し、ポートのマッピングをバックグラウンドのNodejsサービスに転送し、サービスの識別と転送を実現します.
Ngix逆エージェントNodejsポートを設定します.
Linuxシステムは主に起動ステップ:1.MBRの情報を読み取り、Boot Managerを起動します.2.システムカーネルをロードして、initプロセスを起動します.initプロセスはLinuxのルートプロセスです.すべてのシステムプロセスはそのサブルーチンです.3.initプロセスは/etc/inittabファイルの情報を読み取り、設定された実行レベルに入ります.通常は/etc/S.rc/rc/rcまず実行され、その後は/etc/rc.d/ディレクトリです.4.etc/rcs.d/フォルダに対応するスクリプトからXwindowサーバxorgを起動し、XwindowはLinuxの下のグラフィカルユーザーインターフェースシステムです.5.ログインマネージャを起動し、ユーザ登録を待つ.
6.DNSPodでドメイン名の解析を管理する
ドメイン名のDNSルートサーバを変更して、ドメイン名のために新しい解析プラットフォームを指定して、統一的に管理します.異なる解析タイプを学習して、複数の解析規則を追加して、異なる種類のリソースとサービス構成Aの記録とCNAMEです.
ドメイン名のDNSルートサーバを変更します.
解析項目のドメイン名A記録とCNAMEを設定します.
7.データベース配置にMongoDBを取り付ける
Ubuntu 14.04にMongoDBの特定バージョンのインストールを加速し、mogodump mogoretore mogoretor mogoexport mogoimportを使用して単フォームライブラリの導入を実現し、オンライン遠隔管理からMongodbの読み書きとバックアップ権限を配置し、生産環境下でサーバ間のデータ移動の流れを実現し、システムcrontab bashスクリプトmongodumpとバックアップ役を結合してタイミングを実現します.バックアップ
Ubuntu 14.04にMongoDBを取り付けます.
オンラインMongoDBに単表データまたはデータベースを導入する.
オンラインプロジェクトのためにMongoDBデータベースの読み書き権限を設定します.
一台のサーバーから別のオンラインMongoDBにデータを移行します.
データベースのタイミングバックアップを実現します.
アップロードデータベースを7牛の私有クラウドにバックアップします.
8.正式にサーバにオンラインノードのプロジェクトを展開し、発表する
無料Gitプライベート倉庫プラットフォーム管理プロジェクトのソースコードバージョンを利用して、ローカルおよびサーバーのPM 2からアプリケーションのオンラインディレクトリを初期化し、一つのコマンドでサーバとの通信を実現し、自動的にコードを取得し、自動的に再起動し、それぞれ5つのプロジェクトの展開オンラインプロセスをデモします.
8.1プロジェクトコードをオンラインプライベートGit倉庫にアップロードする
8.2 PM 2を配置してオンラインプロジェクト構造を配置する
PM 2概要:
PM 2はnodeプロセス管理ツールであり、これを利用して多くのnodeアプリケーション管理の煩雑なタスクを簡略化することができます.例えば、性能モニタ、自動再起動、負荷バランスなど、しかも非常に簡単に使用できます.
主な特性
8.3ローカルからオンラインとサーバのNodejsプロジェクトを更新する.
8.4映画サイトを展開し、オンラインMongoDBに接続する
8.5 React Native AppオンラインAPIサービスを展開する
8.6マイクロクレジットネットワークAPIサービスの展開
8.7マイクロクレジット公開番号プロジェクトのバックグラウンドを配置する
9.より安全なHTTPSプロトコルの使用と配置
SSL証明書の種類とセキュリティ等級が違っています.SSLを無料で提供するプラットフォーム申請とサーバー上にNgixを通して証明書検証モジュールを配置します.最後にまとめました.私たちは実際のローカルノードJsプロジェクトを学習し、理解しました.どのように展開されているのか、実際のサーバ生産環境はどのように配置されているのか、フロントエンドとバックエンドの最後の一環です.ドメイン名とサーバーを通してどうやって連絡したらいいですか?また必要な安全…
9.1オプションでSSL証明書を申請するいくつかの提案:
SSL証明書は検証レベルによって、三つのタイプに分けられています.すなわち、ドメイン名型SSL証明書は、DVSSLと略称します.企業型SSL証明書は、OVSSLと略称します.拡張型SSL証明書は、EVSSLと略称します.詳細情報は参照できます.https://blog.csdn.net/m0_37941906/article/details/80679693?utm_source=blogxgwz9
9.2クラウドプラットフォームは無料証明書とNFGIX配置を申請します.
SSL申請プラットフォーム:また雲、騰訊雲、七牛、阿里雲を撮ります.
9.3運維の安全と対応の考え方について話してください.