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

推薦する

MySQL の時間タイプの選択

目次日時タイムスタンプ選び方ミリ秒の時間を保存する方法結論MySQL は、日付と時刻を処理するために...

シンプルなID生成戦略: MySQLテーブルからグローバルに一意のIDを生成する実装

グローバル ID を生成する方法は多数あります。ここでは簡単な解決策を紹介します。MySQL の自動...

SVNサービスバックアップ操作手順の共有

SVN サービスのバックアップ手順1. ソースサーバーとターゲットサーバーを準備するソースサーバー:...

Vue 父子価値移転、兄弟価値移転、子父価値移転の詳細な説明

目次1. 親コンポーネントが子コンポーネントに値を渡す1. 親コンポーネント.vue 2. サブコン...

MySQL 数十億のデータのインポート、エクスポート、移行に関するメモ

最近はMySQLのメモをたくさん取っていますが、それは主に会社のOracleが比較的安定していてメン...

MySQL スロークエリを通じて MySQL のパフォーマンスを最適化する方法

アクセス数が増えると、MySQL データベースへの負荷が増大します。MySQL アーキテクチャを使用...

Linux コマンド クエリ アプレットでの WePY クラウド開発の実践

みなさんこんにちは。今日は Linux コマンド クエリ アプレットでの WePY クラウド開発の実...

「@INC で ExtUtils/MakeMaker.pm が見つかりません」というエラーを解決する

mha4mysql をインストールする場合の手順は、おおよそ次のようになります: unzip、per...

js は丸で囲まれた数字のリストのサンプルコードを動的に追加します

1. まず本文にulタグを追加します <!-- 順序なしリスト --> <ul i...

Webフロントエンド開発におけるエラーを見つけるための基本的な考え方

WEB開発は主に2つのインタラクション(B/Sデータ)から構成されますブラウザ: 1html、css...

vmware workstation12 インストール CentOS プロンプト VMware Player と Device/Credential Guard に互換性がない、理由と解決策

最新バージョンの WIN10 では、Microsoft は仮想化コンテナに基づくセキュリティ メカニ...

Web 開発の面接と筆記試験に必須の知識(必読)

HTML のインライン要素とブロックレベル要素の違い:標準的なドキュメント フローでは、ブロック ...

JavaScript の navigator.userAgent がブラウザ情報を取得するケースの説明

ブラウザはおそらく私たちにとって最も馴染みのあるツールです。 Firefox、Opera、Safar...

CSS の :focus-within の楽しさについて簡単に説明します

Bステーションでパスワードを入力するときに目を覆っているこの画像を見たことがある人もいると思いますこ...

Vueのvue-tree-colorコンポーネントの組織構造図の事例を詳しく解説

目次ネプローダーをインストールするプラグインのインポート始める配置折りたたみディスプレイノードをクリ...