優れたソフトウェアと実用的なチュートリアル
Windowsにnginxをインストールする方法
たくさんの親しみリナックス人々はnginx、ウェブとしてのnginxサーバこの小さくて強力な nginx は、Web サーバーを徐々に消費し始めています。アパッチそしてIISのシェア。では、nginxにはどんな強力な機能があるのでしょうか?Webサーバーの機能に加えて、nginxの真の強力な機能を理解していない人も多いかもしれません。
nginx、Apache、IIS は総称して Web サーバーの三銃士として知られています。
nginx [エンジン x] はHTTPとリバースプロキシサーバー、郵便演技サーバーおよび汎用TCP/UDPプロキシサーバー。元々はイゴール・シソエフ長年にわたり、多くの高負荷のロシアウェブサイト上で実行されているもの、 ヤンデックス、 メール.Ru、 VKそして ランブラーNetcraftによると、2022年4月には、nginxは最もアクセス数の多いサイトの21.79%をサービスまたはプロキシしました。成功事例をいくつかご紹介します。 ドロップボックス、 ネットフリックス、 WordPress.com、FastMail.FM。
用途 ウィンドウズ Windows版nginxは、ネイティブWin32 API(Cygwinエミュレーションレイヤーではありません)を使用しています。現在、select()とpoll()(1.15.9)の接続処理メソッドのみが使用されているため、高いパフォーマンスとスケーラビリティは期待できません。この点とその他の既知の問題のため、Windows版nginxはベータ版とみなされています。現在、XSLTフィルター、画像フィルター、GeoIPモジュール、埋め込みPerl言語を除き、UNIX版nginxとほぼ同等の機能を提供しています。
リバースプロキシとは何ですか?
Nginx は、Web サーバーの基本機能を提供できるだけでなく、優れたリバース プロキシ機能も備えています。 プロキシ)方式は、プロキシサーバーを使用してインターネットプロキシサーバーは、リクエストを内部ネットワーク上のサーバーに転送し、サーバーから取得した結果をインターネット上の接続要求元クライアントに返します。このとき、プロキシサーバーは外部からはサーバーのように見えます。
nginxをダウンロード
まず、nginx サーバー ソフトウェアの Windows バージョンが提供されている nginx の公式 Web サイトにアクセスします。
ngixn の公式サイトをご覧ください:https://nginx.org/
2022年現在、最新バージョンはnginx-1.21.6です。右側の「ダウンロード」をクリックし、ダウンロードページからWindows版のnginxをダウンロードしてください。
メインライン バージョンまたは安定バージョンのどちらをダウンロードするか選択できます。
クリックしてダウンロード:nginx/Windows-1.21.6 | nginx/Windows-1.20.2
nginxをインストールする
ダウンロード後、nginx.exe ファイルをダブルクリックして nginx を実行します。
nginx.exe をダブルクリックすると、黒いポップアップ ウィンドウが点滅し、nginx が正常に起動します。
または、cmd コマンド ウィンドウを開き、nginx を解凍したディレクトリに切り替えて、コマンド nginx.exe または start nginx を入力し、Enter キーを押して nginx を開きます。
nginxが正常に起動したかどうかを確認するには?ブラウザで入力してください http://localhost
nginx のウェルカム ページが表示されたら、正常に起動されたことになります。おめでとうございます。
nginxの設定
Nginx のインストールは成功しました。次に、nginx を設定する必要があります。Linux と同様に、Windows でも nginx を設定するには、nginx 設定ファイルを修正する必要があります。
クリックして開く 会議 フォルダ、フォルダ内のメモ帳を使用して編集 nginx.conf 書類
http{
サーバ{
listen 80; # リスニング ポート。192.168.1.100:8080 など、IP に基づいて構成する場合はここを変更します。
サーバー名 boxpu.com;
#ホストドメイン名。プロジェクトが実際にリリースされている場合は、パブリックネットワーク上のドメイン名を入力してください。ローカルに展開されている場合は、C:\Windows\System32\drivers\etc\hostsファイルにIPアドレスとドメイン名のマッピングを追加できます。
#のマッピング解析では、/はルートパスを表しており、ここでの解析でも正規表現解析を使用しています。
位置 / {
ルート E:/uzbox; # ウェブサイトの場所のパス
インデックス index.html index.htm; # ホームページファイル
}
}
}
ウェブサイトが配置されているディレクトリを設定するときは、\ ではなく / を使用します。
http{} における一般的な設定
mime.types; #ファイル拡張子とファイルタイプのマッピングテーブルを含む
default_type application/octet-stream; # デフォルトのファイルタイプ
#は効率的なファイル転送モードをオンにします。sendfileディレクティブは、nginxがファイル出力時にsendfile関数を呼び出すかどうかを指定します。通常のアプリケーションではオンに設定されていますが、ダウンロードなどディスクIO負荷の高いアプリケーションで使用する場合はオフに設定することで、ディスクとネットワークI/Oの処理速度のバランスを取り、システム負荷を軽減できます。注:画像が正常に表示されない場合は、オフに変更してください。
自動インデックスがオン; # はディレクトリ リスト アクセスをオンにします。ダウンロード サーバーに適していますが、デフォルトでは閉じられています。
tcp_nopush オン; # はネットワークの輻輳を防ぎます
tcp_nodelay オン; # はネットワークの輻輳を防ぎます
keepalive_timeout 120; # 長い接続タイムアウト(秒単位)
gzip オン; # は gzip 圧縮出力をオンにします
nginx.conf ファイルを設定したら、次のコマンドを使用して設定ファイルが正しいかどうかを確認します。
nginx -t
コマンドを入力すると、設定が正しい場合は「syntax is ok」というメッセージが返されます。正しくない場合はエラー行が返されます。
デフォルトのポート 80 を使用する場合は、まず conf ディレクトリ内の nginx.conf 設定ファイルのポート設定が 80 になっているかどうかを確認します。確認後、次のコマンドを使用してポート 80 が使用可能かどうかを確認します。
netstat -ano | findstr 0.0.0.0:80
または、次のポート検出コマンドを使用します。
netstat -ano | findstr "80"
nginxの設定ファイルnginx.confを変更する場合、nginxをシャットダウンして再起動する必要はありません。変更を有効にするには、以下のコマンドを実行するだけです。
nginx -s リロード
nginxをシャットダウンしたい場合
CMDウィンドウにnginxコマンドを入力します
nginx -s 停止
または
nginx -s 終了
nginxリバースプロキシ設定
nginx.conf 構成ファイルに tomcat_server ブロックを追加し、tomcat_server ブロックにプロキシする必要がある Web サイトのドメイン名を入力します。
#upstream tomcat_server はリバース プロキシ設定をブロックします。
アップストリーム tomcat_server{
サーバー t1.boxpu.com;
}
リバース プロキシで負荷分散を構成する必要がある場合は、複数のリバース プロキシ Web サイトを構成できます。
# 負荷分散ウェブサイト構成コアブロック
アップストリーム tomcat_server{
サーバー t1.boxpu.com 重み=1;
サーバー t2.boxpu.com 重み=2;
}
weight属性は、アクセスされる各サーバーの重みを示します。重みが高いほど、アクセスされる可能性が高くなります。例えば、weight=2の場合、nginxはt2.boxpu.comへの優先アクセスを持ちます。t2.boxpu.comにアクセスするユーザーが多すぎる場合は、自動的にt1.boxpu.comに切り替えます。
上記の tomcat_server ブロックを設定した後、server ブロックでリバース プロキシを設定します。
設定が完了したら、nginx -tを使用して構文が正しいかどうかを確認し、最後にnginxを再起動します。
サーバー {
位置 / {
proxy_pass http://tomcat_server;
#ルート ディレクトリで、proxy_pass を使用して tomcat_server ブロックを呼び出します。
}
}
nginx -s リロード
結論
Windowsの場合nginxをインストールする成功しました。Windowsでの設定方法はLinuxとほぼ同じです。違いはありません。唯一の問題は、Webストレージのルートディレクトリが異なることです。ディレクトリを呼び出す際は、\ではなく/を使用してください。
nginx -s stop クイックシャットダウン
nginx -s quit 正常なシャットダウン
nginx -s reload は設定を変更し、新しい設定で新しいワーカープロセスを開始し、古いワーカープロセスを正常にシャットダウンします。
nginx -s reopen でログファイルを再度開きます
既知の問題
複数のワーカーが起動される可能性がありますが、実際に作業を実行するのは 1 つだけです。
UDP プロキシ機能はサポートされていません。
将来の機能強化の可能性
サービスとして実行します。
接続処理方法として I/O 完了ポートを使用します。
単一のワーカー プロセスで複数のワーカー スレッドを使用します。