|
linux下haproxy + varnish + nginx + fastCGi + mysql 搭建高可用web集群服务器(二)
二、172.26.11.71 172.26.11.72 安装varnish- mkdir -p /data/software
- mkdir -p /data/src
- mkdir -p /data/conf
- mkdir -p /data/logs
- yum -y install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel gettext-devel
- yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libtool
- yum -y install rsyslog gcc gcc-c++ libstdc++-devel httpd-devel pcre perl pcre-devel zlib zlib-devel GeoIP GeoIP-devel
-
- cd /data/software/
- wget http://repo.varnish-cache.org/source/varnish-3.0.3.tar.gz
- cd /data/src/
- tar zxf ../software/varnish-3.0.3.tar.gz
- cd varnish-3.0.3
- ./autogen.sh
- ./configure --prefix=/usr/local/varnish PKG_CONFIG_PATH=/usr/lib/pkgconfig
- make && make install
-
- #指定一下命令的快捷方式
- ln -s /usr/local/varnish/sbin/varnishd /usr/bin/varnishd
- ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/varnishd
- ln -s /usr/local/varnish/bin/varnishlog /usr/bin/varnishlog
- ln -s /usr/local/varnish/bin/varnishncsa /usr/bin/varnishncsa
- ln -s /usr/local/varnish/bin/varnishadm /usr/bin/varnishadm
- ln -s /usr/local/varnish/bin/varnishstat /usr/bin/varnishstat
- #配置文件也指定到熟悉的位置
- ln -s /usr/local/varnish/etc/varnish/default.vcl /etc/varnish.conf
- #看看是否已正确安装了
- varnishd -V
复制代码 vi /etc/varnish.conf#建立Varnish用户以及用户组
useradd -s /sbin/nologin varnish
#将varnish配置文件和服务写入到系统:
cp /data/src/varnish-3.0.3/redhat/varnish.initrc /root/varnish
cp /data/src/varnish-3.0.3/redhat/varnish.sysconfig /etc/sysconfig/varnish
cp /data/src/varnish-3.0.3/redhat/varnish_reload_vcl /usr/local/varnish/bin/
#生成一个secret用于varnish 的 reload,这样以后修改了 /etc/varnish.conf,可以不用重启就可以重新载入新的配置了!
mkdir -p /etc/varnish/
uuidgen > /etc/varnish/secret
chmod 600 /etc/varnish/secret
mkdir -p /data/varnish/cache/
vi /etc/init.d/varnishvi /etc/sysconfig/varnish- NFILES=131072
- MEMLOCK=82000
- RELOAD_VCL=1
- VARNISH_VCL_CONF=/etc/varnish.conf #attention this...
- VARNISH_LISTEN_ADDRESS=0.0.0.0
- VARNISH_LISTEN_PORT=80
- VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1 #这里设置成0.0.0.0表示允许任何IP对其进行管理,当然secret要通过才行~
- VARNISH_ADMIN_LISTEN_PORT=2000
- VARNISH_SECRET_FILE=/etc/varnish/secret #attention this...
- VARNISH_MIN_THREADS=50
- VARNISH_MAX_THREADS=1000
- VARNISH_THREAD_TIMEOUT=120 #attention this...
- VARNISH_STORAGE_FILE=/data/varnish/cache/varnish_cache.data #attention this...
- VARNISH_STORAGE_SIZE=1G
- VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}" #attention this...
- #it can also be fixed as this: VARNISH_STORAGE="malloc,1G"
- VARNISH_TTL=120
- 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} \
- -w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT} \
- -u varnish -g varnish \
- -S ${VARNISH_SECRET_FILE} \
- -s ${VARNISH_STORAGE}"
复制代码 chmod 755 /root/varnish
chmod 755 /usr/local/varnish/bin/varnish_reload_vcl
#可以用的命令:
/root/varnish {start|stop|status|restart|condrestart|try-restart|reload|force-reload}
#查看实时运行状况
varnishstat
#查看日志 方式一(varnish的特有方式):
varnishlog
#查看日志 方式二(与nginx日志相似方式):
varnishncsa
#清除缓存:
varnishadm -T 127.0.0.1:2000 -S /etc/varnish/secret ban.url ^/index.html
varnishadm -T 127.0.0.1:2000 -S /etc/varnish/secret ban.url ^.* #清除所有的
varnishadm -T 127.0.0.1:2000 -S /etc/varnish/secret ban.list
清除www.bbs.com域名下的/static/image/tt.jpg
varnishadm -T 127.0.0.1:2000 -S /etc/varnish/secret ban “req.http.host ~www.bbs.com$ && req.url ~ /static/image/tt.jpg”
varnishadm -T 127.0.0.1:2000 -S /etc/varnish/secret BAN “req.http.host ~www.aipinp.com$ && req.url ~ /index.html”
#优化Linux内核参数
vi /etc/sysctl.conf- net.ipv4.tcp_fin_timeout = 30
- net.ipv4.tcp_keepalive_time = 300
- net.ipv4.tcp_syncookies = 1
- net.ipv4.tcp_tw_reuse = 1
- net.ipv4.tcp_tw_recycle = 1
- net.ipv4.ip_local_port_range = 5000 65000
复制代码 [size=14.4444446563721px]linux下haproxy + varnish + nginx + fastCGi + mysql 搭建高可用web集群服务器(二)
摘自: http://blog.zhuyin.org/720.html | 拒绝平庸的技术博客
|
|