自作の Windows サーバーに egg アプリケーションを展開する方法 (画像とテキスト付き)

自作の Windows サーバーに egg アプリケーションを展開する方法 (画像とテキスト付き)

1. IEブラウザを使用してVPNにログインする


2. リモートログイン

3. サーバーに最新のnode.js、gitなどをインストールする

4. ソースコードをダウンロード> git clone ****.git

5. npm install 依存関係> cd you-project> npm i

6. eggの単一プロセススタートアップを使用する

// 最新の egg パッケージをインストールします // プロジェクトのルート ディレクトリに新しい run.js を作成します
定数 egg = require('egg');
関数normalizePort(val) {
 定数 listenPort = parseInt(val, 10);
 if (isNaN(listenPort)) {
 戻り値:
 }
 listenPort >= 0 の場合
 listenPort を返します。
 }
 false を返します。
}
定数ポート = normalizePort(process.env.PORT) || 3000;
egg.start({ ignoreWarning: true })
 .then(アプリ => {
 app.listen(ポート);
 app.logger.info(`${port} で実行されているサーバー ...`);
 });

起動テスト

> node run.js

7. pm2が起動し、pm2をインストールします。

> npm i pm2 -g

新しいpm2起動ファイルを作成する

モジュール.エクスポート = {
 アプリ: [{
 名前: '****'、
 スクリプト: 'run.js',

 // オプションリファレンス: https://pm2.io/doc/en/runtime/reference/ecosystem-file/
 引数: '1 2'、
 インスタンス: 4,
 自動再起動: true、
 ウォッチ: 偽、
 最大メモリ再起動: '4G'、
 環境: {
 NODE_ENV: '開発'、
 },
 環境: {
 NODE_ENV: 'production'、
 APP_URL: '*****',
 DB_HOST: 'localhost'、
 DB_ポート: '3306'、
 DB_ユーザー名: '*****',
 DB_パスワード: '*****',
 DB_DATABASE: '*****',
 EGG_SERVER_ENV: '****'、
 },
 }],
};

生産環境の起動

$ pm2 エコシステム.config.js を開始します --env production

テスト環境の起動

$ pm2 エコシステムを開始.config.js

8. ポート3000を開く

参照 https://www.jb51.net/article/172191.htm

9. mysqlをインストールします。

参考: https://www.jb51.net/article/170594.htm

起動時にmysqlが起動するように設定する

10. pm2を起動時に起動するように設定し、nssmを使用する

PM2_HOMEを表示、pm2を保存

システム環境変数 PM2_HOME = C:\Users\GYSD\.pm2を設定します。

echo %PM2_HOME% を確認します

起動スクリプトpm2_startup.batを作成する

@エコーオフ
HOMEDRIVE=C を設定します:
PM2_HOME=C:\Users\***\.pm2 と設定します。
@REM pm2コマンドがPATH変数に含まれていることを確認してください
@REM よくわからない場合は、次のようにここに追加してください:
パスをC:\Users\****\AppData\Roaming\npm;%path%に設定します
@REM オプションとして、直前に「pm2 kill」を追加することもできます 
@REM resurrect (2 つのコマンドの間にスリープを追加):
@REM pm2 キル
@REM タイムアウト /t 5 /nobreak > NUL
@REM pm2 復活
@REM それ以外の場合は、次のように resurrect を呼び出すだけです。
pm2 復活
「完了」をエコーし​​ます

nssm.exe でMyPM2Serviceをインストール

独自のpm2_startup.batパスを選択してください

表示するには再起動してください

要約する

上記は、自作の Windows サーバーに egg アプリケーションを展開する方法についての紹介です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Windows で IP アドレスを指定してサーバーへのリモート アクセスを設定する方法
  • Windows サーバーで IP アドレスを指定してリモート デスクトップ アクセスを設定する方法
  • Windows Server 2008 R2 DNS サーバー構成のグラフィック チュートリアル
  • Windows 7にDNSサーバーbind9をインストールする方法の詳細な説明
  • Windows Server で SMBv1、SMBv2、SMBv3 を有効/無効にする方法
  • Windows サーバー オペレーティング システムのセキュリティ設定を強化する方法

<<:  MySQL マスタースレーブレプリケーションスレッドの状態遷移に関する詳細な理解

>>:  1 つの記事で React における Redux の初期の使用を理解する

推薦する

Linux で NFS ファイル共有サーバーを構築するための詳細な手順

Linux が NFS サーバーを構築異なるオペレーティング システム間でデータを共有するために、通...

js メモリ リークのシナリオ、それらを詳細に監視および分析する方法

目次序文どのような状況でメモリリークが発生する可能性がありますか? 1. 偶発的なグローバル変数2....

clipboard.js の使用法の概要

目次(1)はじめに: (2)クリップボードの内容をコピーする方法は次のとおりです。 (3)関数演算に...

HTML のタイトル、段落、改行、水平線、特殊文字についての簡単な説明

タイトルXML/HTML コードコンテンツをクリップボードにコピー< h1 >第 1 レ...

CSSの高さの崩壊問題についての簡単な説明

パフォーマンス例えば: HTML: <div class="first"&...

js の Array.forEach でループを終了する方法の例

目次forEach() メソッドjs の Array.forEach のループから抜け出す方法解決:...

Nginxドメイン名転送のhttpsアクセスの実装

事前に一言:突然、複数のドメイン名のアクセスを https に転送するというタスクを受け取りました。...

MySQL がエラーを報告: ファイルが見つかりません: './mysql/plugin.frm' 解決策

問題を見つける最近、仕事中に問題が見つかりました。問題は、MySQL ディスクがいっぱいだったことで...

Docker を使用した Laravel アプリケーションのデプロイ例

この記事で使用されているPHPベースイメージはphp:7.3-apacheです。この記事の Lara...

JS配列メソッドsome、every、findの使用に関する詳細

目次1. いくつか2. すべての3. 見つける1. いくつかsome()メソッドは、指定された関数の...

Alibaba Cloud ドメイン名と IP バインディングの手順と方法

1 Alibaba Cloud コンソールに入り、ドメイン名コンソールを見つけて、バインドするドメイ...

XHTML の一般的な構造タグ

構造本文、見出し、HTML、タイトル文章abbr、頭字語、アドレス、引用ブロック、br、引用、コード...

Excel をインポートするときに js で時間を変換する正しい方法について

目次1. 基本2. 問題の説明3. 解決策付録: js を使用して Excel の日付形式を変換する...

WeChat アプレット学習 WXS 使用方法チュートリアル

wxsとは何ですか? wxs (WeiXin Script) は、小規模プログラム用のスクリプト言語...

HTMLは入力完了を検出する機能を実装する

入力が進行中かどうかを検出するには、「onInput(event)」を使用しますコンテンツが変更され...