このセクションでは、AlmaLinux での Nginx の初期インストールと立ち上げについて紹介していきます。

AlmaLinux 9.2 に Nginx をインストールしていきます。

[user@pub-web ~]$ sudo cat /etc/redhat-release 
AlmaLinux release 9.2 (Turquoise Kodkod)
[user@pub-web ~]$ 

Nginxのインストール用にレポジトリを作成します。

[user@pub-web ~]$ sudo vi /etc/yum.repos.d/nginx.repo
 [nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/9/$basearch/
gpgcheck=0
enabled=0

nginx.repoファイルができるていることを確認します。

[user@pub-web ~]$ ls -la /etc/yum.repos.d/
total 64
drwxr-xr-x.  2 root root 4096 Aug 13 20:34 .
drwxr-xr-x. 76 root root 8192 Aug 13 20:30 ..
-rw-r--r--.  1 root root 1023 May  9 10:23 almalinux-appstream.repo
-rw-r--r--.  1 root root  987 May  9 10:23 almalinux-baseos.repo
-rw-r--r--.  1 root root  951 May  9 10:23 almalinux-crb.repo
-rw-r--r--.  1 root root  987 May  9 10:23 almalinux-extras.repo
-rw-r--r--.  1 root root 1107 May  9 10:23 almalinux-highavailability.repo
-rw-r--r--.  1 root root  951 May  9 10:23 almalinux-nfv.repo
-rw-r--r--.  1 root root  963 May  9 10:23 almalinux-plus.repo
-rw-r--r--.  1 root root 1107 May  9 10:23 almalinux-resilientstorage.repo
-rw-r--r--.  1 root root  939 May  9 10:23 almalinux-rt.repo
-rw-r--r--.  1 root root  951 May  9 10:23 almalinux-sap.repo
-rw-r--r--.  1 root root  999 May  9 10:23 almalinux-saphana.repo
-rw-r--r--.  1 root root   98 Aug 13 20:34 nginx.repo
[user@pub-web ~]$ 

作成したレポジトリからインストールできるNginx の情報を確認します。ここでは、1.24.0 バージョンの Nginx がインストールできます。

[user@pub-web ~]$ sudo dnf --enablerepo=nginx info nginx
Last metadata expiration check: 1:22:26 ago on Sun Aug 13 20:39:56 2023.
Installed Packages
Name         : nginx
Epoch        : 1
Version      : 1.24.0
Release      : 1.el9.ngx
Architecture : x86_64
Size         : 3.0 M
Source       : nginx-1.24.0-1.el9.ngx.src.rpm
Repository   : @System
From repo    : nginx
Summary      : High performance web server
URL          : https://nginx.org/
License      : 2-clause BSD-like license
Description  : nginx [engine x] is an HTTP and reverse proxy server, as well as
             : a mail proxy server.

[user@pub-web ~]$ 

作成したレポジトリを指定して、Nginx のインストールを開始します。

[user@pub-web ~]$ sudo yum --enablerepo=nginx install nginx
nginx repo                                      3.2 kB/s | 2.9 kB     00:00    
Dependencies resolved.
================================================================================
 Package       Architecture   Version                       Repository     Size
================================================================================
Installing:
 nginx         x86_64         1:1.24.0-1.el9.ngx            nginx         868 k

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

Total size: 868 k
Installed size: 3.0 M
Is this ok [y/N]: y
Downloading Packages:
[SKIPPED] nginx-1.24.0-1.el9.ngx.x86_64.rpm: Already downloaded                
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Running scriptlet: nginx-1:1.24.0-1.el9.ngx.x86_64                        1/1 
  Installing       : nginx-1:1.24.0-1.el9.ngx.x86_64                        1/1 
  Running scriptlet: nginx-1:1.24.0-1.el9.ngx.x86_64                        1/1 
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* https://nginx.org/en/docs/

Please subscribe to nginx-announce mailing list to get
the most important news about nginx:
* https://nginx.org/en/support.html

Commercial subscriptions for nginx are available on:
* https://nginx.com/products/

----------------------------------------------------------------------

  Verifying        : nginx-1:1.24.0-1.el9.ngx.x86_64                        1/1 

Installed:
  nginx-1:1.24.0-1.el9.ngx.x86_64                                               

Complete!
[user@pub-web ~]$ 

インストールされた Nginx のバージョンを確認します。

[user@pub-web ~]$ sudo nginx -v
[sudo] password for yuji: 
nginx version: nginx/1.24.0
[user@pub-web ~]$ 

Nginx の自動起動オプションを有効にします。

[user@pub-web ~]$ sudo systemctl enable nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
[user@pub-web ~]$ 

Nginx の自動起動オプションが有効になっていることを確認します。

[user@pub-web ~]$ sudo systemctl is-enabled nginx
enabled
[user@pub-web ~]$

Nginx を起動します。

[user@pub-web ~]$ sudo systemctl start nginx
[user@pub-web ~]$ 

Nginx が起動中であることを確認します。

[user@pub-web ~]$ sudo systemctl status nginx
● nginx.service - nginx - high performance web server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: di>
     Active: active (running) since Sun 2023-08-13 20:45:58 EDT; 5s ago
       Docs: http://nginx.org/en/docs/
    Process: 15083 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exi>
   Main PID: 15084 (nginx)
      Tasks: 3 (limit: 11125)
     Memory: 2.8M
        CPU: 6ms
     CGroup: /system.slice/nginx.service
             ├─15084 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx>
             ├─15085 "nginx: worker process"
             └─15086 "nginx: worker process"

Aug 13 20:45:58 pub-web systemd[1]: Starting nginx - high performance web serve>
Aug 13 20:45:58 pub-web systemd[1]: Started nginx - high performance web server.

[user@pub-web ~]$

Nginx の設定ファイルは、以下ディレクトリに保存されます。

[user@pub-web ~]$ sudo ls -la /etc/nginx/
total 36
drwxr-xr-x.  4 root root  149 Aug 13 21:46 .
drwxr-xr-x. 80 root root 8192 Aug 13 21:46 ..
drwxr-xr-x.  2 root root   46 Aug 13 21:46 conf.d
drwxr-xr-x.  2 root root   22 Aug 13 21:46 default.d
-rw-r--r--.  1 root root 1007 Apr 11 13:23 fastcgi_params
-rw-r--r--.  1 root root 5349 Apr 11 13:23 mime.types
lrwxrwxrwx.  1 root root   29 Apr 11 13:23 modules -> ../../usr/lib64/nginx/modules
-rw-r--r--.  1 root root  648 Apr 11 13:21 nginx.conf
-rw-r--r--.  1 root root  636 Apr 11 13:23 scgi_params
-rw-r--r--.  1 root root  664 Apr 11 13:23 uwsgi_params
[user@pub-web ~]$ 

Nginx でのWEBサイトの公開ディレクトリは以下となります。

[user@pub-web ~]$ sudo ls -la /usr/share/nginx/html/
total 8
drwxr-xr-x. 2 root root  40 Aug  9 09:57 .
drwxr-xr-x. 3 root root  18 Aug  9 09:57 ..
-rw-r--r--. 1 root root 497 Apr 11 13:23 50x.html
-rw-r--r--. 1 root root 615 Apr 11 13:23 index.html
[user@pub-web ~]$ 

Nginx のログは、以下ディレクトリに保存されます。

[user@pub-web ~]$ sudo ls -la /var/log/nginx/
total 12
drwxr-xr-x.  2 root  root   41 Aug 13 20:39 .
drwxr-xr-x. 10 root  root 4096 Aug 13 21:46 ..
-rw-r-----.  1 nginx adm   556 Aug 13 21:51 access.log
-rw-r-----.  1 nginx adm   817 Aug 13 21:31 error.log
[user@pub-web ~]$ 

ファイアウォールで HTTPとHTTPSのサービスを許可します。

[user@pub-web ~]$ sudo firewall-cmd --add-service=http --zone=public --permanent
success
[user@pub-web ~]$ 
[user@pub-web ~]$ sudo firewall-cmd --add-service=https --zone=public --permanent
success
[user@pub-web ~]$ 

ファイアウォールの現在の設定で、HTTPとHTTPSのサービスが許可されていることを確認します。

[user@pub-web ~]$ sudo firewall-cmd --list-services --zone=public --permanent
cockpit dhcpv6-client http https ssh
[user@pub-web ~]$ 

ファイアウォールの現在の設定を反映させます。

[user@pub-web ~]$ sudo firewall-cmd --reload
success
[user@pub-web ~]$ 

ブラウザで、以下URLにアクセスして ページが表示されれば終了です。
http://(Nginxが起動するサーバーのIPアドレス)