【CentOS stream 9】 Nginxをインストール

2022年6月13日

CentOS stream 9にNginx(エンジンエックス)をインストールします。

2019年にApacheを抜いて世界シェア一位になったWEBサーバー「Nginx」、リバースプロキシサーバーの機能も強力です。

使用VPSはConoHa VPSです。

関連記事 Nginx系インストール
1.ConoHa VPS のSSHセキュリティを強化する
2.【CentOS stream 9】 Nginxをインストールする
3.【CentOS stream 9】 Maria DBをインストールする
4.【CentOS stream 9】 phpをインストールする
5.【CentOS stream 9】 Nginxでphp、phpMyAdminを使う
6.【CentOS stream 9】 composerをインストールする
7.【CentOS stream 9】 Nginxに let's encrypt SSL証明書インストール
関連記事 Apache系インストール
1.ConoHa VPS のSSHセキュリティを強化する
2.【CentOS stream 9】 Apacheをインストールする
3.【CentOS stream 9】 Maria DBをインストールする
4.【CentOS stream 9】 phpをインストールする
5.【CentOS stream 9】 composerをインストールする
関連記事 ドメイン
ConoHa WING VPS に サブドメインを追加する

Nginxインストール手順

nginxの情報を確認してみる

# dnf info nginx

Last metadata expiration check: 0:16:53 ago on Wed 25 May 2022 10:40:16 PM JST.
Available Packages
Name         : nginx
Epoch        : 1
Version      : 1.20.1
Release      : 10.el9
Architecture : x86_64
Size         : 603 k
Source       : nginx-1.20.1-10.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.

#

dnfコマンドでインストール、途中で「y」を入力してエンター

リポジトリは「appstream」よりインストールします。

# dnf install nginx

Dependencies resolved.
================================================================================
 Package       Architecture   Version                   Repository         Size
================================================================================
Installing:
 nginx         x86_64         1:1.20.1-10.el9           appstream         603 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 603 k
Installed size: 1.7 M
Is this ok [y/N]: y
Downloading Packages:
nginx-1.20.1-10.el9.x86_64.rpm                  3.3 MB/s | 603 kB     00:00
--------------------------------------------------------------------------------
Total                                           1.2 MB/s | 603 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : nginx-1:1.20.1-10.el9.x86_64                           1/1
  Running scriptlet: nginx-1:1.20.1-10.el9.x86_64                           1/1
  Verifying        : nginx-1:1.20.1-10.el9.x86_64                           1/1
Installed products updated.

Installed:
  nginx-1:1.20.1-10.el9.x86_64

Complete!
#

最後に「Complete!」と表示されます。

Nginxバージョン確認

# nginx -v
nginx version: nginx/1.20.1

Nginx自動化

systemctl enableコマンドで自動起動するように設定

# systemctl enable nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.

systemctl disable コマンドで自動起動を解除できる

# systemctl disable nginx
Removed /etc/systemd/system/multi-user.target.wants/nginx.service.

Nginxの起動

Apacheを起動している場合は、Apacheをストップ、またはアンインストールしてから

# systemctl stop httpd
# dnf remove httpd

systemctl startコマンドで起動

# systemctl start nginx

Nginxの停止

systemctl stopコマンドで起動

# systemctl stop nginx

Nginx状態確認

systemctl statusコマンドで状態確認

# systemctl status nginx
 nginx.service - The nginx HTTP and reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
    Drop-In: /usr/lib/systemd/system/nginx.service.d
             └─php-fpm.conf
     Active: active (running) since Wed 2022-05-25 23:08:29 JST; 8s ago
    Process: 151348 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
    Process: 151349 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
    Process: 151350 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
   Main PID: 151351 (nginx)
      Tasks: 2 (limit: 2702)
     Memory: 2.1M
        CPU: 20ms
     CGroup: /system.slice/nginx.service
             ├─151351 "nginx: master process /usr/sbin/nginx"
             └─151352 "nginx: worker process"

May 25 23:08:29   systemd[1]: Starting The nginx HTTP and reverse proxy server...
May 25 23:08:29   nginx[151349]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
May 25 23:08:29   nginx[151349]: nginx: configuration file /etc/nginx/nginx.conf test is successful
May 25 23:08:29   systemd[1]: Started The nginx HTTP and reverse proxy server.
#

サーバー側 Firewallの設定変更

httpとhttpsのアクセスを許可するように設定を変更します。

Firewallの設定確認コマンド

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: cockpit dhcpv6-client ssh //⇦ここにhttp,httpsがなければ
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Firewallゾーン確認

# firewall-cmd --get-active-zones
public
  interfaces: eth0

httpとhttpsを許可する設定コマンド

# firewall-cmd --permanent --zone=public --add-service=http
success
# firewall-cmd --permanent --zone=public --add-service=https
success

設定反映コマンド

# firewall-cmd --reload
success

Firewallの設定を再確認する

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: cockpit dhcpv6-client http https ssh //⇦ここにhttp,httpsがあることを確認
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

ConoHa VPSのFirewall設定確認

接続許可ポートが「全て許可」または、Web(20/21/80/443)が許可されていることを確認

WEBページにアクセスしてみる

ブラウザのアドレスバーにVPSのIPアドレスを入力してアクセスしてみて、下のような表示になればOKですね。

Nginxの削除

dnf removeコマンドで削除できます。

phpMyAdmin(依存パッケージ/dependent packages)なども同時に削除されます。

消したくない場合は、「--noautoremove 」オプションをつけて「dnf --noautoremove nginx」とするか、dnfコマンドでインストール時に「mark」オプションをつけて「dnf mark install nginx」としておくかです。

# dnf remove 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.

Dependencies resolved.
======================================================================================================================================
 Package                             Architecture            Version                             Repository                      Size
======================================================================================================================================
Removing:
 nginx                               x86_64                  1:1.20.1-10.el9                     @appstream                     1.7 M
Removing dependent packages:
 phpMyAdmin                          noarch                  5.2.0-1.el9.remi                    @remi                           44 M
Removing unused dependencies:
 centos-logos-httpd                  noarch                  90.4-1.el9                          @appstream                     450 k
 gd3php                              x86_64                  2.3.3-5.el9.remi                    @remi                          420 k
 jbigkit-libs                        x86_64                  2.1-23.el9                          @appstream                     114 k
 libXpm                              x86_64                  3.5.13-7.el9                        @appstream                     126 k
 libimagequant                       x86_64                  2.17.0-1.el9                        @epel                          132 k
 libraqm                             x86_64                  0.8.0-1.el9                         @epel                           29 k
 libtiff                             x86_64                  4.2.0-3.el9                         @appstream                     560 k
 libwebp                             x86_64                  1.2.0-3.el9                         @appstream                     768 k
 php-gd                              x86_64                  8.1.6-1.el9.remi                    @remi-modular                  233 k
 php-mysqlnd                         x86_64                  8.1.6-1.el9.remi                    @remi-modular                  898 k
 php-pdo                             x86_64                  8.1.6-1.el9.remi                    @remi-modular                  473 k

Transaction Summary
======================================================================================================================================
Remove  13 Packages

Freed space: 50 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                              1/1
  Erasing          : phpMyAdmin-5.2.0-1.el9.remi.noarch                                                                          1/13
warning: /etc/phpMyAdmin/config.inc.php saved as /etc/phpMyAdmin/config.inc.php.rpmsave
warning: /etc/httpd/conf.d/phpMyAdmin.conf saved as /etc/httpd/conf.d/phpMyAdmin.conf.rpmsave

  Erasing          : php-gd-8.1.6-1.el9.remi.x86_64                                                                              2/13
  Erasing          : gd3php-2.3.3-5.el9.remi.x86_64                                                                              3/13
  Erasing          : libtiff-4.2.0-3.el9.x86_64                                                                                  4/13
  Erasing          : php-mysqlnd-8.1.6-1.el9.remi.x86_64                                                                         5/13
  Running scriptlet: nginx-1:1.20.1-10.el9.x86_64                                                                                6/13
  Erasing          : nginx-1:1.20.1-10.el9.x86_64                                                                                6/13
  Running scriptlet: nginx-1:1.20.1-10.el9.x86_64                                                                                6/13
  Erasing          : centos-logos-httpd-90.4-1.el9.noarch                                                                        7/13
  Erasing          : php-pdo-8.1.6-1.el9.remi.x86_64                                                                             8/13
  Erasing          : jbigkit-libs-2.1-23.el9.x86_64                                                                              9/13
  Erasing          : libwebp-1.2.0-3.el9.x86_64                                                                                 10/13
  Erasing          : libXpm-3.5.13-7.el9.x86_64                                                                                 11/13
  Erasing          : libimagequant-2.17.0-1.el9.x86_64                                                                          12/13
  Erasing          : libraqm-0.8.0-1.el9.x86_64                                                                                 13/13
  Running scriptlet: libraqm-0.8.0-1.el9.x86_64                                                                                 13/13
  Verifying        : centos-logos-httpd-90.4-1.el9.noarch                                                                        1/13
  Verifying        : gd3php-2.3.3-5.el9.remi.x86_64                                                                              2/13
  Verifying        : jbigkit-libs-2.1-23.el9.x86_64                                                                              3/13
  Verifying        : libXpm-3.5.13-7.el9.x86_64                                                                                  4/13
  Verifying        : libimagequant-2.17.0-1.el9.x86_64                                                                           5/13
  Verifying        : libraqm-0.8.0-1.el9.x86_64                                                                                  6/13
  Verifying        : libtiff-4.2.0-3.el9.x86_64                                                                                  7/13
  Verifying        : libwebp-1.2.0-3.el9.x86_64                                                                                  8/13
  Verifying        : nginx-1:1.20.1-10.el9.x86_64                                                                                9/13
  Verifying        : php-gd-8.1.6-1.el9.remi.x86_64                                                                             10/13
  Verifying        : php-mysqlnd-8.1.6-1.el9.remi.x86_64                                                                        11/13
  Verifying        : php-pdo-8.1.6-1.el9.remi.x86_64                                                                            12/13
  Verifying        : phpMyAdmin-5.2.0-1.el9.remi.noarch                                                                         13/13
Installed products updated.

Removed:
  centos-logos-httpd-90.4-1.el9.noarch          gd3php-2.3.3-5.el9.remi.x86_64               jbigkit-libs-2.1-23.el9.x86_64
  libXpm-3.5.13-7.el9.x86_64                    libimagequant-2.17.0-1.el9.x86_64            libraqm-0.8.0-1.el9.x86_64
  libtiff-4.2.0-3.el9.x86_64                    libwebp-1.2.0-3.el9.x86_64                   nginx-1:1.20.1-10.el9.x86_64
  php-gd-8.1.6-1.el9.remi.x86_64                php-mysqlnd-8.1.6-1.el9.remi.x86_64          php-pdo-8.1.6-1.el9.remi.x86_64
  phpMyAdmin-5.2.0-1.el9.remi.noarch

Complete!
次やること
【CentOS stream 9】 Maria DBをインストールする

参考サイト

NginxでPHP7(PHP-FPM)を動作させる [CentOS]

簡単に nginx でhttpsを実施する方法 – Opensourcetechブログ

centos stream 9 に nginx と php8.1 をインストール – Qiita

リバースプロキシの設定方法(NginxとApacheでの設定手順)

Let’s Encryptの自動更新でERR_SSL_PROTOCOL_ERROR発生 – Qiita

CentOS Stream 9にnginxをインストールする – 最新IT技術情報_arkgame.com