Debian 12、11、10 でソースから NGINX をビルドする方法

Debian 12、11、または 10 でソースから NGINX をビルドすると、いくつかの利点と潜在的な欠点があります。ソースからコンパイルすると、ニーズに合わせた特定のモジュールと最適化を使用して NGINX をカスタマイズできるため、ビルド プロセスをより細かく制御できます。この方法を使用すると、公式リポジトリで利用可能になる前に、最新の機能とセキュリティ パッチを確実に入手することもできます。

ただし、考慮すべき潜在的な欠点がいくつかあります。ソースからビルドするには、プリコンパイルされたパッケージをインストールする場合に比べて、より多くの時間と労力が必要です。また、ビルド プロセスと依存関係を十分に理解している必要があります。さらに、新しいバージョンごとに NGINX を手動で再コンパイルする必要があるため、更新の管理がより複雑になる可能性があります。

このガイドでは、Debian 12、11、または 10 でソースから NGINX をビルドする方法を説明し、インストールを成功させるために必要な手順とコマンドについて説明します。

ステップ1: Debianのアップデートとアップグレード

インストールを開始する前に、Debian システムを更新します。ターミナルで次のコマンドを使用します。

sudo apt update
sudo apt upgrade

これらのコマンドは、利用可能なアップデートのリストを取得し、システムをアップグレードして、最新のソフトウェアで作業できるようにします。

ステップ2: 必要な依存関係をインストールする

次のコマンドを使用して、Nginx をコンパイルするために必要な初期パッケージをインストールします。

sudo apt install build-essential libpcre3-dev libssl-dev zlib1g-dev libgd-dev

ステップ3: NGINXソースコードをダウンロードする

必要な依存関係がインストールされたら、次のステップはNGINXソースコードをダウンロードすることです。 NGINX ウェブサイト ニーズに最適なバージョンを選択してください。最新のメインライン、安定版、またはその他のバージョンを選択できます。

選択したバージョンをダウンロードするには、wget コマンドを使用します。

wget http://nginx.org/download/nginx-x.x.x.tar.gz

xxx をバージョン番号に置き換えます。たとえば、最新のメインライン バージョン 1.25.1 をダウンロードするには、次のコマンドを使用します。

wget https://nginx.org/download/nginx-1.25.1.tar.gz

注意: 上記のコマンドをコピーしないでください。これは単なる例です。最新の安定版またはメインラインのダウンロード リンクを必ず取得してください。

ステップ4: ソースコードを抽出する

ソース コードは圧縮された tarball で提供されます。次のコマンドを使用して抽出します。

tar -xzvf nginx-1.25.1.tar.gz

次に、新しく抽出したディレクトリに移動します。

cd nginx-1.25.1

ステップ5: NGINXオプションを構成する

この手順では、ソースから NGINX オプションを設定します。つまり、NGINX ビルドのパスとモジュールを選択します。次のコマンドを使用します。

./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --with-pcre  --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_image_filter_module=dynamic --modules-path=/etc/nginx/modules --with-http_v2_module --with-http_v3_module --with-stream=dynamic --with-http_addition_module --with-http_mp4_module

オプションの意味は次のとおりです。

  • –prefix=/var/www/html: インストールのルートディレクトリを設定します。
  • –sbin-path=/usr/sbin/nginx: nginx プログラムが配置される場所を設定します。
  • –conf-path=/etc/nginx/nginx.conf: メインの NGINX 構成ファイルの場所を選択します。
  • –http-log-path=/var/log/nginx/access.log および –error-log-path=/var/log/nginx/error.log: ログ ファイルの場所を定義します。
  • –with-pcre: 設定ファイルに対して PCRE (Perl 互換正規表現) をオンにします。
  • –lock-path=/var/lock/nginx.lock および –pid-path=/var/run/nginx.pid: ロック ファイルと pid ファイルの場所を設定します。
  • –with-http_ssl_module: 安全な Web 接続のために SSL モジュールを有効にします。
  • –with-http_image_filter_module=dynamic: 画像フィルターモジュールをオンにします。
  • –modules-path=/etc/nginx/modules: 動的モジュールの配置場所を定義します。
  • –with-http_v2_module: HTTP/2 モジュールをオンにします。
  • –with-stream=dynamic: ストリーム モジュールを動的にアクティブ化します。
  • –with-http_addition_module および –with-http_mp4_module: 追加モジュールと MP4 モジュールをオンにします。

HTTP/3 モジュールを使用しない場合は、–with-http_v3_module を省略します。HTTP/3 は、より高速で信頼性の高い Web ブラウジングを実現します。

ステップ 6: NGINX をインストールする (NGINX をコンパイルしてビルドする)

ソースから NGINX をビルドするためのオプションを設定したら、NGINX をコンパイルしてインストールします。これは 2 つのステップで実行されます。

まず、 make コマンドは、NGINXソースコードを、 ./configure スクリプト。これにより、NGINX バイナリ実行ファイルが作成されます。

make

第二に、 sudo make install コマンドは、NGINXバイナリ、設定ファイル、およびその他のファイルを、指定されたプレフィックスパスにインストールします。 ./configure 脚本:

sudo make install

インストール後、NGINXは次の場所に配置されます。 sbin プレフィックス パスのディレクトリ。

ステップ7: NGINX Systemdサービスを作成する

NGINX をソースからビルドしてコンパイルした後、システム上の NGINX サービスを管理する systemd プロセスを作成することが重要です。方法は次のとおりです。

新しい systemd サービス ファイルを作成します。

sudo nano /etc/systemd/system/nginx.service

ファイルに次の内容を追加します。

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

systemd デーモンをリロードします。

sudo systemctl daemon-reload

NGINX サービスを開始します。

sudo systemctl start nginx

起動時に NGINX サービスが自動的に開始されるようにします。

sudo systemctl enable nginx

最後に、サービスがアクティブになっていることを確認します。

systemctl status nginx

ステップ8: NGINXをテストする

NGINX が正しく実行されていることを確認するには、Web ブラウザーを開き、ローカル ホストまたはサーバーの IP アドレスを使用してテスト ページに移動します。

http://localhost

または置き換える localhost サーバーの IP アドレスを入力します。

追加コマンドとヒント

追加モジュールを使用してNGINXをコンパイルする

追加のモジュールをコンパイルすることで、NGINX の機能を強化できます。たとえば、Nginx HTTP プッシュ モジュールを使用するには、NGINX の設定時に –add-module フラグを使用します。

./configure --add-module=/path/to/nginx-http-push-module
make
sudo make install

結論

これらの手順に従うことで、Debian システムにソースから NGINX を正常にビルドしてインストールできます。このアプローチにより、NGINX インストールの柔軟性と制御性が向上し、特定の要件に合わせてカスタマイズできるようになります。セキュリティとパフォーマンスを維持するために、定期的に更新を確認し、必要に応じて再コンパイルしてください。ソースから NGINX をビルドすることで提供される強化された機能とカスタマイズ オプションをお楽しみください。

Joshua James

コメントを残す