Smart Communication Design Company
ホーム > ナレッジ > Blog > CMS Blog > 2010年1月 > Varnishのインストールと起動

Varnishのインストールと起動

2010年1月21日
システムエンジニア 野沢

今回から実際にVarnishのインストール・設定を行なっていきます。
OSはCentOS5.4を前提に進めていきます。

CentOSではepelリポジトリ(http://fedoraproject.org/wiki/EPEL)を利用することによりyumからインストール可能です。

epelリポジトリのインストール

# rpm --install http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL
# wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
# rpm -Uvh epel-release-5-4.noarch.rpm

※CentOS5.4 x86_64の場合

通常は利用されないように /etc/yum.repos.d/epel.repo 内の [epel] 部分を enabled=0 としておきます。

[epel] enabled=0

Varnishのインストール

# yum --enablerepo=epel install varnish varnish-libs

インストール後の構成は下記のようになります。

・デーモンの設定ファイル
/etc/sysconfig/varnish

・ルール設定ファイル
/etc/varnish/default.vcl

・起動スクリプト
/etc/init.d/varnish

・ログ
/var/log/varnish

デーモンの設定

/etc/sysconfig/varnish を開き、以下の部分を編集します。

## Alternative 3, Advanced configuration
部分を利用して設定します。

VARNISH_VCL_CONF=/etc/varnish/default.vcl

ルールの設定ファイルを指定します。

VARNISH_LISTEN_ADDRESS=192.168.0.1
VARNISH_LISTEN_PORT=80

リバースプロキシとしての待ち受けアドレスおよびポートを指定します。

VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1
VARNISH_ADMIN_LISTEN_PORT=6082

管理インターフェースの待ち受けアドレスおよびポートを指定します。
外部にさらさないように注意。

VARNISH_MIN_THREADS=1
VARNISH_MAX_THREADS=1000
VARNISH_THREAD_TIMEOUT=120
VARNISH_TTL=120

上記の設定は現時点では特に変更する必要はありません。

VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin
VARNISH_STORAGE_SIZE=1G
VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"

キャッシュファイルの保存場所およびサイズを指定します。

DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT}
    -f ${VARNISH_VCL_CONF}
    -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT}
    -t ${VARNISH_TTL}

各設定を起動スクリプトに渡すためにひとまとめにします。


ルールの設定

ルールの設定ファイルは /etc/sysconfig/varnish にて指定したファイルを作成します。
今回はインストール・起動までですので、適当にダミーの内容を用意します。

backend default {
    .host = "dummy";
    .port = "80";
}


起動

上記の設定が済んだらルール設定ファイルの文法チェックを行います。

# varnishd -C -f /etc/varnish/default.vcl

C言語に変換されたルールがつらつらと出てきますが、エラーが表示されなければ文法的にはOKです。

問題なければ起動スクリプトを使用し起動します。

# /etc/init.d/varnish start
Starting varnish HTTP accelerator: [ OK ]

次回からルール設定についてみていきましょう。