GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7でVarnishCacheを使用してApacheを高速化する方法

Varnish Cache (一般にワニスとして知られています )は、Webサーバーの高速化を目的としたオープンソースの一般的なリバースプロキシHTTPアクセラレータです。過度に利用されているAPIエンドポイント用に設計されており、大量のコンテンツを提供し、トラフィックが多い動的サイト用にも設計されています。

Nginxの場合 :CentOS7にNginx用のVarnishCacheをインストールする方法

基本的に、CPU負荷を削減するのに役立ちます。 Webサーバーでの負荷分散をサポートし、キャッシュをRAMに保存した結果、Webブラウザがサイトをすばやくロードできるようにします。 Facebookを含む多くの大企業がこれを使用しています 、 Twitter、 およびウィキペディア ほんの数例です。

要件

  1. ApacheがインストールされたCentOS7
  2. 静的IPアドレスを持つCentOS7

この記事では、 Varnish Cache6.5をインストールして使用する方法について説明します。 Apacheのフロントエンドとして CentOS 7のWebサーバー ( RHEL 7でも動作します 。

ステップ1:CentOS7にApacheWebサーバーをインストールする

1。 まず、次のようにYUMパッケージマネージャーを使用して、デフォルトのCentOSソフトウェアリポジトリからApacheHTTPサーバーをインストールします。

# yum install httpd

2。 Apacheをインストールしたら、当面の間起動し、システムの起動時に自動的に起動できるようにします。

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

3。 次に、システムファイアウォールルールを更新して、ポート 80での受信パケットを許可します。 以下のコマンドを使用します。

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --reload

ステップ2:CentOS7にVarnishCacheをインストールする

4。 現在、最新バージョンの Varnish Cache 6用にコンパイル済みのRPMパッケージがあります。 (つまり、 6.5 執筆時点で)、したがって、公式の Varnish Cacheを追加する必要があります リポジトリ。

その前に、EPELリポジトリを有効にして、示されているようにいくつかの依存関係パッケージをインストールする必要があります。

# yum install -y epel-release

5。 次に、 pygpgmeをインストールします 、GPG署名とyum-utilsを処理するためのパッケージ、yumのネイティブ機能をさまざまな方法で拡張する便利なユーティリティのコレクション。

# yum install pygpgme yum-utils

6。 次に、 /etc/yum.repos.d/varnishcache_varnish65.repoという名前のファイルを作成します。 以下のリポジトリ構成が含まれています。

# vi /etc/yum.repos.d/varnishcache_varnish65.repo

<強い色:赤;">重要 :必ずelを置き換えてください および7 以下の構成で、Linuxディストリビューションとバージョンを使用してください:

[varnishcache_varnish65]
name=varnishcache_varnish65
baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[varnishcache_varnish65-source]
name=varnishcache_varnish65-source
baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

7。 次に、以下のコマンドを実行してローカルのyumキャッシュを更新し、varnishキャッシュパッケージをインストールします(yと入力してGPGキーを受け入れることを忘れないでください またはyes パッケージのインストール中):

# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65'
# yum install varnish 

8。 VarnishCacheをインストールした後 、メインの実行可能ファイルは / usr / sbin / varnishdとしてインストールされます ワニス構成ファイルは/etc / varnish /にあります。 :

  • /etc/varnish/default.vcl –これはメインのワニス構成ファイルであり、バニッシュ構成言語(VCL)を使用して記述されています。

9。 次に、ワニスサービスを開始し、システムの起動中に自動的に開始できるようにし、そのステータスを確認して、次のように稼働していることを確認します。

# systemctl start varnish
# systemctl enable varnish
# systemctl status varnish

10。 システムにインストールされているVarnish実行可能ファイルとバージョンの場所を確認することで、Varnishのインストールが成功したことを確認できます。

$ which varnishd
$ varnishd -V
サンプル出力
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2020 Varnish Software

ステップ3:VarnishCacheと連携するようにApacheを構成する

11。 次に、VarnishCacheと連携して動作するようにApacheを構成します。デフォルトでは、Apacheはポート 80でリッスンします 、デフォルトのHTTPDポートを 8080に変更する必要があります –これにより、HTTPDがVarnishキャッシングの背後で実行されるようになります。

sedコマンドを使用して、ポート 80を変更できます。 8080へ 示されているように。

# sed -i "s/Listen 80/Listen 8080/" /etc/httpd/conf/httpd.conf

:また、Varnishを介して提供するWebサイトごとに、仮想ホスト構成のポートを変更する必要があります。テストサイト( /etc/httpd/conf.d/tecmint.lan.conf )の構成は次のとおりです。 。

<VirtualHost *:8080>
    DocumentRoot "/var/www/html/tecmint.lan/"
    ServerName www.tecmint.lan
    # Other directives here
</VirtualHost>

12。 次に、varnish systemd構成ファイルを開き、パラメーター ExecStartを見つけます。 これは、Varnishがリッスンするポートを指定し、その値を 6081から変更します。 80まで スクリーンショットに示されているように。

# systemctl edit --full  varnish

終了すると、構成は次のようになります。

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

13。 次に、 /etc/varnish/default.vcl で、ApacheをVarnishプロキシのバックエンドサーバーとして設定します。 構成ファイル。

# vi /etc/varnish/default.vcl 

バックエンドを見つける セクションを作成し、ホストIPとポートを定義します。以下はデフォルトのバックエンド構成です。これを実際のコンテンツサーバーを指すように設定してください。

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

バックエンドサーバーがアドレス10.42.1.10の別のサーバーで実行されている場合 の場合、ホストパラメータはこのIPアドレスを指している必要があります。

backend server1 {
    .host = "10.42.1.10";
    .port = "8080";
}

14。 必要なすべての構成を実行した後、HTTPDとVarnishキャッシュを再起動して、上記の変更を有効にします。

# systemctl daemon-reload
# systemctl restart httpd
# systemctl restart varnish

ステップ4:ApacheでVarnishキャッシュをテストする

15。 最後に、Varnishが有効になっていて、 HTTPSで機能しているかどうかをテストします。 以下のcURLコマンドを使用するサービス。HTTPヘッダーを表示するために使用できます。

# curl -I http://localhost
サンプル出力
HTTP/1.1 200 OK
Date: Wed, 06 Jan 2021 08:36:07 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8
X-Varnish: 131085
Age: 0
Via: 1.1 varnish (Varnish/6.5)
Connection: keep-alive

詳細については、Varnish Cache Githubリポジトリを確認してください:https://github.com/varnishcache/varnish-cache

このチュートリアルでは、 Varnish Cache 6.5のセットアップ方法について説明しました。 CentOS7上のApacheHTTPサーバーのプロキシ。共有するクエリや追加のアイデアがある場合は、以下のフィードバックフォームを使用して返信してください。


Cent OS
  1. CentOS8でNginxを使用してVarnishCache6をインストールおよびセットアップする方法

  2. CentOSにVarnishCacheをインストールする方法

  3. CentOS8にVarnishCacheをインストールする方法

  1. CentOS7にApacheを使用してWordPressをインストールする方法

  2. CentOS7にVarnishCache4をインストールする方法

  3. CentOS7にApacheでLet'sEncryptをインストールする方法

  1. CentOS8にApache/Nginx用のVarnishCache6をインストールします

  2. CentOS7にApacheを使用してVarnishCacheをインストールする方法

  3. CentOS 7 /RHEL7にApacheを使用してphpMyAdminをインストールする方法