1.Tengine介绍及安装说明

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。实验环境说明:

[root@localhost /]# cat /etc/redhat-release 

Red Hat Enterprise Linux Server release 5.1 (Tikanga)

[root@localhost /]# 

2.安装步骤

第一步,下载tengine.tar.gz

[root@localhost local]# pwd/usr/local[root@localhost local]# lsbin  etc  games  include  lib  libexec  sbin  share  src  tengine.tar.gz[root@localhost local]#

第二步,解压并展开归档

[root@localhost local]# tar -xf tengine.tar.gz [root@localhost local]# ls -ltotal 1608drwxr-xr-x  2 root root    4096 Jul  2 05:06 bindrwxr-xr-x  2 root root    4096 Oct 10  2006 etcdrwxr-xr-x  2 root root    4096 Oct 10  2006 gamesdrwxr-xr-x  3 root root    4096 Jul  2 05:06 includedrwxr-xr-x  3 root root    4096 Jul  2 05:06 libdrwxr-xr-x  2 root root    4096 Oct 10  2006 libexecdrwxr-xr-x  2 root root    4096 Oct 10  2006 sbindrwxr-xr-x  6 root root    4096 Jul  2 05:06 sharedrwxr-xr-x  2 root root    4096 Oct 10  2006 srcdrwxrwxr-x 10  511  511    4096 Mar 28 00:57 tengine-2.0.2-rw-r--r--  1 root root 1552937 Jul 22 05:52 tengine.tar.gz[root@localhost local]# tree -L 1 tengine-2.0.2/tengine-2.0.2/|-- AUTHORS.te|-- CHANGES|-- CHANGES.cn|-- CHANGES.ru|-- CHANGES.te|-- LICENSE|-- README|-- README.markdown|-- THANKS.te|-- auto|-- conf|-- configure|-- contrib|-- docs|-- html|-- man

第三步,查看configure脚本帮助信息,执行configure脚本生成makefile文件

[root@localhost tengine-2.0.2]# ./configure --help  --help                             print this message  --prefix=PATH                      set installation prefix  --sbin-path=PATH                   set nginx binary pathname  --conf-path=PATH                   set nginx.conf pathname[root@localhost tengine-2.0.2]# ./configure --prefix=/usr/local/tengine --conf-path=/etc/tengine/tengine.conf

会发现命令执行后,报错:

./configure: error: the HTTP rewrite module requires the PCRE library.

You can either disable the module by using --without-http_rewrite_module

option, or install the PCRE library into the system, or build the PCRE library

statically from the source with nginx by using --with-pcre=<path> option.

其实,上面的错误,原因在于PCRE依赖,我们可以明确指出不需要REWRITE功能特性,从而不需要编译HTTP_REWRITE_MODULE模块,或者直接安装PCRE,解决依赖冲突。

第四步,解决PCRE依赖

采用光盘YUM源的方式。

在/etc/yum.reps.d/目录下,配置客户端连接YUM的信息:

[root@localhost yum.repos.d]# cat mytest.repo [my_yumtest1]name=my yum from dvd.isobaseurl=file:///var/Serverenabled=1gpgcheck=0

挂载光盘至/media下,然后复制光盘内容到YUM路径:

[root@localhost repodata]# cp -r /media/Server/  /var/

进入/var/Server目录下,安装createrepo工具:

[root@localhost repodata]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm

然后创建YUM仓库:

[root@localhost repodata]# createrepo -g /media/Server/repodata/comps-rhel5-server-core.xml  /var/Server/

至此,我们的本地YUM源已经做好了。直接利用yum install pcre-devel即可。

【其实,我们应该确定,我们本机上已经具备基本的编译开发环境,可以

yum groupinstall "Development Libraries" "Development Tools"】

第五步,执行configure

[root@localhost tengine-2.0.2]# ./configure --prefix=/usr/local/tengine --conf-path=/etc/tengine/tengine.conf

并没有提示错误。

第六步,执行make

第七步,执行make install

[root@localhost local]# cd tengine[root@localhost tengine]# ls -ltotal 40drwxr-xr-x 2 root root 4096 Jul 22 06:45 htmldrwxr-xr-x 2 root root 4096 Jul 22 06:45 includedrwxr-xr-x 2 root root 4096 Jul 22 06:45 logsdrwxr-xr-x 2 root root 4096 Jul 22 06:45 modulesdrwxr-xr-x 2 root root 4096 Jul 22 06:45 sbin[root@localhost tengine]# pwd/usr/local/tengine[root@localhost tengine]#

第八步,启动服务

[root@localhost ~]# cd /usr/local[root@localhost local]# ls -ltotal 80drwxr-xr-x  2 root root 4096 Jul  2 05:06 bindrwxr-xr-x  2 root root 4096 Oct 10  2006 etcdrwxr-xr-x  2 root root 4096 Oct 10  2006 gamesdrwxr-xr-x  3 root root 4096 Jul  2 05:06 includedrwxr-xr-x  3 root root 4096 Jul  2 05:06 libdrwxr-xr-x  2 root root 4096 Oct 10  2006 libexecdrwxr-xr-x  2 root root 4096 Oct 10  2006 sbindrwxr-xr-x  6 root root 4096 Jul  2 05:06 sharedrwxr-xr-x  2 root root 4096 Oct 10  2006 srcdrwxr-xr-x 12 root root 4096 Jul 22 06:47 tengine[root@localhost local]# cd tengine/[root@localhost tengine]# cd sbin[root@localhost sbin]# lsdso_tool  nginx[root@localhost sbin]# ls -ltotal 4720-rwxr-xr-x 1 root root   17164 Jul 22 06:45 dso_tool-rwxr-xr-x 1 root root 4792174 Jul 22 06:45 nginx[root@localhost sbin]#

很显然,nginx脚本就是用于启动服务的,为了以后方便而言,可以再/etc/profile文件中修改PATH环境变量。

PATH=$PATH:/usr/local/tengine/sbin

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

接下来,应该让配置文件生效,可以source /etc/profile或者,我们直接在开一个SSH连接。

[root@localhost ~]# nginx[root@localhost ~]# netstat -tnlpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      3769/portmap        tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5523/nginx: master  tcp        0      0 0.0.0.0:1009                0.0.0.0:*                   LISTEN      3795/rpc.statd      tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      3041/cupsd          tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      4076/sendmail: acce tcp        0      0 :::22                       :::*                        LISTEN      4050/ssh

d           

可以发现,tengine已经在80端口进行监听了。

第九步,访问浏览器进行验证

wKioL1PPD0WAuTmdAAE0zbPMbW8383.jpg

如果访问没有结果,可能是由于LINUX防火墙的原因,可以利用下面的命令暂时停止防火墙功能:

/etc/init.d/iptables stop

到这里,我们就完成了对Tengine的安装和启动了。