热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS6.x编译安装varnish3.x

varnish源码路径:usrlocalsrcvarnish安装路径:usrlocalvarnishvarnish配置文件路径:usrlocalvarnishconf

varnish源码路径:/usr/local/src

varnish安装路径:/usr/local/varnish

varnish配置文件路径:/usr/local/varnish/conf/httpd.conf

2.软件下载地址

https://www.varnish-cache.org/

3.下载源代码包

# cd /usr/local/src/

# wget http://repo.varnish-cache.org/source/varnish-3.0.5.tar.gz

4.安装gcc、make等

# yum -y install gcc gcc-c++ make autoconf automake

5.安装编译所需的库

# yum -y install automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig readline-devel

6.添加varnish用户和组

# groupadd varnish
# useradd -g varnish -c "Varnish Cache" -d /var/lib/varnish -s /sbin/nologin varnish

7.安装varnish

# cd ..
# tar zxvf varnish-3.0.5.tar.gz
# cd varnish-3.0.5
# ./configure --prefix=/usr/local/varnish
# sh autogen.sh
# make
# make install

8.varnish启动配置

# cp redhat/varnish.initrc /etc/init.d/varnish
# cp redhat/varnish.sysconfig /etc/sysconfig/varnish
# cp redhat/varnish_reload_vcl /usr/local/varnish/bin

编辑varnish启动参数配置文件

# vim /etc/sysconfig/varnish

VARNISH_VCL_COnF=/usr/local/varnish/etc/varnish/default.vcl

VARNISH_LISTEN_PORT=80

VARNISH_SECRET_FILE=/usr/local/varnish/etc/varnish/secret

修改启动服务

# vim /etc/init.d/varnish

exec="/usr/local/varnish/sbin/varnishd"
reload_exec="/usr/local/varnish/bin/varnish_reload_vcl"

编辑动态加载VCL配置的脚本:

VARNISHADM="/usr/local/varnish/bin/varnishadm $secret -T $VARNISH_ADMIN_LISTEN_ADDRESS:$VARNISH_ADMIN_LISTEN_PORT"

9.生成varnish管理秘钥:

# uuidgen > /usr/local/varnish/etc/varnish/secret

# chmod 644 /usr/local/varnish/etc/varnish/secret

10.添加环境变量

# vim /etc/profile

在其文件末尾添加如下变量

export PATH=$PATH:/usr/local/varnish/bin

或者用以下命令添加

# sed -i '/unset -f pathmunge/a\export PATH=$PATH:/usr/local/varnish/bin' /etc/profile

运行如下命令使环境变量生效

# source /etc/profile
 

11.配置开机启动

# chkconfig varnish on

12.检查vcl配置是否正确

# service varnish configtest

# /usr/local/varnish/sbin/varnishd -C -f /usr/local/varnish/etc/varnish/default.vcl

13.启动varnish

# service varnish start

14.动态加载vcl配置

# service varnish reload

15.开启日志记录

# cp redhat/varnishncsa.initrc /etc/init.d/varnishncsa

# chmod +x /etc/init.d/varnishncsa

修改启动服务
exec="/usr/local/varnish/bin/varnishncsa"

配置开机启动

# chkconfig varnishncsa on

启动varnishncsa

# service varnishncsa start

16.配置日志轮询

# vim /etc/logrotate.d/varnish

添加如下内容:

/var/log/varnish/*.log {
daily
rotate 30
missingok
notifempty
sharedscripts
delaycompress
dateext
dateformat .%Y%d%m
postrotate
/bin/kill -HUP `cat /var/run/varnishlog.pid 2>/dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/varnishncsa.pid 2>/dev/null` 2> /dev/null || true
endscript
}

17.日志轮询debug测试

# logrotate -df /etc/logrotate.d/varnish

推荐阅读
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • CentOS 7.4 KVM虚拟化平台搭建指南
    本文详细介绍了如何在CentOS 7.4系统上搭建KVM虚拟化平台,包括环境准备、网络配置、KVM安装与管理等步骤,适用于希望利用KVM进行虚拟化部署的技术人员。 ... [详细]
  • 本文详细介绍如何在Android模拟器上安装TaintDroid的过程,包括解决源代码链接失效及服务器文件变动等问题,旨在帮助后续用户避免不必要的麻烦。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 开发笔记:三分钟快速搭建分布式高可用的Redis集群
    开发笔记:三分钟快速搭建分布式高可用的Redis集群 ... [详细]
  • 本文详细记录了在Ubuntu 9.10操作系统上从零开始搭建LAMP(Linux, Apache, MySQL, PHP)环境的过程,包括遇到的问题及解决方案。旨在为初次尝试搭建LAMP环境的开发者提供参考。 ... [详细]
  • 本文介绍了几个有趣的Linux命令行工具,包括模拟蒸汽机车的sl命令、反转字符串的rev命令、显示随机名言的fortune命令等,不仅增添了命令行操作的乐趣,也展示了Linux系统的多样性和灵活性。 ... [详细]
  • 在Ubuntu上通过Wine安装Photoshop CS6的详细指南
    针对专业设计师和图像处理人员,寻找能够完全替代Adobe Photoshop的开源软件往往不尽如人意。本文提供了一种解决方案,即通过Wine在Linux系统上安装Photoshop CS6,以实现更稳定的操作体验。 ... [详细]
  • GCC(GNU Compiler Collection)是GNU项目下的一款功能全面且高效的多平台编译工具,广泛应用于Linux操作系统中。本文将详细介绍GCC的特点及其基本使用方法。 ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
  • 本文详细介绍了如何在CentOS 6.5系统上安装和配置Redis 3.0.6,包括必要的环境准备、软件包下载、编译安装及基本功能测试。 ... [详细]
  • 本文详细介绍了在 Red Hat Linux 系统上安装 GCC 4.4.2 的步骤,包括必要的依赖库的安装及常见问题的解决方法。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 右下角动态通知实现
    本文介绍如何在网页中实现右下角滑动通知的功能,包括前后台代码示例及具体实现步骤。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
author-avatar
漫天星雨2000
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有