RedHat Linux AS 5下Memcached的装置

Varnish是一款高性能的开源HTTP加速器,Varnish 的作者Poul-Henning
Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算
机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid
cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是
Varnish cache设计架构。

virtualbox的版本是 3.0.2
安装RedHat
后最大的问题是分辨率只有800*600
解决办法是 用加载virtualbox安装目录下的VBoxGuestAddition.iso
运行
重启后/etc/x11/xorg.conf 里会多了个
Section “Device”
Identifier “Videocard0”
Driver      “vboxvideo”
EndSection

安装OpenSSL 的步骤如下:   
 
(1)获取源代码:   
 
创建存放软件的目录:   
 
mkdir /root/software (可以存放在任何自己想存放的目录)   
 
到 下载源代码包,
放到/root/software/。   
 
本案例中下载的是openssl-0.9.8.tar.gz   
 
(2)解压软件   
 
tar -zxvf openssl-0.9.8.tar.gz   
 
(3)进入源代码目录:   
 
cd openssl-0.9.8   
 
(4)配置编译选项:   
 
./config –prefix=/usr/local/openssl –shared   
 
–shared
的含义是创建共享库文件,如果不加,在编译时只生成静态库文件。   
 
(5)编译:   
 
make   
 
make test #测试   
 
(6)安装   
 
make install   
 
执行后将把相关的文件拷贝到/usr/local/openssl 的对应目录下。   
 
   
 
如果系统在安装的时候已经安装了openssl的话,可以用rpm –qf
openssl查找rpm包安装目录以备apache安装的时候调用   
 
如果想升级原有rpm包安装的openssl的话,按照以下几步操作:   
 
A、 rpm –e –nodeps
openssl(强制删除rpm包的openssl,尽量不要用远程登录方式作)   
 
B、 将/usr/include/openssl
备份,并把/lib下两个指向libcrypto.so.0.9.7x和libssl.so.0.9.7x的软连接删除   
 
C、安装 openssl-0.9.8.tar.gz (步骤如上面所说) 安装目录为
/usr/local/openssl   
 
D、 手动修改lib库得软连接以备ssh和其他程序调用   
 
ln –s /usr/local/openssl/lib/libcrypto.so.0.9.8 /lib/libcrypto.so.4   
 
ln –s /usr/local/openssl/lib/libcrypto.so.0.9.8 /lib/libcrypto.so   
 
ln –s /usr/local/openssl/lib/libssl.so.0.9.8 /lib/libssl.so   
 
ln –s /usr/local/openssl/lib/libssl.so.0.9.8 /lib/libssl.so.4   
 
E、 echo /usr/local/openssl/lib >> /etc/ld.so.conf   
 
F、 ldconfig –v   
 
G、 /etc/init.d/sshd restart   
 
H、 Ssh –V 检查版本信息 

第一次在Linux下安装memcached,由于早些年有linux的维护经验,因此安装很顺利,几分钟的时间就完成了。
memcached需要使用libevent这个库来进行socket的处理,因此,首先安装libevent:

  1. 设置VMWARE环境 1.1. 新建虚拟机 1.1.1.
    登陆VMWARE Server

1、Pcre的安装 (PERL兼容正则表达式库)

之后再修改/etc/x11/xorg.conf
Section “screen”
Identifier “Screen0”
Device “Videocard0”
Monitor “Monitor0”
DefaultDepth 24
SubSection “Display”
Viewport 0 0
Depth 24
Modes “1024×768” “800×600” “600×480”
EndSubSection
EndSection
在Modes下增加你想要的分辨率,重启后就OK了

图片 1

1、安装libevent

通过VMware Infrastructure Web Access登陆vmware:

wget
tar zxvf pcre-8.02.tar.gz
cd pcre-8.02
./configure –libdir=/usr/lib
make && make install

图片 2

cd /usr/local/src
wget
tar zxvf libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure
make && make install

图片 3

如果没有安装Pcre,configure varnish2.0以上版本时候,会提示找不到pcre库

可以在/usr/local/lib下看到生成的一些库文件

1.1.2. 进入创建虚拟机界面:

2、varnish 安装

2、执行ldconfig

选择Virtual Machines ,以Commands 窗口选择Create Virtual
Machine,进入创建Virtual Machines界面步骤

wget
tar zxvf varnish-2.1.1
cd varnish-2.1.1
./configure –prefix=/usr/local/varnish
make && make install

3、安装memcached

图片 4

3、varnish启动

cd /usr/local/src
wget
tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure
make && make install

1.1.3. 选择操作系统类型

/usr/local/varnish/sbin/varnishd -n /data/vcache -f
/usr/local/varnish/etc/vhost/vhost.vcl -a 0.0.0.0:80 -s
file,/data/vcache/varnish_cache.data,1G    -T 127.0.0.1:3500 -p
client_http11=on -p thread_pools=8 -p thread_pool_min=16 -p
thread_pool_max=512

安装完成后会把编译后的memcached放到/usr/local/bin下

选择Linux Operating System,选择Red
Hat Enterprise Linux
5(32-bit),此处选择安装32位操作系统。

每个选项可以参见

4、运行memcached

图片 5

4、varnish停止、启动、开启日志脚本

# /usr/local/bin/memcached -d -m 100 -u root -l 192.168.1.1 -p 11211 -c
256 -P /tmp/memcached.pid

1.1.4. 配置虚拟机内存和CPU

#!/bin/sh

-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是100MB,
-u是运行Memcache的用户,也可以使用adduser为memcahed专门创建一个用户
-l是监听的服务器IP地址,这里指定了服务器的IP地址192.168.1.1
-p是设置Memcache监听的端口,我这里设置了11211,由于是默认端口,因此不指定-p参数也可
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid

内存配置为512M,CPU个数选择1,后选择Next,进入磁盘配置界面

if [ “$1” = “start” ];then

5、执行/etc/sysconfig/system-config-securitylevel,在防火墙上打开11211端口。也可以执行:
     iptables -A INPUT -p tcp –dport 11211 -j ACCEPT

图片 6

                 /usr/local/varnish/sbin/varnishd -n /data/vcache \
                 -f /usr/local/varnish/etc/vhost/vhost.vcl -a 0.0.0.0:80
\
                 -s file,/data/vcache/varnish_cache.data,1G         -T
127.0.0.1:3500 \
                 -p client_http11=on     -p thread_pools=8 -p
thread_pool_min=16 -p thread_pool_max=512

6、在另外的一台机器上telnet 192.168.1.1
11211,成功连接后,输入stats,可以看到返回的状态报告。

图片 7

elif [ “$1” = “stop” ];then

附一:

1.1.5. 配置虚拟机磁盘大小及存储路径

                 killall varnishd

安装Memcache的PHP扩展
1.在
选择相应想要下载的memcache版本。
2.安装PHP的memcache扩展

为保证操作系统和数据库的安装,虚拟磁盘最少选择为默认的7.14G,选择保存路径后选择next,进入网卡配置界面

elif [ “$1” = “status” ];then

tar vxzf memcache-2.2.1.tgz
cd memcache-2.2.1
/usr/local/php/bin/phpize
./configure –enable-memcache
–with-php-config=/usr/local/php/bin/php-config –with-zlib-dir
make
make install

图片 8

                 /usr/local/varnish/bin/varnishadm -T 127.0.0.1:3500
status

3.上述安装完后会有类似这样的提示:

图片 9

elif [ “$1” = “start-log” ];then

Installing shared extensions:
/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/

图片 10

                 /usr/local/varnish/bin/varnishncsa -n /data/vcache -w
/var/log/varnish.log &
else
                 echo $0 “{start|stop|status|start-log}”
fi

4.把php.ini中的extension_dir = “./”修改为

1.1.6. 配置网卡及网卡类型

在windows下编辑,在AS5下会出现
-bash:
./varnishadmin: /bin/sh^M: bad interpreter: No such file or directory
错误,2种平台下编码不同造成。
vi THIS_SHELLSCRIPT(脚本文件名)
:set ff                  -> 会显示文件格式为fileformat=dos
:set ff=unix         ->设置fileformat=unix
:wq

extension_dir =
“/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/”

这里选择桥接创建虚拟机的第一个网卡后选择next,进入光驱配置界面。

5、varnish日志轮询脚本

5.添加一行来载入memcache扩展:extension=memcache.so

图片 11

#!/bin/sh
vlog=/var/log/varnish-log
date=$(date -d “yesterday” +”%Y-%m-%d”)
pkill -9 varnishncsa
mv /var/log/varnish.log /var/log/varnish-${date}.log
/usr/local/varnish/bin/varnishncsa -n /data/vcache -w
/var/log/varnish.log &
mkdir -p /var/log/varnish-log/
cd /var/log
tar -zcvf     $vlog/varnish-${date}.log.tar.gz varnish-${date}.log
rm -f /var/log/${date}.log
rm -f /var/log/varnish-log/$(date -d “-1
month”
+”%Y-%m*”).log.tar.gz

附二:

1.1.7. 配置光驱

可将以上脚本放到任务中,每天0:00执行
0 0 * * * /data/shell/cutvlogg.sh

ldconfig命令详解

可以选择使用本地光驱或者镜像文件,为保证安装速度,建议选择镜像文件。我选择的是虚拟光驱,这样比较方便更换软件安装光盘。

图片 12

ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令–ldconfigldconfig
命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为
/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.

确定后选择NEXT进入软驱设置界面

ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令.

图片 13

ldconfig命令行用法如下:

1.1.8. 配置软驱

ldconfig [-v|–verbose] [-n] [-N] [-X] [-f CONF] [-C CACHE]
[-r ROOT] [-l] [-p|–print-cache] [-c FORMAT]
[–format=FORMAT] [-V] [-?|–help|–usage] path…

由于现在软驱使用很少,这里选择Don’t Add a Floppy
Drive,选择NEXT,进入USB设置界面

ldconfig可用的选项说明如下:

图片 14

(1) -v或–verbose :
用此选项时,ldconfig将显示正在扫描的目录及搜索到的动态链接库,还有它所创建的连接的名字.

1.1.9. 配置USB控制器

(2) -n :
用此选项时,ldconfig仅扫描命令行指定的目录,不扫描默认目录(/lib,/usr/lib),也不扫描配置文件/etc/ld.so.conf所列的目录.

图片 15

(3) -N :
此选项指示ldconfig不重建缓存文件(/etc/ld.so.cache).若未用-X选项,ldconfig照常更新文件的连接.

1.1.10. 确认配置

(4) -X :
此选项指示ldconfig不更新文件的连接.若未用-N选项,则缓存文件正常更新.

确认虚拟机配置后,选择Finish后完成虚拟机的基本配置。

(5) -f CONF :
此选项指定动态链接库的配置文件为CONF,系统默认为/etc/ld.so.conf.

图片 16

(6) -C CACHE :
此选项指定生成的缓存文件为CACHE,系统默认的是/etc/ld.so.cache,此文件存放已排好序的可共享的动态链接库的列表.

图片 17

(7) -r ROOT :
此选项改变应用程序的根目录为ROOT(是调用chroot函数实现的).选择此项时,系统默认的配置文件/etc/ld.so.conf,实际对应的为
ROOT/etc/ld.so.conf.如用-r
/usr/zzz时,打开配置文件/etc/ld.so.conf时,实际打开的是/usr/zzz/etc/ld.so.conf文件.用此选项,可以大大增加动态链接库管理的灵活性.

(8) -l :
通常情况下,ldconfig搜索动态链接库时将自动建立动态链接库的连接.选择此项时,将进入专家模式,需要手工设置连接.一般用户不用此项.

(9) -p或–print-cache :
此选项指示ldconfig打印出当前缓存文件所保存的所有共享库的名字.

(10) -c FORMAT 或 –format=FORMAT :
此选项用于指定缓存文件所使用的格式,共有三种:old(老格式),new(新格式)和compat(兼容格式,此为默认格式).

(11) -V : 此选项打印出ldconfig的版本信息,而后退出.(12) -? 或 –help 或
–usage : 这三个选项作用相同,都是让ldconfig打印出其帮助信息,而后退出.

图片 18

相关文章