conohaVPS(CentOS Stream9)にNginxをインストール

Webサーバー
この記事が対象とする環境
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の接続が許可されていれば、ブラウザでトップページを表示することができます。

札幌在住エンジニア。JavaやPHPやWordPressを中心とした記事が中心です。

【SE歴】四半世紀以上
【Backend】php / java(spring) / c# / AdobeFlex / c++ / VB / cobol
【Frontend】 vue.js / jquery他 / javascript / html / css
【DB】oracle / mysql / mariadb / sqlite
【infrastructure】aws / oracle / gcp
【license】aws(saa-c03) / oracle master / XML Master / Sun Certified Programmer for the Java 2 Platform 1.4

Nobelをフォローする
Webサーバー
Nobelをフォローする

コメント

タイトルとURLをコピーしました