Nginx 移植arm64搭建笔记

一 说明

服务器采用nginx,默认支持MP4和FLV格式,要支持rtmp需要,安装第三方nginx-rtmp-module 插件使其支持RTMP安装拓展包。h5播放器采用video.js+flv.js。

二 依赖文件

Nginx:nginx-1.20.0.tar.gz http://nginx.org/download/nginx-1.20.0.tar.gz

nginx-rtmp-module:nginx-rtmp-module-master.zip https://github.com/arut/nginx-rtmp-module.git

pcre:pcre-8.39.tar.gz https://sourceforge.net/projects/pcre/files/pcre/8.39/

zlib:zlib.tar.gz http://www.zlib.net/

openssl:openssl-1.0.2p.tar.gz https://oomake.com/download/ope

下载完之后,将它们全都解压到一个文件夹下以便统一编译和管理。

三 编译

进入nginx_object目录新建一个名为config.sh的脚本文件,已经写好了,一键make 的配置

#!/bin/sh
BASE_PATH=$(pwd)
BUILD_PATH=$BASE_PATH/install
if [ ! -d "install" ];then
    mkdir install
else
    echo "文件夹已经存在"
fi
cd nginx-1.20.0;
./configure \
    --prefix=$BUILD_PATH \
    --with-zlib=$BASE_PATH/zlib-1.3.1 \
    --with-pcre \
    --with-pcre=$BASE_PATH/pcre-8.39 \
    --with-pcre-jit \
    --with-http_mp4_module \
    --with-http_ssl_module \
    --with-openssl=$BASE_PATH/openssl-1.0.2p \
    --without-http_upstream_zone_module \
    --add-module=$BASE_PATH/nginx-rtmp-module-master \
    --with-cc=aarch64-v01c01-linux-musl-gcc \
    --with-cpp=aarch64-v01c01-linux-musl-g++

针对原包编译还需修改一下几点

1.nginx-1.20.0\auto\cc\name 修改一下三处        

2.nginx-1.20.0\auto\options 修改增加 --host=aarch64-v01c01-linux-musl

3.nginx-1.20.0\auto\types\sizeof 修改一下三处

修改以上几处后,sh config_x86.sh 我们可以 进行编译

cd nginx-1.20.0 
make make install

但是,这样编译会出现错误,需要在编译前,修改 obj/Makefile,需修改以下几出。

  1. nginx-1.20.0\objs\ngx_auto_config.h 需要增加以下宏定义

#ifndef NGX_HAVE_SYSVSHM 
#define NGX_HAVE_SYSVSHM 1 
#endif 

2.nginx-1.20.0\objs\Makefile 修改 1559 行关于 openssl 的编译项

去掉 此行,改为手动去执行

&& ./config --prefix=/home/halezhang/work/nginx_org/openssl-1.0.2p/.openssl no-asm shared no-threads \

&& ./config --prefix=/home/halezhang/work/nginx_org/openssl-1.0.2p/.openssl no-asm shared no-threads \ 
&& $(MAKE) CC="$(CC)"\ 
&& $(MAKE) CC="$(CC)" install_sw LIBDIR=lib

3.aarch64-v01c01-linux-musl-gcc: error: unrecognized command-line option '-m64'

需要手动进入 openssl 修改Makefile 去掉所有-m64

编译成功后,make install 在 install 目录下,strip 下 nginx

四. 在板子上运行 nginx

1. 修改配置文件 install/conf/nginx.conf ,左边改后,我们是.MP4,需要修改为.MP4

2.配置文件 install/conf html logs 文件夹都放到/etc/nginx/ 目录

3.运行 ./nginx -p /etc/nginx

五. 测试

浏览器预览

http://192.168.29.1

http://192.168.29.1:80/NORM00041.mp4

http://192.168.29.1/ATOM_003/DCIM/PTSC_0048.MP4

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值