- 论坛徽章:
- 0
|
centos6.4 64位+tengine1.4.4
安装过程如下
#建立目录
mkdir -p /usr/local/src/lemppackages/webserver
mkdir -p /usr/local/src/lemppackages/toolsoft
#先编译Luajit2.0
cd /usr/local/src/lemppackages/toolsoft
test ! -e LuaJIT-2.0.1.tar.gz && wget http://luajit.org/download/LuaJIT-2.0.1.tar.gz
tar -xf LuaJIT-2.0.1.tar.gz
cd LuaJIT-2.0.1
make
make install PREFIX=/usr/local/luajit
#安装pcre
mkdir -p /usr/local/src/lemppackages/toolsoft/
cd /usr/local/src/lemppackages/toolsoft/
test ! -e pcre-8.32.tar.bz2 && wget ftp://ftp.csx.cam.ac.uk/pub/soft ... e/pcre-8.32.tar.bz2
tar -xf pcre-8.32.tar.bz2
cd /usr/local/src/lemppackages/toolsoft/pcre-8.32
./configure --prefix=/usr/local/pcre --enable-jit
make
make install
#添加用户
groupadd -f www-data
useradd -s /sbin/nologin -g www-data www-data
#编译安装 tengine
mkdir -p /usr/local/src/lemppackages/webserver
cd /usr/local/src/lemppackages/webserver
git clone https://github.com/alibaba/tengine.git
cd /usr/local/src/lemppackages/webserver/tengine
git clone https://github.com/alibaba/tengine.git
make -j2 && make install
接下来用静态和动态两种方法都安装失败了。
一种是dso方式
首先是静态编译
cd /usr/local/src/lemppackages/webserver/tengine
./configure \
--prefix=/usr/local/webserver/tengine \
--user=www-data --group=www-data \
--with-http_realip_module \
--with-http_addition_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_concat_module \
--with-pcre=/usr/local/src/lemppackages/toolsoft/pcre-8.32
而后动态加载。结果失败!
cd /usr/local/webserver/tengine/sbin/
./dso_tool --add-module=/usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit
提示
In file included from /usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit/src/ndk.c:6:
/usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit/src/ndk.h:36:27: error: ndk_config.h: No such file or directory
/usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit/src/ndk.h:52:29: error: ndk_includes.h: No such file or directory
/usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit/src/ndk.c:8:27: error: ndk_config.c: No such file or directory
/usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit/src/ndk.c:106: error: ‘ndk_http_commands’ undeclared here (not in a function)
make: *** [objs/src/src/ndk.o] Error 1
copying objs/ngx_devel_kit.so to /usr/local/webserver/tengine/modules/
cp: cannot stat `objs/ngx_devel_kit.so': No such file or directory
接下来。就打算用全静态编译。
下载模块
mkdir -p /usr/local/src/lemppackages/webserver/nginx_modules
cd /usr/local/src/lemppackages/webserver/nginx_modules
#下载 nginx devel kit
git clone https://github.com/simpl/ngx_devel_kit.git
#下载 nginx echo module
git clone https://github.com/agentzh/echo-nginx-module.git
#下载 lua-nginx-module 模块
git clone https://github.com/chaoslawful/lua-nginx-module.git
cd /usr/local/src/lemppackages/webserver/tengine
./configure --prefix=/usr/local/webserver/tengine \
--user=www-data --group=www-data \
--with-ld-opt="-Wl,-rpath,$LUAJIT_LIB" \
--with-luajit-inc=/usr/local/luajit/include/luajit-2.0 \
--with-luajit-lib=/usr/local/luajit/lib \
--add-module=/usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit \
--add-module=/usr/local/src/lemppackages/webserver/nginx_modules/echo-nginx-module \
--add-module=/usr/local/src/lemppackages/webserver/nginx_modules/lua-nginx-module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_dav_module \
--with-pcre=/usr/local/src/lemppackages/toolsoft/pcre-8.32
结果又报告
/usr/local/src/lemppackages/webserver/nginx_modules/echo-nginx-module/src/ngx_http_echo_module.c
In file included from /usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit/src/ndk.c:6:
/usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit/src/ndk.h:36:27: error: ndk_config.h: No such file or directory
/usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit/src/ndk.h:52:29: error: ndk_includes.h: No such file or directory
/usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit/src/ndk.c:8:27: error: ndk_config.c: No such file or directory
/usr/local/src/lemppackages/webserver/nginx_modules/ngx_devel_kit/src/ndk.c:106: error: ‘ndk_http_commands’ undeclared here (not in a function)
make[1]: *** [objs/addon/src/ndk.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/usr/local/src/lemppackages/webserver/tengine'
make: *** [build] Error 2
碰到同样的错误!!
另外这个dso关键字居然也有问题
- cd /usr/local/webserver/tengine/sbin/
- ./dso_tool --add-module=/usr/local/src/lemppackages/webserver/nginx_modules/echo-nginx-module
- 结果生成了
- /usr/local/webserver/tengine/modules/ngx_http_echo_module.so
- 于是
- nginx.conf配置文件里加入
- dso {
- load ngx_http_echo_module.so;
- }
- 而后在
- location /echo {
- default_type 'text/plain';
- echo 'hello echo';
- }
- 结果这个dso段落就导致了错误
- # /usr/local/webserver/tengine/sbin/nginx -t
- nginx: [emerg] "dso" directive is not allowed here in /usr/local/webserver/tengine/conf/nginx.conf:34
- configuration file /usr/local/webserver/tengine/conf/nginx.conf test failed
复制代码 |
|