Nginx在zedboard中的移植

上面这句版权声明不知道在哪里改,大家可以转载,标明出处就好。

我的准备工作:
zlib-1.2.8.tar.gz
pcre-8.20.tar.gz
nginx-1.6.tar.gz

我把上面三个文件解压到了home/ds/nginx中(nginx是我自己建的文件夹)
解压后目录分别为:
/home/ds/nginx/zlib-1.2.8
/home/ds/nginx/pcre-8.20
/home/ds/nginx/nginx-1.6.3

1.安装zlib
cd 到zlib-1.2.8下
./configure
make
sudo make install

2.安装pcre
cd 到pcre-8.20下
./configure CC=arm-none-linux-gnueabi-gcc –host=arm-none-linux-gnueabi (注:这里要根据你自己的交叉编译器名称设置)
make
sudo make install

3.编译安装Nginx并生成需要的文件
进入到nginx-1.6.3文件夹下
(1)/home/ds/nginx/nginx-1.6.3/auto/cc/conf
38行左右 改为 :
case $NGX_CC_NAME in
arm-none-linux-gnueabi-gcc)
##Modify by ds

(2)/home/ds/nginx/nginx-1.6.3/auto/types/sizeof
15行左右 改为 ngx_size=4

37行左右 改为:

ngx_test="$gcc $CC_TEST_FLAGS $CC_AUX_FLAGS \
-o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"

##eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"

##if [ -x $NGX_AUTOTEST ]; then
## ngx_size=$NGX_AUTOTEST
## echo ” $ngx_size bytes”
##fi
##Modify by ds

(3)/home/ds/nginx/nginx-1.6.3/src/os/unix/ngx_errno.h
15行添加 #define NGX_SYS_NERR 333

(4)/home/ds/nginx/nginx-1.6.3/src/os/unix/ngx_shmem.c

#if (NGX_HAVE_MAP_ANON) ==> #if (!NGX_HAVE_MAP_ANON)

(5)/home/ds/nginx/nginx-1.6.3/auto/feature
55行左右:
# /bin/sh is used to intercept "Killed" or "Abort trap" messages
##if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then
echo " found"
ngx_found=yes
if test -n "$ngx_feature_name"; then
have=$ngx_have_feature . auto/have
fi
## else
## echo " found but is not working"
## fi
##Modify by ds
;;

(6)交叉编译:
a.)) /home/ds/nginx/nginx-1.6.3目录下

在该目录下新建一个myconf.sh
内容为:

#!/bin/sh
#make clean
#export CC=arm-none-linux-gnueabi-gcc
#export LD=arm-none-linux-gnueabi-ld
#export NGX_SYSTEM=linux
#export NGX_RELEASE=3.2-XT5
#export NGX_MACHINE=arm
export CFLAGS="-Werror"
BUILD_PATH=/home/ds/nginx/nginx-1.6.3/arm
CC_PATH=/home/ds/arm-2013.05/bin/arm-none-linux-gnueabi-gcc
CPP_PATH=/home/ds/arm-2013.05/bin/arm-none-linux-gnueabi-g++
./configure \
--prefix=$BUILD_PATH \
--user=root \
--group=root \
--builddir=\$BUILD_PATH\build \
--with-zlib=/home/ds/nginx/zlib-1.2.8 \
--with-pcre \
--with-pcre=/home/ds/nginx/pcre-8.20 \
--with-pcre-jit \
--with-cc=$CC_PATH \
--with-cpp=$CPP_PATH \
--with-cpu-opt=pentiumpro \
--with-ipv6 \
--with-http_mp4_module \
--with-http_flv_module \

b.))在终端 ./configure
make
sudo make install

arm目录中就是我们移植到zedboard上的文件夹
新建一个nginx文件夹,将arm文件夹下的东西全部拷贝到nginx中
mkdir nginx
cp -rf arm/* nginx

将nginx文件夹拷贝到SD卡上
设置zedboard跳线冒,使其从SD卡启动。并插好UART和JTAG线。
zedboard

打开串口调试工具
这里写图片描述

cd
mkdir home/nginx

将nginx文件夹复制到板子上linux 的home/nginx中
cp -rf /mnt/nginx/* /home/nginx
设置动态链接库路径
export LD_LIBRARY_PATH=/home/nginx
/home/nginx/sbin/nginx -h
两个路径需要改一下
/home/nginx/sbin/nginx -p /home/nginx -c /home/nginx/conf/nginx.conf

/home/nginx/conf/nginx.conf 这个文件我还没配置,
但是/home/nginx/sbin/nginx -h能打印出东西来,说明已经移植成功了,大家自己配置一下。


参考:
[1]http://cplusplus2012.blog.163.com/blog/static/20667626820146410397974/
[2]http://www.tuicool.com/articles/QZVJjez

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值