Debian 11、を使用している場合 Nginxのインストールにお気づきかもしれません Debianのリポジトリから直接インストールされない 最新の安定版またはメインラインバージョン 。 Nginxが安定している場所よりもかなり遅れており、Mainlineは現在開発中です。
ほとんどの場合、DebianにバンドルされているデフォルトのNginxを使用することをお勧めしますが、最新の機能に新しいバージョンを使用したい場合は、次のチュートリアルでこれを行うために必要な手順を説明します。
- 推奨OS: Debian11ブルズアイ
- ユーザーアカウント: sudoまたはrootアクセス権を持つユーザーアカウント。
オペレーティングシステムの更新
Debianを更新します 既存のすべてのパッケージが最新であることを確認するためのオペレーティングシステム:
sudo apt update && sudo apt upgrade -y
チュートリアルでは、sudoコマンドを使用します およびsudoステータスがあると仮定 。
アカウントのsudoステータスを確認するには:
sudo whoami
sudoステータスを示す出力例:
[joshua@debian~]$ sudo whoami
root
既存または新規のsudoアカウントを設定するには、DebianのSudoersへのユーザーの追加に関するチュートリアルにアクセスしてください。 。
rootアカウントを使用するには 、rootパスワードを指定して次のコマンドを使用してログインします。
su
以前のNginxインストールを削除
まず、削除する必要があります 以前のNginxインストール NginxMainlineをインストールする前にアクティブになっているもの。
systemctlを使用してNginxを停止します 次のようにコマンドを実行します:
systemctl stop nginx
nginx.confのコピーを作成します 既存のファイルを誤って上書きまたは削除した場合に備えて、バックアップ用のファイル:
cp /etc/nginx/nginx.conf /etc/nginx/nginx-backup.conf
次に、次のコマンドを使用してNginxを削除します:
apt remove nginx
必要なパッケージをインストールする
Nginxメインラインの最新バージョンまたは公式のNginxリポジトリから安定版をインストールするには、いくつかの追加パッケージが必要になります。次のコマンドを実行して、DebianBullseyeシステムにインストールまたはインストールされているかどうかを確認します。
apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
Ngnixリポジトリをインポートする
次に、リポジトリを正常にインポートするには、いくつかの手順が必要になります。
GPGキーのインポート
curlコマンドの使用 、GPGキーをインポートして、APTパッケージマネージャーがNginxメインラインパッケージの信頼性を検証できるようにします。
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
非常にGPGキー
次に、ダウンロードファイルに適切なキーが含まれていることをテストおよび確認することをお勧めします。これを行うには、端末で次のコマンドを使用します。
gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
出力例が表示されます:
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <[email protected]>
Nginxメインラインリポジトリのインポート
Nginx Mainlineリポジトリを設定してインポートするには、ターミナルで次のコマンドを実行します。
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
NginxStableリポジトリをインポートする
上記のNginxMainlineと同じように、Nginx Stableの場合は、ターミナルで次のコマンドを使用します。
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
インストールするNginxリポジトリバージョンを固定する
次に、次の固定コマンドを使用して、DebianがデフォルトのDebianNginxリポジトリよりもNginxのリポジトリを使用するようにします。
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
出力例:
se o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
Package: *
Pin: origin nginx.org
Pin: release o=nginx
Pin-Priority: 900
NginxMainlineまたはStableをインストールする
リポジトリを設定したので、Nginx installコマンドを実行する前に、次のように新しい変更を反映するようにリポジトリリストを更新する必要があります。
apt update
次に、Nginx installコマンドを実行します。これにより、インポートしたリポジトリの最新のNginxバージョンがインストールされます。これはメインラインまたは安定版のいずれかです。
apt install nginx -y
既存の/ etc / nginx /を保持または置き換えるように求められる場合があることに注意してください nginx.conf インストール中の構成ファイル。 (n)を押して、現在の構成ファイルを保持することをお勧めします 。メンテナのバージョンに関係なくコピーが作成されますが、将来的に確認することもできます。
次のコマンドを実行して、Nginxが正常にインストールされ、最新バージョンになっているかどうかを確認します。
sudo nginx -v
出力例(Nginxメインラインの例)
nginx version: nginx/1.21.1
上記のように、執筆時点で正常にインストールされているバージョンは、最新のNginxMainlineバージョンです。
デフォルトでは、Nginxがアクティブになっていない場合は有効にする必要があります。使用:
sudo systemctl start nginx
起動時にNginxを起動できるようにするには、次のコマンドを使用します。
sudo systemctl enable nginx
成功した場合の出力例:
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
Nginxのステータスを確認します:
sudo systemctl status nginx
出力例:
Nginxの更新
今後のアップデートでは、通常どおりシステムのアップデートを確認するのと同じように、APTパッケージマネージャーを実行するだけです。
apt update
アップデートが利用可能な場合は、次のコマンドを実行します。これは、Debianシステムをアップデートするためのチュートリアルの開始と同じです。
apt upgrade
代替インストールオプション–OndřejSurýリポジトリ
別の方法は、OndřejSurýリポジトリから最新のNginxメインラインまたは安定版をインストールすることです。多くのUbuntuユーザーは彼のPPAを知っているでしょうし、Debianでもほとんど同じことができます。
Nginxメインラインまたは安定版の最新バージョンを使用するには、最初にリポジトリをインポートする必要があります。
メインラインリポジトリをインポートするには:
curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x
安定したリポジトリをインポートするには:
curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x
新しい変更を反映するようにリポジトリを更新します:
apt update
これで、Nginxリポジトリがインストールされました リポジトリリストを更新し、次のようにNginxをインストールします。
apt install nginx-core nginx-common nginx nginx-full
出力例:
タイプY 、次にEnterキーを押します 続行してインストールを完了します。
既存の/ etc / nginx /を保持または置き換えるように求められる場合があることに注意してください nginx.conf インストール中の構成ファイル。 (n)を押して、現在の構成ファイルを保持することをお勧めします 。メンテナのバージョンに関係なくコピーが作成され、将来的に確認することもできます。
このバージョンでは、追加のモジュール、特にbrotliサポートが利用可能になることに気付くでしょう。 brotliをインストールするには、以下の手順に従ってください。
nginx.confを開きます 構成ファイル:
nano /etc/nginx/nginx.conf
次に、 HTTP {}の前に行を追加します セクション:
brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;
brotli_comp_level 1(最低)の間に設定できます および11(最高) 。通常、ほとんどのサーバーは中央に配置されますが、サーバーがモンスターの場合は、11に設定して、CPU使用率レベルを監視します。
次に、変更を公開する前に、変更が正しく機能していることをテストします。
sudo nginx -t
変更が正しく機能している場合は、次のように表示されます。
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
サーバーを再起動して、変更を有効にします。
sudo systemctl restart nginx