Raspberry Pi に nginx をインストールする

Raspberry Pi に nginx をインストールする方法を解説します。

実施環境は、以下です。
OS : Raspberry Pi OS Lite (64-bit)、OSバージョン 11 (bullseye)、カーネルバージョン 5.15.56-v8+

解説

インストールの流れは以下です。

  1. Apacheサービスの自動起動の無効化と停止
  2. nginxがインストールされているかの確認
  3. nginxのインストール

Apacheの自動起動の無効化と停止

Apacheサービスの自動起動(OSの起動時にサービスを起動)の設定の確認

以下のコマンドで、systemctlが利用可能なサービス一覧を表示します。



コマンドオプション解説)

・list-unit-files
systemdがロードしないものを含め、systemdパス内の利用可能なユニットファイルをすべて表示する。
・--type=service
サービスを表示する。

コマンドの結果表示されるサービスリストから「apache2.service」を探します。
「apache2.service」がない場合は、Apacheはインストールされていません。
「apache2.service」がある場合は、Apacheはインストールされています。STATEを確認します。
STATEが、「enabled」となっている場合は、自動起動(OSの起動時にサービスを起動)は有効になっています。
STATEが、「disabled」となっている場合は、自動起動(OSの起動時にサービスを起動)は無効になっています。

設定を確認したら、「ctrl + c」を押下し、コマンドを終了します。

Apacheの自動起動を無効化

Apacheがインストールされていて、かつ、自動起動が有効になっている場合は、

以下のコマンドを実行し、Apacheサービスの自動起動を無効化します。



さらに、以下のコマンドを実行し、Apacheサービスを停止します。

インストール

nginxがインストールされているかの確認

以下のコマンドを実行し、nginx がインストールされているかを確認します。



コマンドの結果、
「-bash: nginx: command not found」のように表示された場合は、nginx は、インストールされていません。
「nginx version: nginx/X.X.X」のように表示された場合は、nginx は、既にインストールされています。

nginxのインストール

まず、最新のパッケージリストを取得します。
以下のコマンドを実行します。



以下のコマンドを実行し、nginx をインストールします。



インストールが完了するまで、数分待ちます。

動作確認

他のデバイスからアクセス

ブラウザで、アクセスしてみる。
http://[nginxサービスを起動したデバイスのIPアドレス]/index.nginx-debian.html

nginxのデフォルトページが表示されます。

補足)
http://[Raspberry Pi のIPアドレス]
にアクセスしたとき、

・Apacheがインストールされている場合
Apacheのデフォルトページが表示されます。
実際には、「/var/www/html/index.html」が表示されます。このファイルの内容は、Apacheのデフォルトページです。
・Apacheがインストールされていない場合
nginxのデフォルトページが表示されます。
実際には、「/var/www/html/index.nginx-debian.html」が表示されます。このファイルの内容は、nginxのデフォルトページです。

参考

nginxサービスの自動起動(OSの起動時にサービスを起動)の設定の確認

以下のコマンドで、systemctlが利用可能なサービス一覧を表示します。



コマンドオプション解説)

・list-unit-files
systemdがロードしないものを含め、systemdパス内の利用可能なユニットファイルをすべて表示する。
・--type=service
サービスを表示する。

コマンドの結果表示されるサービスリストから「nginx.service」を探します。
「nginx.service」のSTATEを確認します。
STATEが、「enabled」となっている場合は、自動起動(OSの起動時にサービスを起動)は有効になっています。
STATEが、「disabled」となっている場合は、自動起動(OSの起動時にサービスを起動)は無効になっています。

設定を確認したら、「ctrl + c」を押下し、コマンドを終了します。

nginxサービスの自動起動を有効化/無効化する方法

nginxサービスの自動起動を有効化するには、以下のコマンドを実行します。
補足)インストール直後は、自動起動が有効になっているので、特に理由が無い場合は、以下のコマンドを実行する必要はない。



nginx サービスの自動起動を無効化するには、以下のコマンドを実行します。
補足)手動でサービスを開始、停止する場合や、他のWebサーバーサービスを使用する際に実行する。

nginxサービスのサービスの状態の確認

nginxサービスが開始しているか停止しているかの状態を確認するには、以下のコマンドを実行します。



コマンドの結果表示される情報から「Active:」行を探します。
「Active:」が、「active (running)」となっている場合は、サービスは開始しています。
「Active:」が、「inactive (dead)」となっている場合は、サービスは停止しています。

設定を確認したら、「ctrl + c」を押下し、コマンドを終了します。

nginxサービスのサービスを開始/停止する方法

nginxサービスを開始するには、以下のコマンドを実行します。
補足)インストール直後は、サービスは開始済みなので、特に理由が無い場合は、以下のコマンドを実行する必要はない。



nginxサービスを停止するには、以下のコマンドを実行します。
注意)自動起動が有効になっている場合は、サービスを停止しても、OSを再起動すると、サービスは開始する。

関連ページ

Laravel プロジェクトを、nginxに設定する