Windows での Nginx のインストールと環境設定 (nginx をサービスとして実行)

Windows での Nginx のインストールと環境設定 (nginx をサービスとして実行)

最初で最も重要なステップは、Windows 環境に Ngnix サービスをインストールする方法です。

http://nginx.org/en/download.html にアクセスして、適切なバージョンをダウンロードしてください。もちろん、MainLine バージョンをお勧めします。ダウンロードしたら、解凍して Ngnix.exe をダブルクリックして実行します (デフォルトのポートは 80 です)。Windows サーバーに IIS を展開している場合は、必ずデフォルトのポートを変更してください。そうしないと、競合が発生します。

すべてが正常であれば、ローカル アドレス + ポート番号にアクセスすると、次のようなインターフェイスが表示されます。

この時点ですべてが正常であると想定することはできません。Windows サーバー環境では、サービスをプロセスとして実行するだけでは不安定であると考えられます。また、プロセスがリサイクルされたりクラッシュしたりすると、関連するログやエラー メッセージを見つけるのが難しくなり、デバッグに支障をきたします。そのため、プロセスを Windows サービスとしてパッケージ化する傾向があります。これにより、堅牢性が高まります。

しかし、デフォルトの Ngnix は Windows サービスをサポートしていません (その理由は冒頭で説明しましたが、Windows 版の Ngnix はテスト バージョンとしてのみ考えられています)。そのため、Ngnix を Windows サービスとしてインストールする他の方法を見つける必要があります。

一般的な方法には instsrv/servany と FireDaemon がありますが、これらの方法には独自の問題があります。たとえば、instsrv/servany は、サービスが再起動、停止、または開始されたときに新しい Ngnix.exe プロセスを生成します。 FireDaemon が起動すると、デフォルトでセカンダリ プロセスが起動します。その理由と背景については、Defonds のブログで詳しく説明されています。

したがって、Ngnix サービスをインストールするには、Windows Service Wrapper を使用することをお勧めします。これは GitHub のオープン ソース プロジェクトです。exe、bat、その他のファイルを Windows サービスとしてインストールできます。ソース コードを GitHub からダウンロードすることもできます。

ファイアウォールを回避する必要があるなどの理由により、バイナリ バージョンを誰でもダウンロードできるわけではありません。便利なダウンロード方法は次のとおりです。 (バージョン1.9)

https://www.jb51.net/softs/645594.html

ダウンロードが完了したら、最初に実行した ngnix プロセスを終了し、winsw.exe を任意の名前に変更して、構成として xml ファイルを作成します。もちろん、名前は exe 名と一致している必要があります。

構成コードは次のとおりです。

<サービス> 
 <id>nginx</id> 
 <name>nginx</name> 
 <description>nginx</description> 
 <実行ファイル>D:\Soft\Nginx\nginx-1.9.15\nginx-1.9.15\nginx.exe</実行ファイル> 
 <ログパス>D:\Soft\Log\</ログパス> 
 <logmode>ロール</logmode> 
 <依存></依存> 
 <開始引数>-p D:\Soft\Nginx\nginx-1.9.15\nginx-1.9.15</開始引数> 
 <stop引数>-p D:\Soft\Nginx\nginx-1.9.15\nginx-1.9.15 -s 停止</stop引数> 
</サービス>

必要に応じて、実行可能ファイル、ログパス、開始引数、停止引数の構成を変更します。

次に、winsw.exe ディレクトリに移動し、winsw.exe install コマンドを実行します (アンインストールするには、winsw.exe uninstall を使用します)。

すべてがうまくいけば、サービス リストに Ngnix サービスが表示されます。サービスを開始すると、上に示したようこそメッセージが表示されます。これは、Ngnix のインストールが成功し、使用できることを意味します。

<<:  Vueフォームバインディングとコンポーネントの詳細な説明

>>:  MySQL 5.7.18 のインストールと設定方法のグラフィックチュートリアル (CentOS7)

ブログ    

推薦する

すべてのウェブ開発者が知っておくべき61のこと

通常、全員のスピーチを最初から最後まで読む必要があります。ただし、Stack Overflow には...

Alibaba Cloud Server Linux システムは Tomcat を構築して Web プロジェクトを展開します

私は全体のプロセスを 4 つのステップに分けます。 JDKをダウンロードしてインストールするTomc...

MySQL 5.7 の同時レプリケーションにおける暗黙のバグの分析

序文当社の MySQL オンライン環境のほとんどはバージョン 5.7.18 を使用しています。このバ...

モバイルプラットフォーム開発におけるメタタグの適用の詳細な説明

デスクトップ プラットフォームの Web レイアウトのメタ タグは誰もがよく知っています。これは常に...

mysqlは指定された期間内の統計データを取得します

mysqlは指定された期間内の統計データを取得します年別統計 選択 カウント(*)、 DATE_FO...

Ubuntu 18.04にPython仮想環境をインストールする

Ubuntu 18.04 を使用する Python 開発者向けの参考資料です。 1. Ubuntu ...

MySQLの外部ネットワークアクセス権を開く方法

以下のように表示されます。主に認証コマンドを実行します: 2つの方法1. 任意のホストがユーザー b...

CSS3 で @media を使用して Web ページの適応を実現するためのサンプル コード

現在、コンピュータモニターの画面解像度はますます高くなる傾向にありますが、携帯電話などのモバイルデバ...

VMware12 で Ubuntu19.04 デスクトップ版をインストールする (インストール チュートリアル)

1. 実験の説明仮想マシンに、 Ubuntu 19.04オペレーティングシステムを手動でインストー...

テーブル適応とオーバーフローのいくつかの設定の詳細な説明

1. テーブル リセットの 2 つのプロパティ: ①border-collapse: collaps...

MySQL のジオメトリ型を使用して経度と緯度の距離の問題を処理する方法

テーブルを作成する テーブル `map` を作成します ( `id` int(11) NULLではな...

仕事の効率を上げるJS略語スキル20選

目次複数の変数を同時に宣言する場合は、1 行に短縮できます。分割代入は複数の変数に同時に値を割り当て...

テーブル内の要素のドラッグと並べ替えの問題について簡単に説明します

最近、要素テーブルを使用すると、並べ替えの問題によく遭遇します。単純な並べ替えであれば、要素の公式が...

MySQL クラスター化インデックスのページ分割原理の分析例

この記事では、MySQL クラスター化インデックスのページ分割を例を使って説明します。ご参考までに、...

mysql 一時テーブルの使用状況の分析 [クエリ結果は一時テーブルに保存できます]

この記事では、例を使用して MySQL 一時テーブルの使用方法を説明します。ご参考までに、詳細は以下...