赞
踩
版本:nginx-1.16.1(版本最好新一点)
官网地址:http://nginx.org/en/download.html
版本:openssl-1.1.0i
地址:https://www.openssl.org/
版本:pcre-8.43
地址:http://www.pcre.org/
版本:zlib-1.2.11
地址:http://www.zlib.net/
支持rtmp和hls转发
地址:https://github.com/arut/nginx-rtmp-module
支持http-flv方式直播
地址:https://github.com/winshining/nginx-http-flv-module
nginx-rtmp-module和nginx-http-flv-module两者只需要其中之一就可以,不需要联合编译。
地址:https://blog.csdn.net/l1028386804/article/details/80022437作者对相关的准备写的很齐全。
./configure --with-http_ssl_module --with-cc=arm-hisiv400-linux-gcc --with-cpp=arm-hisiv400-linux-cpp --prefix=/home/yangjia/Nginx/test --with-pcre=./pcre-8.43 --with-openssl=./openssl-1.1.0i --with-zlib=./zlib-1.2.11 --add-module=./nginx-rtmp-module-master --without-http_gzip_module --without-http_upstream_zone_module
1.错误信息:./configure: error: C compiler arm-hisiv400-linux-gcc is not found
这是因为nginx编译的时候除了检查cc是否存在,还需要执行编译后的程序。很明显交叉编译的程序无法执行。
解决方法:vi auto/cc/name
ngx_feature_run=yes ==> ngx_feature_run=no
2.错误信息:./configure: error: can not detect int size
解决方法:vi auto/types/sizeof
ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ ==> ngx_test="gcc $CC_TEST_FLAGS $CC_AUX_FLAG \
if [ -x $NGX_AUTOTEST ]; then``
ngx_size=`$NGX_AUTOTEST` ==> ngx_size=4
3.错误信息: configure: error: in `/home/src/pcre-8.42': configure: error: C compiler cannot create executables
解决方法:vi auto/options
PCRE_CONF_OPT=--host=arm-hisiv400-linux
注意:以上三个错误调整完重新configure
1.错误信息:error: ‘NGX_SYS_NERR’ undeclared (first use in this function)
解决方法:vi objs/ngx_auto_config.h
添加: #ifndef NGX_SYS_NERR
#define NGX_SYS_NERR 132
#endif
2.错误信息:error: ld returned 1 exit status
解决方法:vi auto/lib/openssl/make
&& ./config --prefix=$ngx_prefix no-shared no-threads $OPENSSL_OPT \
改为
&& ./Configure --prefix=$ngx_prefix no-shared no-threads --cross-compile-prefix=arm-hisiv400-linux- linux-generic32\
注意:此错误修改完成之后重新configure之后再make之后重复1步骤。
3.错误信息: undefined reference to 'ngx_shm_alloc'
解决方法:vi objs.nginx_auto_config.h
添加: #ifndef NGX_HAVE_SYSVSHM
#define NGX_HAVE_SYSVSHM 1
#endif
完成上述之后make install即可。
rtmp { server { listen 0.0.0.0:1935; chunk_size 4000; access_log /dev/null;// 关闭log application videolive { live on; allow publish all; allow play all; on_play http://127.0.0.1/rtmplivevideo; on_play_done http://127.0.0.1/rtmpstopvideo; gop_cache on;//nginx-http-flv-module模块用来减少第一帧加载时间 } application videolive2 { ... } ...
/xxx/xxx/nginx/sbin/nginx -c /xxx/xxx/nginx/conf/nginx.conf/ -p /xxx/xxx/nginx
/xxx/xxx/为nginx的安装位置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。