GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu 18.04、Ubuntu20.04にNginx最新バージョンをインストールする方法

以前、動的Webサイトをホストするための一般的なソフトウェアスタックであるLEMPスタックをUbuntu18.04LTSにインストールする方法について説明しました。ただし、Ubuntu LTS(長期サポート)リリースのソフトウェアは、多くの場合、古くなっています。このチュートリアルでは、Ubuntu18.04とUbuntu20.04にNginxの最新バージョンをインストールする方法を学習します。この記事の執筆時点で、Nginxの最新バージョンは1.17.0であり、2019年5月21日にリリースされています。変更ログはここで確認できます。

公式のNginxリポジトリからUbuntu18.04、20.04にNginx最新バージョンをインストールする

Nginx.orgはUbuntuのリポジトリを維持しています。このリポジトリを使用して、最新バージョンのNginxをインストールできます。まず、次のコマンドを使用してNginxのリポジトリソースファイルを作成します。 Nanoはコマンドラインテキストエディタです。

sudo nano /etc/apt/sources.list.d/nginx.list

ファイルに次の2行を追加します。

deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ bionic nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ bionic nginx

Ubuntu 20.04を使用している場合は、bionicを変更します focal

deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ disco nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ disco nginx

Nanoテキストエディタでファイルを保存するには、CTRL+Oを押します。 、次にEnterを押します 確認するために。 CTRL+Xを押します 出る。このリポジトリからダウンロードされたパッケージの整合性を検証するには、以下のコマンドを使用してNginx公開鍵をインポートする必要があります。

wget http://nginx.org/keys/nginx_signing.key

sudo apt-key add nginx_signing.key

リポジトリがUbuntu18.04システムに追加されたら、次のコマンドを実行してリポジトリ情報を更新します。

sudo apt update

デフォルトのUbuntuソフトウェアリポジトリからNginxをインストールした場合は、それを削除する必要があります。

sudo apt remove nginx nginx-common nginx-full nginx-core

また、メインのNginx構成ファイル/etc/nginx/nginx.confをバックアップすることもできます。 新しいnginx.confに置き換えられるためです 後で最新バージョンのNginxをインストールするときにファイルします。

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

既存のサーバーブロックファイル(別名仮想ホストファイル)はそのまま残ります。次のコマンドを実行して、nginx.orgリポジトリからNginxをインストールします。

sudo apt install nginx

aptパッケージマネージャーから、新しいバージョンの/etc/nginx/nginx.confファイルをインストールするかどうか尋ねられた場合は、「いいえ」と答えることができます。

Nginxをインストールしたら、Nginxの構成をテストします。

sudo nginx -t

テストが成功したら、Nginxを起動します。

sudo systemctl start nginx

起動時に自動起動を有効にします。

sudo systemctl enable nginx

Nginxのステータスを確認するには、

を実行します
systemctl status nginx

出力:

● nginx.service - nginx - high performance web server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-05-26 21:01:10 CST; 3s ago
     Docs: http://nginx.org/en/docs/
  Process: 16159 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
 Main PID: 16160 (nginx)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/nginx.service
           ├─16160 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
           └─16161 nginx: worker process

May 26 21:01:10 bionic.local.domain systemd[1]: Starting nginx - high performance web server...
May 26 21:01:10 bionic.local.domain systemd[1]: Started nginx - high performance web server.

Nginxのバージョンを確認するには、次のコマンドを使用します:

nginx -v

出力:

nginx version: nginx/1.17.0

次の方法で詳細情報を確認することもできます:

nginx -V

出力:

Nginxプロセスユーザーの設定

nginx.orgリポジトリセットnginxのNginxパッケージ /etc/nginx/nginx.confの最初の行から推測できるNginxプロセスユーザーとして ファイル。 (新しいバージョンの/etc/nginx/nginx.confをインストールすることを選択した場合 ファイル。)

user nginx;

ただし、PHP-FPMプロセスのデフォルトのユーザーとグループはwww-dataです。 /etc/php/7.2/fpm/pool.d/www.confに見られるように ファイル。

user = www-data
group = www-data

したがって、www-dataを設定する必要があります /etc/nginx/nginx.confのNginxプロセスユーザーとして ファイル。

sudo nano /etc/nginx/nginx.conf

変更

user nginx;

user www-data;

ファイルを保存して閉じます。次に、Nginxをリロードします。

sudo systemctl reload nginx

サーバーブロックファイルを含む

デフォルトでは、/etc/nginx/conf.d/の下のファイルのみ ディレクトリが含まれます。 sites-enabledでサーバーブロックファイルも使用する場合 ディレクトリで、次の行がhttpに追加されていることを確認します nginx.confのセクション ファイル。

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

CertbotNginxプラグインをインストールする

以前にUbuntuリポジトリからNginxをインストールした場合、nginx.orgリポジトリからNginxをインストールすると、python3-certbot-nginxパッケージが削除された可能性があります。 TLS証明書を通常どおり自動的に更新できるように、インストールし直す必要があります。

sudo apt install python3-certbot-nginx

Nginxを自動的に再起動する方法

Nginxはさまざまな理由でクラッシュすることがあります。クラッシュ後にNginxを自動的に再起動する場合は、Nginxサービスユニットを編集する必要があります。まず、元のNginxサービスユニットを/etc/systemd/system/にコピーします ディレクトリ。

sudo cp /lib/systemd/system/nginx.service /etc/systemd/system/nginx.service

次に、サービスユニットを編集します。

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

[service]に次の行を追加します セクション。

Restart=always
RestartSec=2

そのように:

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
Restart=always
RestartSec=2

これにより、Nginxはクラッシュ後2秒ごとに再起動を試みます。ファイルを保存して閉じます。次に、Nginxを再起動します。

sudo systemctl restart nginx

次のステップ

このチュートリアルが、Ubuntu18.04とUbuntu20.04にNginxの最新バージョンをインストールするのに役立つことを願っています。最新バージョンのMariaDBデータベースサーバーをUbuntu18.04および20.04にインストールすることもできます。

  • Ubuntu 18.04、Ubuntu20.04にMariaDB10.5をインストールする方法

また、セキュリティに関心がある場合は、ModSecurity Webアプリケーションファイアウォールを設定して、WordPressサイトをハッキングから保護することができます。

  • Debian/UbuntuでNginxを使用してModSecurityを設定する方法

いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、新しいヒントやコツを入手してください🙂


Ubuntu
  1. Ubuntuに最新のVimをインストールする方法

  2. Ubuntuに最新バージョンのNitroshareをインストールする方法は?

  3. Ubuntu 20.04 に ClamAV をインストールする方法

  1. Ubuntuに最新バージョンのHandbrakeをインストールする方法

  2. Ubuntu18.04にNginxをインストールする方法

  3. g++ を Ubuntu にインストールする方法

  1. Ubuntu16.04にNginxをインストールする方法

  2. Ubuntu20.04にGitをインストールする方法

  3. Ubuntu20.04にNginxをインストールする方法