第五部分
前段时间,在Ubuntu上面搭建起来了能支持HLS的流媒体服务器,最终目标是在arm的开发板上搭建这样的流媒体服务器。现在工作只是做了一小部分,正在进行移植,记录下来,方便以后继续干。
1、首先是要移植nginx到arm的开发板上面。
这个其实有人已经做过了,可以使用别人的工程。
这是android-nginx开源项目,在此基础上继续开发。
2、下载了原码之后,按照上面的步骤进行:
首先,确定有NDK环境,要调用NDK的工具链。
android ndk 提供脚本,允许自己定制一套工具链,方法是:
$NDK_HOME/build/tools/make-standalone-toolchain.sh --platform=android-14 --install-dir=$HOME/local/android-toolchain
其中NDK_HOME就是你的NDK路径。
3、按照它的第二步,项目官网上写的是:
auto/configure --crossbuild=android-arm --prefix=/sdcard/nginx --with-cc=$HOME/local/android-toolchain/arm-linux-androideabi/bin/gcc --without-pcre --without-http_rewrite_module --without-http_userid_module --with-cc-opt=-Wno-sign-compare
但是,当进入到auto的上一目录下执行时,会提示错误,找不到gcc,所以要修改下命令:
auto/configure --crossbuild=android-arm --prefix=/home/wangrui/arm-nginx --with-cc=/home/wangrui/local/android-toolchain/bin/arm-linux-androideabi-gcc --without-pcre --without-http_rewrite_module --without-http_userid_module --with-cc-opt=-Wno-sign-compare
因为以后的make和make install要在root下,所以将命令中HOME改成了我的目录/home/wangrui/
4、不出错的话,能顺利完成,然后make,make install
5、将arm-nginx拷贝到android SDCARD中。
在拷贝时,会有权限问题,不能拷贝,修改arm-nginx文件夹权限:
chmod 777 arm-nginx -R
-R表示文件夹下的子文件夹和文件也一并修改。
6、将手机使用数据线连接,打开USB调式,安装adb工具
sudo apt-get install android-tools-adb
7、进入到SDK目录下,我的是/home/wangrui/java/sdk/platform-tools
执行命令:
adb shell
会进入到手机当中,执行命令:
cd sdcard
进入到sd卡中,找到arm-nginx目录
8、完整命令是:
cd sdcard/arm-nginx/sbin/
执行
./nginx
提示错误:
nginx: [alert] could not open error log file: open() "/home/wangrui/arm-nginx/logs/error.log" failed (2: No such file or directory) 2015/02/12 16:16:26 [emerg] 4079#0: open() "/home/wangrui/arm-nginx/conf/nginx.conf" failed (2: No such file or directory)
找不到文件,修改命令:
./nginx -p /sdcard/arm-nginx/ -c /sdcard/arm-nginx/conf/nginx.conf
执行提示错误:
nginx: [emerg] getgrnam("nogroup") failed (2: No such file or directory)
现在还不知道该如何修改,今天先记录到这里,由于快放年假,便于后来继续,一步步来……
遇到过这种情况的前辈清不吝赐教阿!
多谢了
时间: 2024-10-01 08:11:36