Nginxにモジュールを動的に追加する方法

Nginxにモジュールを動的に追加する方法

前面に書かれた

多くの場合、現在のプロジェクトの状況とビジネスニーズに基づいて Nginx をインストールした後、ビジネスが発展するにつれて、インストールした Nginx に他の機能モジュールを追加することがよくあります。 Nginx に機能モジュールを追加するときは、Nginx をシャットダウンしないでください。これには、インストールされた Nginx にモジュールを動的に追加する方法についての質問が含まれます。この記事では、インストールされた Nginx にモジュールを動的に追加する方法について説明します。

Nginxにモジュールを動的に追加する

ここでは、サードパーティの ngx_http_google_filter_module モジュールのインストールを例に説明します。

Nginx モジュールでは、Apache のように構成ファイルで .so を参照するのではなく、Nginx を再コンパイルする必要があります。

サードパーティの拡張モジュール ngx_http_google_filter_module をダウンロードします。

# cd /データ/ソフトウェア/
# git クローン https://github.com/cuber/ngx_http_google_filter_module

nginx がコンパイルされインストールされたときにどのモジュールがインストールされるかを確認します

コマンドラインを Nginx 実行プログラムが配置されているディレクトリに切り替え、次のように ./nginx -V と入力します。

[root@binghe sbin]# ./nginx -V
nginx バージョン: nginx/1.19.1
gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) でビルド 
OpenSSL 1.0.2 で構築 2015年1月22日
TLS SNIサポートが有効
構成引数: --prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2 --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-http_ssl_module
[root@binghe sbin]#

Nginx をコンパイルしてインストールするために使用されるパラメータは次のようになります。

--prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2 --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-http_ssl_module

インストールが必要なモジュールを追加して再コンパイルします

ここに --add-module=/data/software/ngx_http_google_filter_module を追加します

詳細は以下の通りです。

./configure --prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2 --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-http_ssl_module -–add-module=/data/software/ngx_http_google_filter_module

上記のように、以前にインストールしたNginxのすべてのパラメータを追加し、最後に--add-module=/data/software/ngx_http_google_filter_moduleを追加します。

その後、次のようにコンパイルする必要があります。

# make // make install しないでください。そうしないと上書きされてしまいます

ここで注意すべき重要な点は、make install コマンドを実行しないことです。

nginxバイナリを置き換える

# 元の nginx 実行プログラムをバックアップします。# mv /usr/local/nginx-1.19.1/sbin/nginx /usr/local/nginx-1.19.1/sbin/nginx.bak
# 新しくコンパイルされた nginx 実行可能プログラムを /usr/local/nginx-1.19.1/sbin/ ディレクトリにコピーします。# cp /opt/nginx/sbin/nginx /usr/local/nginx-1.19.1/sbin/

さて、今日はここまでにしましょう!より多くの人が見て、一緒に学び、向上できるように、「いいね!」、フォロー、転送することを忘れないでください。 !

以上がNginxにモジュールを動的に追加する方法についての詳しい内容です。Nginxにモジュールを動的に追加する方法については、123WORDPRESS.COMの他の関連記事もぜひご覧ください。

以下もご興味があるかもしれません:
  • Nginxを再コンパイルしてモジュールを追加する方法
  • NginxはURLのパスに応じてアップストリームに動的に転送します
  • nginx ip ブラックリストの動的禁止の例
  • NginxはLua+Redisを使用してIPを動的にブロックします
  • Nginx ダイナミック DNS リバース プロキシの書き方をいくつか詳しく説明します

<<:  Vue3 プロジェクトで WeChat 認証ログインをエレガントに実装する方法

>>:  Mysql 日付クエリの詳細な紹介

推薦する

Vue+EChartsは、中国の地図の描画と省の自動回転と強調表示を実現します。

目次成果を達成する完全なコード + 詳細なコメントまとめ成果を達成する完全なコード + 詳細なコメン...

Ubuntu 18.04 のすべての Python ライブラリを一度にアップグレードする方法

ピップとは何かpip は、Python パッケージの検索、ダウンロード、インストール、アンインストー...

bashコマンドの使い方の詳細な説明

Linux では、基本的に vi エディタのように「.sh」拡張子を持つテキストの処理と実行を記述す...

検索履歴を実装するjQueryプラグイン

毎日jQueryプラグイン - 検索履歴を作成するためのものです。参考までに、具体的な内容は次のとお...

ブリージングカルーセルを実装するネイティブJS

今日は、ネイティブ JS で実装されたブリージング カルーセルを紹介します。効果は次のとおりです。 ...

CentOS/RHEL システムで VLAN タグ付きイーサネット カードを使用する方法

シナリオによっては、Linux サーバー (CentOS/RHEL) の同じイーサネット カード (...

vue3+vite プロジェクトで svg を使用する方法の詳細なグラフィック説明

今日、vue3+viteプロジェクトの実践で、svgを使用する場合、以前の記述方法が使用できないこと...

Linuxシステムの入出力管理とvimの共通機能の詳細な説明

####システム内の入出力の管理#### 1. システムの入力と出力のリダイレクトを理解する入力リダ...

KVM ベースの SRIOV パススルー構成とパフォーマンス テストの詳細な説明

SRIOVの導入、VFパススルー構成、パケット転送速度性能テスト目次1. SRIOVの紹介2. 環境...

マップタグパラメータの詳細な紹介と使用例

マップ タグはペアで表示する必要があります。 <map> ....</map>...

Linux ソースコードからのソケット (TCP) バインドの詳細な説明

目次1. 最も単純なサーバー側の例2. バインドシステムコール2.1、inet_bind 2.2、i...

Bootstrap 3.0 学習ノート グリッドシステムの原則

前の 2 つの記事の簡単な紹介を通じて、Bootstrap についての基礎的な理解が得られました。 ...

MySQL データ挿入効率の比較

データを挿入するとき、以前オフィス システムに取り組んでいたときにはデータベースのパフォーマンスにつ...

分散監視システムにおけるZabbixのアクティブ、パッシブ、Web監視のプロセスの詳細な説明

前回の記事では、Zabbix のネットワーク検出機能について学習し、アクションと組み合わせてホストの...

実務経験7年のフロントエンドスーパーバイザーによる経験共有

今日はベテランの貴重な経験を共有します。著者は技術管理の経験が7年あり、多い時は80人以上を率いてい...