设为首页 收藏本站
查看: 5581|回复: 0

[经验分享] linux下varnish4安装

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-7 09:16:46 | 显示全部楼层 |阅读模式
Varnish是一种网站加速(反向代理,缓存服务器)。可使用Varnish实现网站动静分离,负载均衡,页面缓存,请求过滤(简单防采集等)。
Varnish官网:https://www.varnish-cache.org/

安装版本:Varnish Cache 4.0.3
下载地址:https://www.varnish-cache.org/content/varnish-cache-403

注意:Varnish网站有时会被墙。
Git 下载:
git clone https://github.com/varnish/Varnish-Cache /var/tmp/

依赖: 地址:https://www.varnish-cache.org/docs/4.0/installation/install.html


linux 版本为:Debian / Ubuntu

依赖包:红色不用安装,yum中好像也不存在

automake
autotools-dev
libedit-dev
libjemalloc-dev
libncurses-dev
libpcre3-dev
libtool
pkg-config
python-docutils
python-sphinx

linux 版本为:Red Hat / CentOS
依赖包:红色不用安装,yum中好像也不存在
autoconf
automake
jemalloc-devel
libedit-devel
libtool
ncurses-devel
pcre-devel
pkgconfig
python-docutils
python-sphinx

部分缺失包报错 ./configure 编译状态:
1
2
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details



缺少 gcc 类的编译工具



1
configure: error: rst2man is needed to build Varnish, please install python-docutils.



缺少  python-docutils

1
configure: error: requires an X/Open-compatible Curses library



缺少  ncurses-devel

1
2
3
4
5
6
7
8
checking for PCRE... no
configure: error: Package requirements (libpcre) were not met:
No package 'libpcre' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables PCRE_CFLAGS
and PCRE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.



缺少 pcre-devel

1
configure: error: neither libedit nor another readline compatible library found



缺少 libedit-devel

部分 ./autogen.sh 错误状态:
1
2
./autogen.sh: line 29: automake: command not found
WARNING: unable to determine automake version



缺少 automake,autoconf (这两个包使用yum 是一起安装的)

1
2
+ libtoolize --copy --force
./autogen.sh: line 44: libtoolize: command not found



缺少 libtool


下载:

wget https://repo.varnish-cache.org/source/varnish-4.0.3.tar.gz


解压:

tar -zxvf varnish-4.0.3.tar.gz

进入解压目录编译安装:

./autogen.sh    如果从Git库下载的安装包时才需要运行,用于生成configure编译文件。

./configure     --prefix=/var/varnish/  指定安装目录,可选项

make



make install

复制 vcl 文件(在编译安装目录下),如果安装目录里没有 default.vcl 文件。

复制到安装目录的var/varnish/目录下(当然并无必需要求在哪个目录,因为正式启动时还得指定这个文件的目录)
cp etc/example.vcl /var/varnish/var/varnish/default.vcl   


进入安装目录

编辑复制的vcl文件(如果要修改转向端口号或HOST地址,默认端口号为8080),否则跳过。

vi var/varnish/default.vcl

修改下转向端口
1
2
3
4
backend default {
    .host = "127.0.0.1";
    .port = "8080";
}



如果有安装 apache或nginx 得先关闭并且修改监听端口改为8080 (设置与varnish转向端口相同),然后启动 apache或nginx。


启动varnish (注意端口号不能被占用)


sbin/varnishd -f var/varnish/default.vcl -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:80

打开浏览输入地址: 127.0.0.1 或 localhost
wKioL1VAPgjDYZZRAAQNIoSpDFY267.jpg

./sbin/varnishd 启动参数说明:

官方地址 :https://www.varnish-cache.org/docs/4.0/reference/varnishd.html


-a address[:port][ -a address[:port][...]


监听指定的地址和端口的客户端请求。 该地址可以是主机名(“localhost”的),一个IPv4点分四组(“127.0.0.1”),或方括号括起来的IPv6地址(“[:: 1]”)。 如果未指定地址,varnishd将监听所有可用的IPv4和IPv6接口。 如果没有指定端口,如在/ etc列出的默认HTTP端口/服务的使用。 可多个监听地址和端口。如果指定了本地的地址则只能在本地访问。


-b host[:port]

使用指定的主机作为后端服务器。 如果没有指定端口,默认为8080。类似 -f 的VCL文件中backend命令可以指定反向入口地址与端口,但只能指定一个。是一个快捷启动方式。不能与 -f 同时存在


-C


打印编译成C语言和退出VCL代码。 指定VCL文件编译使用-f选项。

-d

启用调试模式:父进程运行在与标准输入/输出一个CLI连接的前景,和子进程必须明确使用CLI命令启动。 终止父进程也将终止子。

-f config

使用指定的VCL配置文件代替内置的默认值。不能与 -b 同时存在,但必需指定一个,否则服务无法启动



-F

在当前终端运行,会占用当前终端操作界面。


-g group

指定一个非特权组,它开始接受连接之前,子进程应该切换的名字。 这是用于指定组的运行时参数的快捷方式。


-h type[,options]

指定的哈希算法。 hash列表类型,以及长度.默认长度是16383.。

-i identity

指定服务器的身份。 这可以通过使用server.identity从VCL被访问

-l shl[,free[,fill]]

指定shmlog文件的大小。 shl 是共享内存日志记录(默认80M),free 是空闲空间,fill 是已经使用空间。内存大小可以设置‘K’,'M' 等。


-M address:port

连接到这个端口,并提供了命令行界面。 把它看成是一个反向的外壳。 当与-M运行并没有定义的子进程后端(缓存)将无法启动初期。

-n name



临时文件实例名.如果以"/"开头,就必须是一个可用的路径.

-P file

写进程的PID到指定的文件。

-p param=value

设定参数指定为指定的值,参见运行时参数的参数列表。此选项可以多次使用,以指定多个参数。

-r param[,param...]

使列出的参数只读。用来保护参数。参见运行时参数的参数列表。

-s [name=]type[,options]

缓存设置,有三种方式:
malloc[,size]     (内存+swap交换模式)
file[,path[,size[,granularity]]]   (文件形式)
persistent,path,size    (文件形式)



Malloc (malloc) 通过 malloc 获取内存,简单,速度快
Mmap file (file) 创建文件缓存
这个是varnish缓存的两种方式,可以在启动的时候通过参数指定。



granularity用于设定缓存空间分配单位,默认单位是字节,所有其它的大小都会被圆整。
size 是指定空间大小,可以是G,M,K等。
path 是文件目录


-T address[:port]

管理器端口。CLI 入口地址与端口,使用 talnet 命令可以进入 CLI 界面管理服务器,也可以使用varnishadm


-t ttl


指定缓存文件。 这是用于指定default_ttl运行时参数的快捷方式。

-u user


指定一个非特权用户,接受连接之前,子进程应该切换的名字。 这是指定的用户运行时参数的快捷方式。
如果同时指定用户和组,用户应先规定。


-V

显示版本号并退出。


停止varnish

pkill varnishd  (直接杀死进程,只能使用上面的命令启动varnish)
或者

varnishadm stop   (需要进入安装目录的bin目录下,只是关闭了子进程,可以使用varnishadm start 再次开启服务或者使用上面的启动命令)




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-95022-1-1.html 上篇帖子: varnish配置语法(应用) 下篇帖子: ulimit -a详解 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表