Rocky Linux9 Varnishをインストールする
- 作成日 2024.05.22
- Rocky Linux
Rocky Linux9に、cache機能があるリバースプロキシであるVarnishをインストールする手順を記述してます。
環境
- OS Rocky Linux release 9.0 (Blue Onyx)
nginxインストール
先に、アップデートしておきます。
$ sudo dnf update
「dnf」で、「epel-release」をインストールします。
$ sudo dnf install epel-release
========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
=========================================================================================================================================================================
インストール:
epel-release noarch 9-7.el9 extras 19 k
トランザクションの概要
=========================================================================================================================================================================
インストール 1 パッケージ
ダウンロードサイズの合計: 19 k
インストール後のサイズ: 26 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
epel-release-9-7.el9.noarch.rpm 3.3 kB/s | 19 kB 00:05
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 1.6 kB/s | 19 kB 00:11
Rocky Linux 9 - Extras 1.7 MB/s | 1.7 kB 00:00
GPG 鍵 0x350D275D をインポート中:
Userid : "Rocky Enterprise Software Foundation - Release key 2022 <releng@rockylinux.org>"
Fingerprint: 21CB 256A E16F C54C 6E65 2949 702D 426D 350D 275D
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
準備中 : 1/1
インストール中 : epel-release-9-7.el9.noarch 1/1
scriptletの実行中: epel-release-9-7.el9.noarch 1/1
Many EPEL packages require the CodeReady Builder (CRB) repository.
It is recommended that you run /usr/bin/crb enable to enable the CRB repository.
検証中 : epel-release-9-7.el9.noarch 1/1
インストール済み:
epel-release-9-7.el9.noarch
完了しました!
ここではnginxを使用するので、インストールしておきます。
$ sudo dnf install nginx
[sudo] foo のパスワード:
Extra Packages for Enterprise Linux 9 - x86_64 102 kB/s | 21 MB 03:31
Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64 150 B/s | 2.5 kB 00:16
メタデータの期限切れの最終確認: 0:00:01 前の 2024年05月22日 11時54分56秒 に実施しました。
依存関係が解決しました。
=========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
=========================================================================================================================================================================
インストール:
nginx x86_64 1:1.20.1-14.el9_2.1 appstream 36 k
依存関係のインストール:
nginx-core x86_64 1:1.20.1-14.el9_2.1 appstream 565 k
nginx-filesystem noarch 1:1.20.1-14.el9_2.1 appstream 8.5 k
rocky-logos-httpd noarch 90.15-2.el9 appstream 24 k
トランザクションの概要
=========================================================================================================================================================================
インストール 4 パッケージ
ダウンロードサイズの合計: 634 k
インストール後のサイズ: 1.8 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/4): rocky-logos-httpd-90.15-2.el9.noarch.rpm 4.7 kB/s | 24 kB 00:05
(2/4): nginx-filesystem-1.20.1-14.el9_2.1.noarch.rpm 1.6 kB/s | 8.5 kB 00:05
(3/4): nginx-1.20.1-14.el9_2.1.x86_64.rpm 6.5 kB/s | 36 kB 00:05
(4/4): nginx-core-1.20.1-14.el9_2.1.x86_64.rpm 48 kB/s | 565 kB 00:11
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 28 kB/s | 634 kB 00:22
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
準備中 : 1/1
scriptletの実行中: nginx-filesystem-1:1.20.1-14.el9_2.1.noarch 1/4
インストール中 : nginx-filesystem-1:1.20.1-14.el9_2.1.noarch 1/4
インストール中 : nginx-core-1:1.20.1-14.el9_2.1.x86_64 2/4
インストール中 : rocky-logos-httpd-90.15-2.el9.noarch 3/4
インストール中 : nginx-1:1.20.1-14.el9_2.1.x86_64 4/4
scriptletの実行中: nginx-1:1.20.1-14.el9_2.1.x86_64 4/4
検証中 : rocky-logos-httpd-90.15-2.el9.noarch 1/4
検証中 : nginx-filesystem-1:1.20.1-14.el9_2.1.noarch 2/4
検証中 : nginx-1:1.20.1-14.el9_2.1.x86_64 3/4
検証中 : nginx-core-1:1.20.1-14.el9_2.1.x86_64 4/4
インストール済み:
nginx-1:1.20.1-14.el9_2.1.x86_64 nginx-core-1:1.20.1-14.el9_2.1.x86_64 nginx-filesystem-1:1.20.1-14.el9_2.1.noarch rocky-logos-httpd-90.15-2.el9.noarch
完了しました!
nginx起動
nginxを起動します。
$ sudo systemctl start nginx
自動起動も設定する場合は、以下となります。
$ sudo systemctl enable --now nginx
ステータスは、以下で確認できます。
$ sudo 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 2024-05-22 11:58:18 JST; 12s ago
Main PID: 37342 (nginx)
Tasks: 3 (limit: 16518)
Memory: 2.9M
CPU: 51ms
CGroup: /system.slice/nginx.service
├─37342 "nginx: master process /usr/sbin/nginx"
├─37343 "nginx: worker process"
└─37344 "nginx: worker process"
5月 22 11:58:18 localhost.localdomain systemd[1]: Starting The nginx HTTP and reverse proxy server...
5月 22 11:58:18 localhost.localdomain nginx[37340]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
5月 22 11:58:18 localhost.localdomain nginx[37340]: nginx: configuration file /etc/nginx/nginx.conf test is successful
5月 22 11:58:18 localhost.localdomain systemd[1]: Started The nginx HTTP and reverse proxy server.
firewallを設定していれば、許可しておきます。
$ sudo firewall-cmd --permanent --add-service={http,https}
$ sudo firewall-cmd --reload
ブラウザから http://プライベートIP or サーバーアドレス にアクセスすると、nginxが起動していることが確認できます。
設定ファイル
設定ファイルを編集しておきます。
$ sudo nano /etc/nginx/nginx.conf
ポートを8080にしておきます。
server {
listen 8080;
listen [::]:8080;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
変更を反映させるため、再起動します。
$ sudo systemctl restart nginx
Varnish のインストール
インストールします。
$ sudo dnf install varnish -y
メタデータの期限切れの最終確認: 0:18:33 前の 2024年05月22日 13時37分34秒 に実施しました。
依存関係が解決しました。
=========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
=========================================================================================================================================================================
インストール:
varnish x86_64 6.6.2-4.el9_3.1 appstream 1.1 M
依存関係のインストール:
annobin x86_64 12.31-2.el9 appstream 1.0 M
dwz x86_64 0.14-3.el9 appstream 127 k
efi-srpm-macros noarch 6-2.el9_0 appstream 22 k
fonts-srpm-macros noarch 1:2.0.5-7.el9.1 appstream 27 k
gcc x86_64 11.4.1-3.el9 appstream 32 M
gcc-plugin-annobin x86_64 11.4.1-3.el9 appstream 46 k
ghc-srpm-macros noarch 1.5.0-6.el9 appstream 7.8 k
glibc-devel x86_64 2.34-100.el9 appstream 47 k
glibc-headers x86_64 2.34-100.el9 appstream 447 k
go-srpm-macros noarch 3.2.0-3.el9 appstream 26 k
kernel-headers x86_64 5.14.0-427.16.1.el9_4 appstream 7.2 M
kernel-srpm-macros noarch 1.0-13.el9 appstream 15 k
libxcrypt-devel x86_64 4.4.18-3.el9 appstream 28 k
lua-srpm-macros noarch 1-6.el9 appstream 8.5 k
make x86_64 1:4.3-8.el9 baseos 529 k
ocaml-srpm-macros noarch 6-6.el9 appstream 7.8 k
openblas-srpm-macros noarch 2-11.el9 appstream 7.3 k
perl-srpm-macros noarch 1-41.el9 appstream 8.2 k
pyproject-srpm-macros noarch 1.12.0-1.el9 appstream 13 k
python-srpm-macros noarch 3.9-53.el9 appstream 17 k
qt5-srpm-macros noarch 5.15.9-1.el9 appstream 7.9 k
redhat-rpm-config noarch 207-1.el9 appstream 66 k
rust-srpm-macros noarch 17-4.el9 appstream 9.3 k
トランザクションの概要
=========================================================================================================================================================================
インストール 24 パッケージ
ダウンロードサイズの合計: 43 M
インストール後のサイズ: 100 M
パッケージのダウンロード:
(1/24): ghc-srpm-macros-1.5.0-6.el9.noarch.rpm 1.4 kB/s | 7.8 kB 00:05
(2/24): python-srpm-macros-3.9-53.el9.noarch.rpm 3.1 kB/s | 17 kB 00:05
(3/24): rust-srpm-macros-17-4.el9.noarch.rpm 216 kB/s | 9.3 kB 00:00
(4/24): efi-srpm-macros-6-2.el9_0.noarch.rpm 307 kB/s | 22 kB 00:00
(5/24): go-srpm-macros-3.2.0-3.el9.noarch.rpm 518 kB/s | 26 kB 00:00
(6/24): kernel-srpm-macros-1.0-13.el9.noarch.rpm 424 kB/s | 15 kB 00:00
(7/24): lua-srpm-macros-1-6.el9.noarch.rpm 287 kB/s | 8.5 kB 00:00
(8/24): openblas-srpm-macros-2-11.el9.noarch.rpm 28 kB/s | 7.3 kB 00:00
(9/24): redhat-rpm-config-207-1.el9.noarch.rpm 419 kB/s | 66 kB 00:00
(10/24): fonts-srpm-macros-2.0.5-7.el9.1.noarch.rpm 31 kB/s | 27 kB 00:00
(11/24): ocaml-srpm-macros-6-6.el9.noarch.rpm 22 kB/s | 7.8 kB 00:00
(12/24): perl-srpm-macros-1-41.el9.noarch.rpm 8.5 kB/s | 8.2 kB 00:00
(13/24): dwz-0.14-3.el9.x86_64.rpm 48 kB/s | 127 kB 00:02
(14/24): libxcrypt-devel-4.4.18-3.el9.x86_64.rpm 34 kB/s | 28 kB 00:00
(15/24): make-4.3-8.el9.x86_64.rpm 24 kB/s | 529 kB 00:21
(16/24): varnish-6.6.2-4.el9_3.1.x86_64.rpm 72 kB/s | 1.1 MB 00:15
(17/24): gcc-plugin-annobin-11.4.1-3.el9.x86_64.rpm 39 kB/s | 46 kB 00:01
(18/24): annobin-12.31-2.el9.x86_64.rpm 46 kB/s | 1.0 MB 00:22
(19/24): qt5-srpm-macros-5.15.9-1.el9.noarch.rpm 44 kB/s | 7.9 kB 00:00
(20/24): glibc-headers-2.34-100.el9.x86_64.rpm 59 kB/s | 447 kB 00:07
(21/24): glibc-devel-2.34-100.el9.x86_64.rpm 23 kB/s | 47 kB 00:02
(22/24): pyproject-srpm-macros-1.12.0-1.el9.noarch.rpm 23 kB/s | 13 kB 00:00
(23/24): kernel-headers-5.14.0-427.16.1.el9_4.x86_64.rpm 116 kB/s | 7.2 MB 01:03
(24/24): gcc-11.4.1-3.el9.x86_64.rpm 153 kB/s | 32 MB 03:35
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 177 kB/s | 43 MB 04:07
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
準備中 : 1/1
インストール中 : pyproject-srpm-macros-1.12.0-1.el9.noarch 1/24
インストール中 : glibc-headers-2.34-100.el9.x86_64 2/24
インストール中 : qt5-srpm-macros-5.15.9-1.el9.noarch 3/24
インストール中 : kernel-headers-5.14.0-427.16.1.el9_4.x86_64 4/24
インストール中 : glibc-devel-2.34-100.el9.x86_64 5/24
インストール中 : libxcrypt-devel-4.4.18-3.el9.x86_64 6/24
インストール中 : dwz-0.14-3.el9.x86_64 7/24
インストール中 : ocaml-srpm-macros-6-6.el9.noarch 8/24
インストール中 : perl-srpm-macros-1-41.el9.noarch 9/24
インストール中 : openblas-srpm-macros-2-11.el9.noarch 10/24
インストール中 : lua-srpm-macros-1-6.el9.noarch 11/24
インストール中 : kernel-srpm-macros-1.0-13.el9.noarch 12/24
インストール中 : efi-srpm-macros-6-2.el9_0.noarch 13/24
インストール中 : rust-srpm-macros-17-4.el9.noarch 14/24
インストール中 : ghc-srpm-macros-1.5.0-6.el9.noarch 15/24
インストール中 : make-1:4.3-8.el9.x86_64 16/24
インストール中 : gcc-11.4.1-3.el9.x86_64 17/24
インストール中 : annobin-12.31-2.el9.x86_64 18/24
インストール中 : gcc-plugin-annobin-11.4.1-3.el9.x86_64 19/24
インストール中 : python-srpm-macros-3.9-53.el9.noarch 20/24
インストール中 : fonts-srpm-macros-1:2.0.5-7.el9.1.noarch 21/24
インストール中 : go-srpm-macros-3.2.0-3.el9.noarch 22/24
インストール中 : redhat-rpm-config-207-1.el9.noarch 23/24
scriptletの実行中: redhat-rpm-config-207-1.el9.noarch 23/24
scriptletの実行中: varnish-6.6.2-4.el9_3.1.x86_64 24/24
インストール中 : varnish-6.6.2-4.el9_3.1.x86_64 24/24
scriptletの実行中: varnish-6.6.2-4.el9_3.1.x86_64 24/24
検証中 : make-1:4.3-8.el9.x86_64 1/24
検証中 : ghc-srpm-macros-1.5.0-6.el9.noarch 2/24
検証中 : python-srpm-macros-3.9-53.el9.noarch 3/24
検証中 : rust-srpm-macros-17-4.el9.noarch 4/24
検証中 : efi-srpm-macros-6-2.el9_0.noarch 5/24
検証中 : fonts-srpm-macros-1:2.0.5-7.el9.1.noarch 6/24
検証中 : go-srpm-macros-3.2.0-3.el9.noarch 7/24
検証中 : kernel-srpm-macros-1.0-13.el9.noarch 8/24
検証中 : lua-srpm-macros-1-6.el9.noarch 9/24
検証中 : openblas-srpm-macros-2-11.el9.noarch 10/24
検証中 : redhat-rpm-config-207-1.el9.noarch 11/24
検証中 : perl-srpm-macros-1-41.el9.noarch 12/24
検証中 : ocaml-srpm-macros-6-6.el9.noarch 13/24
検証中 : annobin-12.31-2.el9.x86_64 14/24
検証中 : dwz-0.14-3.el9.x86_64 15/24
検証中 : libxcrypt-devel-4.4.18-3.el9.x86_64 16/24
検証中 : varnish-6.6.2-4.el9_3.1.x86_64 17/24
検証中 : kernel-headers-5.14.0-427.16.1.el9_4.x86_64 18/24
検証中 : gcc-plugin-annobin-11.4.1-3.el9.x86_64 19/24
検証中 : gcc-11.4.1-3.el9.x86_64 20/24
検証中 : qt5-srpm-macros-5.15.9-1.el9.noarch 21/24
検証中 : glibc-headers-2.34-100.el9.x86_64 22/24
検証中 : glibc-devel-2.34-100.el9.x86_64 23/24
検証中 : pyproject-srpm-macros-1.12.0-1.el9.noarch 24/24
インストール済み:
annobin-12.31-2.el9.x86_64 dwz-0.14-3.el9.x86_64 efi-srpm-macros-6-2.el9_0.noarch fonts-srpm-macros-1:2.0.5-7.el9.1.noarch
gcc-11.4.1-3.el9.x86_64 gcc-plugin-annobin-11.4.1-3.el9.x86_64 ghc-srpm-macros-1.5.0-6.el9.noarch glibc-devel-2.34-100.el9.x86_64
glibc-headers-2.34-100.el9.x86_64 go-srpm-macros-3.2.0-3.el9.noarch kernel-headers-5.14.0-427.16.1.el9_4.x86_64 kernel-srpm-macros-1.0-13.el9.noarch
libxcrypt-devel-4.4.18-3.el9.x86_64 lua-srpm-macros-1-6.el9.noarch make-1:4.3-8.el9.x86_64 ocaml-srpm-macros-6-6.el9.noarch
openblas-srpm-macros-2-11.el9.noarch perl-srpm-macros-1-41.el9.noarch pyproject-srpm-macros-1.12.0-1.el9.noarch python-srpm-macros-3.9-53.el9.noarch
qt5-srpm-macros-5.15.9-1.el9.noarch redhat-rpm-config-207-1.el9.noarch rust-srpm-macros-17-4.el9.noarch varnish-6.6.2-4.el9_3.1.x86_64
完了しました!
以下のコマンドでバージョンは確認できます。
$ varnishd -V
varnishd (varnish-6.6.2 revision 17c51b08e037fc8533fb3687a042a867235fc72f)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2020 Varnish Software
自動起動を設定しておきます。
$ sudo systemctl enable --now varnish
Created symlink /etc/systemd/system/multi-user.target.wants/varnish.service → /usr/lib/systemd/system/varnish.service.
ステータスを確認します。
$ systemctl status varnish
● varnish.service - Varnish Cache, a high-performance HTTP accelerator
Loaded: loaded (/usr/lib/systemd/system/varnish.service; enabled; preset: disabled)
Active: active (running) since Wed 2024-05-22 14:06:49 JST; 2min 25s ago
Process: 39345 ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m (code=exited, status=0/SUCCESS)
Main PID: 39346 (varnishd)
Tasks: 217
Memory: 119.7M
CPU: 877ms
CGroup: /system.slice/varnish.service
├─39346 /usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m
└─39367 /usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m
5月 22 14:06:49 localhost.localdomain varnishd[39346]: Warnings:
5月 22 14:06:49 localhost.localdomain varnishd[39346]: VCL compiled.
5月 22 14:06:49 localhost.localdomain varnishd[39346]: Debug: Version: varnish-6.6.2 revision 17c51b08e037fc8533fb3687a042a867235fc72f
5月 22 14:06:49 localhost.localdomain varnishd[39346]: Version: varnish-6.6.2 revision 17c51b08e037fc8533fb3687a042a867235fc72f
5月 22 14:06:49 localhost.localdomain varnishd[39346]: Debug: Platform: Linux,5.14.0-427.13.1.el9_4.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
5月 22 14:06:49 localhost.localdomain varnishd[39346]: Platform: Linux,5.14.0-427.13.1.el9_4.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
5月 22 14:06:49 localhost.localdomain varnishd[39346]: Debug: Child (39367) Started
5月 22 14:06:49 localhost.localdomain varnishd[39346]: Child (39367) Started
5月 22 14:06:49 localhost.localdomain varnishd[39346]: Child (39367) said Child starts
5月 22 14:06:49 localhost.localdomain systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.
ステータスを確認します。
$ systemctl status varnish
Varnish 設定
デフォルトのポートは6081になっているので80に変更しておきます。
$ sudo nano /usr/lib/systemd/system/varnish.service
下から5行目を「6081」から「80」に変更します。
[Unit]
Description=Varnish Cache, a high-performance HTTP accelerator
After=network-online.target
[Service]
Type=forking
KillMode=process
# Maximum number of open files (for ulimit -n)
LimitNOFILE=131072
# Locked shared memory - should suffice to lock the shared memory log
# (varnishd -l argument)
# Default log size is 80MB vsl + 1M vsm + header -> 82MB
# unit is bytes
LimitMEMLOCK=85983232
# Enable this to avoid "fork failed" on reload.
TasksMax=infinity
# Maximum size of the corefile.
LimitCORE=infinity
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
ExecReload=/usr/sbin/varnishreload
[Install]
WantedBy=multi-user.target
変更反映させるため、再起動します。
$ sudo systemctl daemon-reload
$ sudo systemctl restart varnish
有効になってるか確認するために「curl」を実行します。
$ curl -I http://ipアドレスなど
HTTP/1.1 200 OK
Server: nginx/1.20.1
Date: Wed, 22 May 2024 05:17:21 GMT
Content-Type: text/html
Content-Length: 7620
Last-Modified: Wed, 21 Feb 2024 13:12:33 GMT
ETag: "65d5f6c1-1dc4"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.6)
Accept-Ranges: bytes
Connection: keep-alive
-
前の記事
Nuxt.js3 「NuxtWelcome」の場所 2024.05.22
-
次の記事
google スプレッドシート 行を非表示にするショートカットキー 2024.05.22
コメントを書く