このセクションでは、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アドレス)