Nginx:添加/启用 mp4 模块

Nginx:添加/启用 mp4 模块

有没有办法在 nginx 上启用这个模块?http://wiki.nginx.org/HttpMp4Module

我已经在 nginx 上运行了许多域,我不能只是删除它并重建一切。

我尝试下载最新的 nginx,然后执行,./configure --with-http_mp4_modulemake没有make install成功。我还担心这个重新编译过程会删除我所有的配置和域设置。

答案1

安装:

$ sudo apt-get install nginx-extras

示例配置:

location /video/ {
    mp4;
    mp4_buffer_size       1m;
    mp4_max_buffer_size   5m;
    mp4_limit_rate        on;
    mp4_limit_rate_after  30s;
}

答案2

首先,备份您的 nginx 配置文件夹 (/etc/nginx) - 如果您的配置对您来说很重要,那么您肯定需要一份额外的副本以防万一。也就是说,大多数安装不会覆盖现有配置。

其次,对于正确的配置行,请运行nginx -V(使用您的工作 nginx),然后添加其他配置语句,可能还有其他与您的设置相关的配置参数。 (这还将让您验证模块是否已编译到您正在运行的版本中。)(此外,您说它“不起作用” - 为什么?错误是什么?)。默认的 nginx 配置语句(x86)是:

--prefix=/etc/nginx/ --sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx \
--with-http_ssl_module --with-http_realip_module --with-http_addition_module \
--with-http_sub_module --with-http_dav_module --with-http_flv_module \
--with-http_mp4_module --with-http_gzip_static_module \
--with-http_random_index_module --with-http_secure_link_module \
--with-http_stub_status_module --with-mail --with-mail_ssl_module \
--with-file-aio --with-ipv6 --with-cc-opt='-O2 -g -march=i386 -mtune=i686'

最后,如果你没有进行特定的优化(例如,你已经删除了某些模块等),你可以使用nginx 存储库(适用于 RHEL/CentOS、Debian/Ubuntu)——已发布的二进制文件包含您正在寻找的模块(根据上面的配置语句),并且存储库使其更易于维护(缺点是缺乏定制,但有时,这是值得的代价)。

存储库版本不会覆盖您的配置,但如果有新的配置文件,它会添加它们 - 这对于较新版本的某些配置来说是一个问题,因为添加了 /etc/nginx/conf.d/default.conf - 它指定了可能与现有配置不兼容的附加服务器。(您可以重命名此文件,甚至可以复制回整个 /etc/nginx 文件夹以恢复旧配置)

相关内容