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)

推薦する

子要素の margin-top によって親要素が移動する問題の解決方法

問題の説明今日、ページ スタイルを変更していたときに、子要素にmargin-top設定したのに、子要...

CSS を使用してサブ要素に応じて異なるスタイルを記述する方法

達成すべき効果: 必要なもの1枚、2枚、3枚とスタイルが異なります。子要素の判定はjsで完結できます...

VMwareのCentosシステムでNavicatがMySQLサーバーに接続できない問題を解決します

ホスト 'xxxx' はこの MySQL サーバーに接続できませんエラー: 1130...

Vue3 における ref と reactive の詳細な説明と拡張

目次1. 参照と反応1. 反応的2.参照2. shallowRef と shallowReactiv...

MySQLのインデックス選択と最適化の詳細な説明

目次インデックスモデルB+ツリーインデックスの選択インデックスの最適化インデックスの選択性カバーイン...

MySQL Innodb インデックス メカニズムの詳細な紹介

1. インデックスとは何ですか?インデックスは、ストレージ エンジンがレコードをすばやく検索するため...

Centos7 で MySQL マスター スレーブ サーバーを構築する方法 (グラフィック チュートリアル)

この記事では主に CentOS 上で MySQL マスタースレーブサーバーを構築する方法を紹介します...

MIME エンコーディングの概要 (オンライン情報と実際の経験から統合)

1. MIME: 多目的インターネットメール拡張インペリアル カレッジ オブ コンピュータ オンラ...

Vue の基本 MVVM、テンプレート構文、データバインディング

目次1. Vueの概要Vue公式サイトMVVM アーキテクチャ パターンVue の紹介2. Vueを...

JS を使用して要素が配列であるかどうかを判断する例

検証できるデータの種類は次のとおりです a = [1,2,3,4,5,6]とします。 b = [とし...

MySQLデータベースのマスタースレーブレプリケーションの長い遅延に対する解決策

序文MySQL マスター スレーブ レプリケーションの遅延は、業界では長年の問題となっています。遅延...

CSS3は子供のころの紙飛行機を実現する

今日は折り紙飛行機(飛べる飛行機)を作ります基本的にすべてCSSで実装されており、JSはごく一部に過...

LinuxでPythonの組み込みバージョンを削除する手順の詳細な説明

大きな落とし穴、Linuxシステムに付属するPythonのバージョンを簡単に削除しないでください1....

Vue プロジェクトをパッケージ化して Apache サーバーにデプロイする手順

開発環境では、vue プロジェクトは、ローカルで Express サーバーを構築することをベースにし...

異なるデータベースで DROP TABLE を書く方法

異なるデータベースで DROP TABLE を書く方法1.MySQL 存在する場合はテーブルを削除 ...