把Tengine改回NGINX
最近关于Tengine的讨论很火,简单看了下,在大流量下确实表现不错,而且据说可以过滤掉一些攻击或类似攻击流量,这是其宣称的特性,也是我们要保留的。
最后,加上了substitutions和nginx-accesskey这两个模块,前一个可用在垃圾站建设、过滤网页非法信息上,后一个可以做防盗链,非常适合个人站长用。
下面来说改动和安装过程,以centos 6 x64为基础环境演示, 在/root/soft下载文件和修改文件、编译安装
mkdir /root/soft
cd /root/soft
首先安装依赖包:??
yum -y --noplugins install wget zip
yum -y --noplugins install unzip
yum -y --noplugins install gcc
yum -y --noplugins install make
yum -y --noplugins install pcre-devel
yum -y --noplugins install openssl-devel
yum -y --noplugins install gcc-c++
yum -y --noplugins install curl-deve?l
yum install -y -y subversio?n (SVN,从GG CODE下载substitutions? 源码要用)
其次下载所需要的安装文件
下载Tengine
wget -c
下载Nginx-accesskey
wget -c http://wiki.nginx.org/images/5/51/Nginx-accesskey-2.0.3.tar.gz
下载substitutions
svn checkout substitutions4nginx-read-onl?y
然后解压tengine和nginx-access
tar zxvf tengine-1.2.0.tar.gz
tar zxvf Nginx-accesskey-2.0.3.tar.gz
解压后,进入tengine目录
cd tengine
root@localhost tengine]# pwd
/root/soft/cloud/tengine
[root@localhost tengine]# ?
开始编辑nginx.h,nginx版本号和tengine的版本号都放在这个文件里
vi src/core/nginx./*
* Copyright (C) Igor Sysoev
*/
#ifndef _NGINX_H_INCLUDED_
#define _NGINX_H_INCLUDED_
#define nginx_version 1000010
#define NGINX_VERSION "1.0.10"? /* NGINX的版本号,最好别更改,更改了的话一会要改 substitutio?ns的源码,我这里是改了的,所以等下我去改substitutio?ns /*
#define NGINX_VER "nginx/" NGINX_VERSION
/*
#define tengine_version 1002001
#define TENGINE_VERSION "1.2.1"
#define TENGINE_VER "Tengine/" TENGINE_VERSION
这里是tengine的版本号了。。我选择全部注释掉*/
#define NGINX_VAR "NGINX"
#define NGX_OLDPID_EXT ".oldbin"
#endif /* _NGINX_H_INCLUDED_ */?h
复制代码
保存后继续修改src/http/ngx_http_special_response.c 这个子程序在响应用户的http请求的时候,会反馈tengine的信息。。所以要
vi src/http/ngx_http_special_response.c
static u_char ngx_http_server_info_tail[] =
"" CRLF
"" CRLF
"" CRLF
;
static u_char ngx_http_error_full_tail[] =
"
Powered by " TENGINE_VER CRLF
"