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 日付クエリの詳細な紹介

推薦する

Linuxシステムはポート3306、8080などを外部に開放します。ファイアウォール設定の詳しい説明

多くの場合、Linux システムに Web サービス アプリケーション (Tomcat、Apache...

MySQL8の再帰メソッドの使い方を教える

以前、カスタム関数を使用して MySQL でツリー構造を再帰的にクエリする方法についての記事を書きま...

MySQLデータベースイベントスケジュール実行タスクの詳細な説明

1. 背景プロジェクトの業務が進むにつれて、データベース テーブルの数がどんどん大きくなり、ハードデ...

uni-app WeChatアプレット認証ログイン実装手順

目次1. appIDの申請と設定1. appidの取得方法2. AppIDの設定2. 基本的なユーザ...

21 の MySQL 標準化および最適化のベスト プラクティス!

序文良い習慣はすべて宝物です。この記事は、SQL の後悔の治療法、SQL パフォーマンスの最適化、S...

Vue は動的な円形のパーセンテージ進捗バーを実装します

最近、小さなプログラムを開発しているときに、次の設計図のような円形のパーセンテージ進捗状況バーを実装...

DockerコンテナにPythonアプリケーションをデプロイするプロセスの分析

シンプルなアプリケーションの展開1. ディレクトリ構造: └── Pythonpro #ディレクトリ...

Navicat を使用して csv ファイルを MySQL にインポートする

この記事では、参考までに、Navicatを使用してCSVファイルをMySQLにインポートするための具...

CSS スキル コレクション - 古典の中の古典

リンク上の点線のボックスを削除しますコードをコピーコードは次のとおりです。 a:アクティブ、a:フォ...

MySQL における datetime と timestamp の違いと使い方

1. MySQL で現在の時刻を表現するにはどうすればよいでしょうか?実際、表現方法はいろいろありま...

Dockerに証明書を追加する方法

1. アップグレードプロセス: sudo apt-get updateパッケージが見つからない、パッ...

CSS ボーダーは四隅の実装コードを追加します

1.html <div class="ログインボディ"> <...

複数のdiv内のテーブルのtdwidth設定は同じで、揃えることができません

最近、複数のdivにあるテーブルのTDを同じ幅に調整しても、揃えることができず、幅にパターンがないこ...

javascript 入力画像のアップロードとプレビュー、FileReader プレビュー画像

FileReader は、フロントエンドのファイル処理、特に画像処理にとって重要な API です。画...

HTML でのテキストエリアの使用と一般的な問題およびケース分析

textarea タグはよく使われる HTML タグです。主に長いテキストを入力するときに改行するた...