安装varnish遇到的小问题

来源:互联网 发布:linux查询jdk安装路径 编辑:程序博客网 时间:2024/06/05 18:11

    最近在研究反向代理缓存,据说varnish不错,于是便下载安装学习下,本想用yum安装,但是小编centos 6.5中yum找不到varnish,算了还是进行源码安装吧,本以为安装过程很简单,没想到一波三折,还是折腾了个把小时的时间,其实其他的依赖包的安装完全没有问题,问题就出在了pcre上,虽然遇到的问题也就是两个,一个configure的时候找不到pcre,一个是make的时候“undefined reference to pcre_free_study”,但是产生这两个问题的原因很多,于是乎各种安装,各种尝试,总算皇天不负有心人,总算是把需要用到的varnish成功安装了,下面将会列举出遇到这两个问题的各种场景,看看你有没有遇到吧。

    测试环境:操作系统centos6.5    varnish版本4.1.0

    场景一:yum安装pcre

    说到安装依赖包,centos6.5下的yum是个不错的选择,于是乎小编也选择了这种最简单的方法,接着就是第一次遇到configure的时候找不到pcre,小编很是淡定,找不到pcre,那就安装呗,由于varnish是源码安装,所以pcre-devel是必要可少的,于是乎yum install pcre-devel,然后再次对varnish进行configure,不错所料,果然通过了,于是乎make,本以为configure已经成功了,make自然不在话下,但是另小编郁闷的是,make还真出现了问题,”undefined reference to pcre_free_study“,这是make时候出现问题的一小部分,查询了下资料,好像是说pcre版本的问题,由于varnish小编安装的是当前最新的版本4.1.0,pcre在yum的时候版本是7.8.7,查了下最新的版本pcre是8.37,果然差了好多,很可能是pcre版本的问题,那么下载最新版本的安装吧。

    场景二:源码安装pcre2

    在sourceforge.net找到了pcre,看到了两个,一个pcre,一个pcre2,小编想着pcre2是不是比pcre更高级,于是乎稀里糊涂的就下载了pcre2。然后进行源码安装,安装过程很顺利,但是怎么把它们结合起来呢,小编查了下varnish能够附带的参数,没有小编期望的--with-pcre,那么两者该如何结合呢?百度下,有人说export下PKG_CONFIG_PATH,看了下错误提示,还真提到了PKG_CONFIG_PATH,看了下教程,好像是pcre文件夹lib下的pkgconfig文件夹,打开一看,还真有,那就试试看吧,export PKG_CONFIG_PATH = /usr/local/prce2/lib/pkgconfig/,然后再次对varnish进行configure,可惜,仍然找不到pcre。此时小编忽然意识到,pcre是不是跟pcre2不同?于是又下载了pcre源码进行安装。

    场景三:源码安装pcre

    跟安装pcre2一样,一切顺利,然后对pcre执行export,完成后再次对varnish进行configure,居然还提示找不到pcre。难道export这种方法不对?还是pcre问题?仔细想想,pcre2有问题,那可能是pcre2和pcre不一回事,varnish需要的就是pcre,而且下载的是最新版本应该没问题才对,那么问题出在export上?于是小编粗略的看了下这个命令,该命令是设置或显示环境变量,一提到变量,小编猛然想到了变量的作用域,难道说这个问题?因为小编执行varnish的configure命令和执行export的命令并非在一个终端,会不会是在export中设置的环境变量,在varnish所在的终端中没有生效,这个可能性很大,于是使用export  -p命令查看了下两个终端的环境变量,果不其然,varnish所在的终端根本没有export设置的环境变量,于是在哪个终端下export环境变量,就在哪个终端下进行varnish的安装,于是乎终于过了configure,这下总算可以了,满心期待进行了make操作,可是,残酷的现实又让小编遇到了”undefined reference to pcre_free_study“,这次明明该没有任何错误呢,到底是什么原因?

    场景四:make clean

    难道这样也不行?带着疑问回忆了整个过程,似乎没什么不对的地方呀,等等,make的时候出错,跟首次执行make的时候一样的错误,难道这里仍然保留了错误的make信息?带着这个疑问,做一次make clean,然后又执行了一次上述过程,这次在没有什么阻碍,一气呵成。安装一个软件真是不容易,处处皆坑,遇到的问题就这么多了,下面来总结下正确的安装方法。

    方法一:首先下载pcre(不要下成pcre2了),然后对它进行安装。接着,在安装varnish之前,先进行环境变量的设置,export PKG_CONFIG_PATH = /usr/local/prce/lib/pkgconfig/,然后在配置环境的终端进行varnish的configure,make和make install操作。

    方法二:下载pcre并进行安装。然后对varnish进行configure,不过需要添加PKG_CONFIG_PATH参数

./configure --prefix=/usr/local/varnish PKG_CONFIG_PATH=/usr/local/prec/lib/pkgconfig/

使用此方法,我们就不必使用export进行环境设置了。

    其实安装varnish也可以这么简单。

    注意事项

    1.export设置环境变量的作用域是本终端,在该终端设置的环境变量其他终端无法共享。

    2.经过测试,yum install pcre-devel对于export PKG_CONFIG_PATH和configure PKG_CONFIG_PATH没有影响,如果完全符合上述安装过程但又没有成功,可以尝试删除了pcre-devel再试试。 

    3.如果之前的make有错误,再次make之前记得使用make clean清除以前的make信息。

    4.安装varnish的时候当然不仅仅有pcre依赖包,还有其他的依赖包需要安装,其他的安装包不想pcre这么多问题,因此这里就不在叙述。


0 0
原创粉丝点击