目次
動的モジュールとは何ですか?
一般的な動的モジュールの例
動的モジュールの使用方法は?
1.モジュールが動的負荷をサポートするかどうかを確認します
2。nginx.confにモジュールをロードします
3.確認して再起動します
動的モジュールの利点
注意すべきこと
ホームページ 運用・保守 Nginx nginxの動的モジュール

nginxの動的モジュール

Aug 03, 2025 am 12:49 AM

動的モジュールは、1.9.11からNginxによって導入された機能であり、実行時間が再コンパイルではなくモジュールをロードできるようにします。 1.モジュールが動的コンパイル(-Add-Dynamic-moduleなど)をサポートしていることを確認します。 2。nginx.confの上部にload_module命令を搭載したファイルをロードします。 3.構成を確認し、リロードを有効にします。利点は、ホットスワッピング、簡単なアップグレード、コンテナ化です。バージョンのマッチング、正しいパス、ホットアンインストールおよびサードパーティモジュールのセキュリティ問題に不可能になっていることに注意してください。

nginxの動的モジュール

Nginxは高性能HTTPサーバーであり、プロキシサーバーを逆にしており、そのモジュラー設計により非常に柔軟性があります。動的モジュールは、Nginx 1.9.11以降に導入される重要な機能であり、NGINX全体を再コンパイルせずに機能モジュールをロードまたは交換できます。

nginxの動的モジュール

動的モジュールとは何ですか?

従来、NGINXモジュール(HTTP Rewrite、GZIP、LUAサポートなど)は、コンパイル時間のメインプログラムに静的にリンクされています。これは、新しいモジュールを追加する場合、nginxバイナリ全体を再コンパイルする必要があることを意味します。これは面倒でエラーが発生しやすいです。

動的モジュールを使用すると、特定のモジュールを.so (共有オブジェクト)ファイルにコンパイルし、ApacheのDSO(動的共有オブジェクト)メカニズムと同様に、構成ファイルのload_moduleディレクティブを介して実行時にロードできます。

nginxの動的モジュール

一般的な動的モジュールの例

動的荷重をサポートする一般的なモジュールを次に示します(nginxコンパイルオプションに応じて):

  • ngx_http_geoip_module :GEOIPデータベースGEOLOCATIONルーティング
  • ngx_http_image_filter_module :画像スケーリング、トリミングなど。
  • ngx_stream_module :レイヤー4ロードバランシング(TCP/UDP)
  • nginx-module-vts :仮想ホストトラフィック統計(サードパーティ)
  • lua-nginx-module :埋め込みluaスクリプト機能(OpenResty Coreモジュール)

✅ヒント:すべてのモジュールを動的にロードできるわけではありません!一部のコアモジュール(コア、イベント、HTTPコアなど)を静的にコンパイルする必要があります。

nginxの動的モジュール

動的モジュールの使用方法は?

1.モジュールが動的負荷をサポートするかどうかを確認します

モジュールドキュメントまたはソースコードの--add-dynamic-module=PATHのコンパイル方法の説明があるかどうかを確認してください。

たとえば、LUAモジュールのインストール:

 ./configure-add-dynamic-module =/path/to/lua-nginx-module
&& make install

コンパイル後、次のようなmodules/ディレクトリで.soファイルが生成されます。

 /usr/local/nginx/modules/ngx_http_lua_module.so

2。nginx.confにモジュールをロードします

構成ファイルの上部に追加します(サーバーまたはHTTPブロック内に留めることはできません):

 load_moduleモジュール/ngx_http_lua_module.so;

次に、次のような後続の構成でこのモジュールの関数を使用できます。

場所 /こんにちは{
    content_by_lua_block {
        ngx.say( "Hello from Lua!")
    }
}

3.確認して再起動します

nginx -t#テスト構成構文nginx -s reload#reload configuration

動的モジュールの利点

  • 強力なホットプラグ機能:新しい機能はnginxボディを再コンパイルする必要はありません
  • ?§操作と維持とアップグレードのeeasty:特定のモジュール(セキュリティパッチなど)を個別に更新できます
  • 責任のより明確な分離:モジュール開発者は.soパッケージを独立して公開できます
  • コンテナ化された展開に適しています:基本的なミラーロードモジュールオンデマンド、これは軽量です

注意すべきこと

  • ⚠️.SOファイルが現在の.soメインバージョンと互換性があることを確認する必要があります(メインバージョン番号は同じです。両方が1.24.xの場合)
  • dule load_moduleグローバルスコープに配置する必要があります(つまり、どのブロック内でもありません)
  • Hotホットアンロードモジュールはサポートされていません(Nginx全体をリロードするために変更を有効にするだけです)
  • hurty§サードパーティモジュールは、セキュリティと安定性を自分で維持する必要があります

基本的にそれだけです。動的モジュールは、CI/CDオートメーションの展開を行っている場合、またはNGINXコンピレーションの複雑さを削減したい場合、非常に実用的なオプションです。複雑ではありませんが、詳細、特にパスとバージョンの一致する問題を無視するのは簡単です。

以上がnginxの動的モジュールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTTP Strict Transport Security(HSTS)を有効にする方法は? HTTP Strict Transport Security(HSTS)を有効にする方法は? Jul 12, 2025 am 01:00 AM

HSTSを有効にする方法は、HTTPS Webサイトで厳密な輸送セキュリティ応答ヘッダーを構成することです。特定の操作は次のとおりです。1。nginxは、サーバーブロックにadd_headerディレクティブを追加します。 2.Apacheは、構成ファイルまたは.htaccessにヘッダーディレクティブを追加します。 3.IISは、web.configにカスタムヘッダーを追加します。サイトがHTTPSを完全にサポートし、パラメーターには最大年齢(有効期間)、含まれるサブドメイン(サブドメインが有効)、プリロード(プリロードリスト)が含まれるようにする必要があります。

ポート443でSSL/TLS用のNGINXサーバーブロックを構成する方法は? ポート443でSSL/TLS用のNGINXサーバーブロックを構成する方法は? Jul 14, 2025 am 01:27 AM

NGINXのSSL/TLSサービスを構成するには、証明書と秘密キーを準備し、サーバーブロックに関連するパラメーターを設定する必要があります。 1.証明書ファイルを準備:.crtまたは.pem形式と対応する.key秘密キーで証明書を取得します。 Let'sencryptまたはコマーシャル組織を使用してそれを発行し、中間証明書をバンドルファイルにマージできます。 2。サーバーブロックの構成:listen443ssl、ssl_certificateパスを/etc/ssl/example.com.crt、およびssl_certificate_keyパスAs /etc/ssl/example.com.kをサイト構成ファイルに定義します。

リロード前に構文エラーをNGINX構成をテストする方法は? リロード前に構文エラーをNGINX構成をテストする方法は? Jul 13, 2025 am 01:06 AM

NGINX構成を変更した後、最初に構文をテストしてからサービスをリロードする必要があります。 1. nginx-Tを使用して、構成ファイルの構文を確認します。プロンプト「Syntaxisok」と「testissuccessful」がプロンプトされた場合、それは正しいことを意味します。エラーがある場合、特定の問題行が表示されます。 2.構成ファイルのアクセス許可が高い場合、sudonginx-tを使用して実行する必要があります。 3.テストが実際にロードされていることを確認してください。 Nginx-T-C/path/to/your/nginx.confを介してパスを指定するか、メインプロセスでPS-EF | grepnginxを介して使用される構成ファイルを表示できます。 4。テストに合格したら、sudonginx-sreloadオーバーロードサービスを実行して、新しい構成を有効にします

nginxサーバーブロック(仮想ホスト)をセットアップする方法は? nginxサーバーブロック(仮想ホスト)をセットアップする方法は? Jul 19, 2025 am 02:00 AM

tosetupannginxserverblock、first -understanditstandtureusionstheServerdirectiontientivestingtingslikelisten、server_name、andlocation;

ロケーションブロック内の ^〜モディファイアの目的は何ですか? ロケーションブロック内の ^〜モディファイアの目的は何ですか? Jul 13, 2025 am 01:19 AM

^〜モディファイアは、指定されたプレフィックスのURLの一致を優先し、その後の正規表現が一致しないようにするために、nginxで使用されます。要求されたURLがこのプレフィックスで始まると、Nginxはこのブロック構成をすぐに採用し、すべての正規式(場所〜または場所〜*)チェックをスキップしますが、=の完全な一致は必要ありません。 1.特定のパス処理が必要な状況(静的リソースなど)に適しており、通常のルールに上書きされないようにします。 2。パフォーマンスを改善し、特定のルールが最初に実行されるようにするためによく使用されます。 3.典型的なシナリオには、サービス画像、スクリプト、または内部APIルーティングが含まれます。他の修飾子と比較してください。4。通常のプレフィックスマッチは、通常を確認し続けます。 5.正確な一致は、フルパスにのみ適用されます。 6.通常の試合が入ります

インストールされているnginxバージョンを確認する方法は? インストールされているnginxバージョンを確認する方法は? Jul 11, 2025 am 02:16 AM

インストールされているnginxバージョンをチェックする最も簡単な方法は、端末またはシェルでコマンドを実行することです。まず、Nginx-VまたはNginx-Vコマンドを使用して、基本バージョン番号または詳細情報を表示します。 「commandnotfound」がプロンプトされた場合、正しくインストールされないか、システムパスにない場合があります。第二に、Linux Systemsでは、SystemCtlstatusNginxを介してサービスステータスを確認してバージョン情報を取得できます。最後に、コマンドラインアクセス許可がない場合は、サーバー情報パネル、ホスティングプロバイダーのドキュメント、またはHTTP応答ヘッダー(サーバー:Nginx/1.22.1など)を介してバージョンを間接的に確認できますが、このメソッドはserver_tokenを有効にするかどうかによって制限されます。

上流のブロックでバックアップサーバーを構成する方法は? 上流のブロックでバックアップサーバーを構成する方法は? Jul 12, 2025 am 01:24 AM

toconfigureabackupserverinnginx、「バックアップ」パラメーターターベルリンテウップストリームブロックを追加し、1.DefineTheUpStraveStraveStraveStraveStraveStraveStrafiCを保証します

proxy_passディレクティブとは何ですか?それはどのように機能しますか? proxy_passディレクティブとは何ですか?それはどのように機能しますか? Jul 14, 2025 am 12:29 AM

proxy_passはnginxで使用されてクライアント要求をバックエンドサーバーに転送します。そのコアロールは、nginxが逆プロキシとしてHTTPリクエストを処理できるようにすることです。 1.指定されたバックエンドサービス(ポート3000で実行されているnode.jsアプリケーションなど)にユーザーリクエストを受信して転送します。 2。NGINXは、バックエンドで返された応答を処理し、ユーザーに送り返します。同時に、プロセスにキャッシュ、圧縮、またはアクセス制御機能を追加できます。 3.設定するときは、パスマッチングとテールスラッシュの関係に注意して、マッチングパーツのパスを剥がすかどうかを判断します。 4.バックエンドが正しいコンテキスト情報を取得するようにするために、標準のプロキシヘッダーの設定(ホスト、X-Real-IPなど)と協力する必要があります。 5.一般的な問題にはパスが含まれません

See all articles