1,Varnish的安裝
1,操作系統:redhat or centos
2,依賴關係:
autoconf
automake
jemalloc-devel
libedit-devel
libtool
ncurses-devel
pcre-devel
pkgconfig
python-docutils
python-sphinx
2,安裝varnish(這裏使用yum安裝)以及後端服務器。
添加varnish的源(epel-release源)
yum install epel-release
rpm --nosignature -i https://repo.varnish-cache.org/redhat/varnish-4.0.el6.rpm(注意,centos 6版本的系統最好安裝varnishi4.0的版本,如果安裝4.1的版本的話,會提示lib庫版本較低,要手動編譯安裝相關依賴條件 )
yum -y install varnish nginx
3,啓動varnish
首先我們來看下,安裝完成varnish之後爲我們提供了那些命令
varnishadm:命令行管理varnish命令
varnishd:啓動varnish的命令
varnishlog:查看varnishlog的
varnishncsa:查看varnish的accesslog
varnishstat:查看varnish狀態。
這些是常用的一些命令,具體的使用方法可以man幫助看下。
varnish的配置文件在/etc/varnish/default.vcl,我們可以打開來看下,開始我們就是用默認的配置文件,後面會對相關的配置文件進行學習說明。首先我們是要保證其正確運行起來。
# # This is an example VCL file for Varnish. # # It does not do anything by default, delegating control to the # builtin VCL. The builtin VCL is called when there is no explicit # return statement. # # See the VCL chapters in the Users Guide at https://www.varnish-cache.org/docs/ # and http://varnish-cache.org/trac/wiki/VCLExamples for more examples. # Marker to tell the VCL compiler that this VCL has been adapted to the # new 4.0 format. vcl 4.0; # Default backend definition. Set this to point to your content server. #後端的真實服務器 backend default { .host = "127.0.0.1"; .port = "80"; } sub vcl_recv { # Happens before we check if we have this in cache already. # # Typically you clean up the request here, removing cookies you don't need, # rewriting the request, etc. } sub vcl_backend_response { # Happens after we have read the response headers from the backend. # # Here you clean the response headers, removing silly Set-Cookie headers # and other mistakes your backend does. } sub vcl_deliver { # Happens when we have all the pieces we need, and are about to send the # response to the client. # # You can do accounting or modifying the final object here.
}
varnish的啓動腳本在/etc/rc.d/init.d/varnish,varnish的啓動參數配置在/etc/sysconfig/varnish.看下啓動參數配置:
RELOAD_VCL=1 #是否自動加載vcl配置文件 VARNISH_VCL_CONF=/etc/varnish/default.vcl #配置文件的位置 VARNISH_LISTEN_PORT=6081#varnish的監聽端口,對外提供服務的端口 VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1#管理地址 VARNISH_ADMIN_LISTEN_PORT=6082#管理端口 VARNISH_SECRET_FILE=/etc/varnish/secret #安全密鑰文件 # The minimum number of worker threads to start VARNISH_MIN_THREADS=50 # The Maximum number of worker threads to start VARNISH_MAX_THREADS=1000 # Cache file size: in bytes, optionally using k / M / G / T suffix. VARNISH_STORAGE_SIZE=256M # Backend storage specification VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}" # Default TTL used when the backend does not specify one VARNISH_TTL=120 # DAEMON_OPTS is used by the init script.啓動varnish應用的時候使用的參數 DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \ -f ${VARNISH_VCL_CONF} \ -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \ -p thread_pool_min=${VARNISH_MIN_THREADS} \ -p thread_pool_max=${VARNISH_MAX_THREADS} \ -u root -g root \ -S ${VARNISH_SECRET_FILE} \ -s ${VARNISH_STORAGE}"
service varnish start
到此,我們就啓動了varnish。可以使用相關命令查看下其進程等等。