NginxでWebサーバを構築する!(Rocky Linux 9)

Rocky Linux 9上に、NginxでWebサーバを構築します。

インストール環境を確認する!

インストール環境を確認します。

# hostnamectl
 Static hostname: vmswww11.loc.lab4ict.com
       Icon name: computer-vm
         Chassis: vm
      Machine ID: b562ef5fa24c465d81798fd3224943d6
         Boot ID: ad2954dac8104d70994a2e0cc80ebc41
  Virtualization: oracle
Operating System: Rocky Linux 9.2 (Blue Onyx)       
     CPE OS Name: cpe:/o:rocky:rocky:9::baseos
          Kernel: Linux 5.14.0-284.11.1.el9_2.x86_64
    Architecture: x86-64
 Hardware Vendor: innotek GmbH
  Hardware Model: VirtualBox
Firmware Version: VirtualBox

通信の許可設定を行う!

通信の許可設定を行います。

# firewall-cmd --permanent --add-service=http
success
# firewall-cmd --permanent --add-service=https
success
# firewall-cmd --reload
success
# firewall-cmd --list-services
cockpit dhcpv6-client http https ssh

Nginxをインストールする!

Nginxをインストールします。

# dnf -y install nginx
...
========================================================================================================================

 Package                          Architecture          Version                          Repository                Size
========================================================================================================================
Installing:
 nginx                            x86_64                1:1.20.1-14.el9                  appstream                 38 k
Installing dependencies:
 nginx-core                       x86_64                1:1.20.1-14.el9                  appstream                567 k
 nginx-filesystem                 noarch                1:1.20.1-14.el9                  appstream                 10 k
 rocky-logos-httpd                noarch                90.14-1.el9                      appstream                 24 k

Transaction Summary
========================================================================================================================
Install  4 Packages
...
Complete!

Nginxの起動設定を行う!

Nginxが自動起動するように設定します。

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

Nginxの起動確認を行う!

Nginxが自動起動に設定されていることと、起動中であることを確認します。

# systemctl status nginx.service
● nginx.service - The nginx HTTP and reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
     Active: active (running) since Sat 2023-06-24 18:57:00 JST; 48s ago
    Process: 31715 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
    Process: 31716 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
    Process: 31717 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
   Main PID: 31718 (nginx)
      Tasks: 2 (limit: 11008)
     Memory: 1.9M
        CPU: 19ms
     CGroup: /system.slice/nginx.service
             ├─31718 "nginx: master process /usr/sbin/nginx"
             └─31719 "nginx: worker process"

アクセス確認を行う!

curlコマンド等で、アクセス確認を行います。FQDNのホスト名の場合、ブラウザからはhttpsでないとアクセスできない場合があるので注意しましょう。

curl http://vmswww11.loc.lab4ict.com

ブラウザでアクセする場合は、以下のように短縮のホスト名でアクセスできるように、名前解決の設定を行います。

http://vmswww11.loc.lab4ict.com

設定ファイルを確認する!

Nginxの設定ファイルの配置先を確認します。

# ls -l /etc/nginx/nginx.conf
-rw-r--r--. 1 root root 2334 Apr 21 19:42 /etc/nginx/nginx.conf

コンテンツを配置する!

WWWサーバで公開するコンテンツは、以下に配置します。

# ls -l /usr/share/nginx/html
total 12
-rw-r--r--. 1 root root 3332 Apr 21 19:40 404.html
-rw-r--r--. 1 root root 3404 Apr 21 19:40 50x.html
drwxr-xr-x. 2 root root   27 Jun 24 18:55 icons
lrwxrwxrwx. 1 root root   25 Apr 21 19:42 index.html -> ../../testpage/index.html
-rw-r--r--. 1 root root  368 Apr 21 19:40 nginx-logo.png
lrwxrwxrwx. 1 root root   14 Apr 21 19:42 poweredby.png -> nginx-logo.png
lrwxrwxrwx. 1 root root   37 Apr 21 19:42 system_noindex_logo.png -> ../../pixmaps/system-noindex-logo.png

おわりに

Rocky Linux 9では、NginxをRocky Linux 9のリポジトリからインストールすることができます。

関連記事

参考書籍(Amazon)