この記事が対象とする環境
CentOS Stream9
CentOS Stream9
WEBサーバーの選定
代表的なWEBサーバーとしては、Nginx、Apacheがありますが、今回はNginx(エンジンエックス)を使用します。私がNginxを選んだ理由は、将来的にPHPの複数バージョンを利用することを想定しているためです。PHPのモジュール版ではなく、FastCGIで切り替えていく形になります。このため、モジュール版PHPは不要なので、Nginxのほうが都合が良かったということです。
- Apache(アパッチ)
PHPはデフォルトでインストールされており、モジュール版です。 - Nginx(エンジンエックス)
PHPはデフォルトでインストールされておらず、使う場合はFastCGIになります。
PHP実行方法の違い
- モジュール版
PHPモジュール(mod_php)を用いて、Apacheの中でPHP処理を実行します。 - CGI
ユーザーからのHTTPリクエストごとにPHPプロセスを起動して、PHPスクリプトの実行が完了すると、PHPプロセスを終了します。 - FastCGI
ユーザーからの初回HTTPリクエスト時にPHPプロセスを起動して、メモリに常駐させた上で、PHPスクリプトを実行します。PHPプロセスはメモリに残っているので終了されません。
Nginxインストール
インストール可能なバージョン確認
管理者権限が無い場合はあらかじめ「su」で切り替えてください。
dnf info nginx
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Last metadata expiration check: 3:12:55 ago on Wed 24 May 2023 04:09:52 AM JST.
Available Packages
Name : nginx
Epoch : 1
Version : 1.22.1
Release : 2.el9
Architecture : x86_64
Size : 39 k
Source : nginx-1.22.1-2.el9.src.rpm
Repository : appstream
Summary : A high performance web server and reverse proxy server
URL : https://nginx.org
License : BSD
Description : Nginx is a web server and a reverse proxy server for HTTP, SMTP, POP3 and
: IMAP protocols, with a strong focus on high concurrency, performance and low
: memory usage.
警告が出ました。
This system is not registered with an entitlement server. You can use subscription-manager to register.
(このシステムは資格サーバーに登録されていません。 サブスクリプションマネージャを使用して登録できます)
CentOS Stream9では、サブスクリプションマネージャが不要という話が多く見られたため、無効化します。RHEL(Red Hat Enterprise Linux)のアップストリームの位置付けのためと思われます。
Centos stream9/サブスクリプションマネージャの無効化
[main]
enabled=1
↓
[main]
enabled=0
もう1度、インストール可能なバージョン確認を確認します。
dnf info nginx
Last metadata expiration check: 3:34:09 ago on Wed 24 May 2023 04:09:52 AM JST.
Available Packages
Name : nginx
Epoch : 1
Version : 1.22.1
Release : 2.el9
Architecture : x86_64
Size : 39 k
Source : nginx-1.22.1-2.el9.src.rpm
Repository : appstream
Summary : A high performance web server and reverse proxy server
URL : https://nginx.org
License : BSD
Description : Nginx is a web server and a reverse proxy server for HTTP, SMTP, POP3 and
: IMAP protocols, with a strong focus on high concurrency, performance and low
: memory usage.
OKです。警告が消えました。
Nginxインストール
dnf install nginx
Last metadata expiration check: 3:35:08 ago on Wed 24 May 2023 04:09:52 AM JST.
Dependencies resolved.
=============================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================
Installing:
nginx x86_64 1:1.22.1-2.el9 appstream 39 k
Installing dependencies:
centos-logos-httpd noarch 90.4-1.el9 appstream 252 k
nginx-core x86_64 1:1.22.1-2.el9 appstream 576 k
nginx-filesystem noarch 1:1.22.1-2.el9 appstream 12 k
Transaction Summary
=============================================================================================================================================
Install 4 Packages
Total download size: 879 k
Installed size: 2.2 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): nginx-1.22.1-2.el9.x86_64.rpm 776 kB/s | 39 kB 00:00
(2/4): centos-logos-httpd-90.4-1.el9.noarch.rpm 3.6 MB/s | 252 kB 00:00
(3/4): nginx-filesystem-1.22.1-2.el9.noarch.rpm 568 kB/s | 12 kB 00:00
(4/4): nginx-core-1.22.1-2.el9.x86_64.rpm 6.4 MB/s | 576 kB 00:00
---------------------------------------------------------------------------------------------------------------------------------------------
Total 3.0 MB/s | 879 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: nginx-filesystem-1:1.22.1-2.el9.noarch 1/4
Installing : nginx-filesystem-1:1.22.1-2.el9.noarch 1/4
Installing : nginx-core-1:1.22.1-2.el9.x86_64 2/4
Installing : centos-logos-httpd-90.4-1.el9.noarch 3/4
Installing : nginx-1:1.22.1-2.el9.x86_64 4/4
Running scriptlet: nginx-1:1.22.1-2.el9.x86_64 4/4
Verifying : centos-logos-httpd-90.4-1.el9.noarch 1/4
Verifying : nginx-1:1.22.1-2.el9.x86_64 2/4
Verifying : nginx-core-1:1.22.1-2.el9.x86_64 3/4
Verifying : nginx-filesystem-1:1.22.1-2.el9.noarch 4/4
Installed products updated.
Installed:
centos-logos-httpd-90.4-1.el9.noarch nginx-1:1.22.1-2.el9.x86_64 nginx-core-1:1.22.1-2.el9.x86_64 nginx-filesystem-1:1.22.1-2.el9.noarch
Complete!
インストール成功です。
Nginxバージョン確認
nginx -v
nginx version: nginx/1.22.1
Nginx起動の自動化
OS再起動時にNginxが自動的に起動するように設定します。
systemctl enable nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
Nginxの起動状態を確認①
「Active: inactive (dead)」
起動の自動化はしましたが、起動操作をしていないし、OS再起動もしていないので、当然起動していません。
systemctl status nginx
○ nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
Active: inactive (dead)
Nginx起動
systemctl start nginx
Nginxの起動状態を確認②
Nginxが起動しました。
systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
Active: active (running) since Wed 2023-05-24 08:05:29 JST; 14s ago
Process: 16814 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 16815 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 16816 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Main PID: 16817 (nginx)
Tasks: 4 (limit: 11125)
Memory: 3.7M
CPU: 47ms
CGroup: /system.slice/nginx.service
├─16817 "nginx: master process /usr/sbin/nginx"
├─16818 "nginx: worker process"
├─16819 "nginx: worker process"
└─16820 "nginx: worker process"
CentOS側のファイアウォールでhttp/httpsの接続が許可されていれば、ブラウザでトップページを表示することができます。
コメント