サイトアイコン アラコキからの Raspberry Pi 電子工作

Raspberry Pi Webサーバー Nginx の Update

Webサーバー サイトの管理
Webサーバー
Nginx のみを バージョンアップする
 
Raspberry Pi を「full-upgrade」すると、PHPのバージョンが【7.4 から 8.0】にバージョンアップされた。そこで、これに合わせて Nginx もバージョンアップすることにした。
 
 
以下、Nginx のバージョンを【1.18.0 から 1.20.1】にアップデートした記録。
 
 

 

スポンサー リンク

 

 
 
 
 
 
1. 「full-upgrade」で Nginx がバージョンがアップされない理由
 
sudo apt update の実行結果。
 
エラーメッセージ。
N: リポジトリ 'http://nginx.org/packages/debian buster InRelease' がアーキテクチャ 'armhf' をサポートしないため設定ファイル 'nginx/binary-armhf/Packages' の取得をスキップ
 
 
原因。
Nginx の最新版をインストールするために、
 sudo nano /etc/apt/sources.list 
で、「sources.list」に nginx公式のリポジトリを登録している。
 
「sources.list」の内容。
 
このように、Raspbian の「デフォルトパッケージリポジトリ」を使用せずに、nginxのリポジトリを登録して Nginx をインストールしていると、nginxの公式リポジトリが、Raspberry Pi のプラットフォーム『armhf』をサポートしていない為、更新情報が取得されずスキップされる。
 
この「エラーメッセージ」を止めるには、「sources.list」に登録されているnginxのリポジトリを削除すればよい。
 
 
 
2. Nginx の最新バージョン
 
現在稼働中の Nginx と PHP のバージョン。
 
Nginx の公式サイトで、最新版(Stable version)を確認する。
 
Stable version は【1.20.1】が最新。
 
「Nginx のみ」を、最新バージョンにアップデートする。
 
 
 
3. Nginx のバージョンアップ手順
 
nginx ソースの公式リポジトリを追加した後、パッケージ・リストの更新を行ってから、debian用の stableの最新版nginx をインストールする。
 
1. 既存のNginxをアンインストールする。
sudo apt-get remove nginx nginx-common
 
Nginxのアンインストール。
 
2. nginx公式リポジトリの鍵を登録。
wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
 
nginx公式リポジトリの鍵を登録した結果。
 
3. nginx公式のリポジトリを登録。
sudo nano /etc/apt/sources.list
 
下記を追記。(注意:赤字は Raspbian のバージョン)
deb http://nginx.org/packages/debian/ buster nginx
deb-src http://nginx.org/packages/debian/ buster nginx
 
sources.list への登録結果。
 
4. ソースの入手。
sudo apt-get update
sudo apt-get build-dep nginx

ソースの入手
sudo apt-get source nginx
 
ソースの入手結果。
 
5. ソースからパッケージをビルド。赤字の箇所は、バージョンに応じて変更する。
ソースコードからバイナリパッケージを生成
cd nginx-1.20.1
sudo dpkg-buildpackage -uc -b
cd

パッケージのインストール
sudo dpkg -i nginx_1.20.1-1~buster_armhf.deb
このパスは、バイナリパッケージを生成した結果の「dpkg-deb」に表示される。
 
ソースコードから、バイナリパッケージを生成した結果。
 
パッケージのインストール結果。
 
 
途中で、「/etc/nginx/conf.d/default.conf」の取り扱いについて選択が出来る。
 
次に、「/etc/nginx/nginx.conf」の取り扱いについも選択が出来る。
 
双方ともに、「y」を入力し新しい設定にしたが、「n」を入力し現行の設定をそのまま残すべきだった。
 
 
nginx のバージョン確認。
nginx -v
 
バージョンアップ結果。
 
 
 
4. Nginx の設定の確認
 
/etc/nginx/nginx.conf の確認。
sudo nano /etc/nginx/nginx.conf
 
/etc/nginx/conf.d/default.conf の確認。
sudo nano /etc/nginx/conf.d/default.conf
 
 
以上、Nginx のみをバージョンアップしても、問題なく稼働。
 
 
 
5. WordPressに於ける PHP8.0 の問題
 
PHP 8.0には多くの新機能や最適化が反映されており、
WordPress本体(5.8.2)やプラグインが完全に対応できていない。
現状では、PHP7.4に戻して運用せざるを得なかった。
 
 
以上。
(2021.07.01)
 

 

スポンサー リンク

 

             

 

 

 
モバイルバージョンを終了