Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)

申明:资料来源于网络及书本,通过理解、实践、整理成学习笔记。

文章目录

  • Ubuntu上安装nginx
    • 搭建liunux环境
    • 安装C++编译器
    • 安装nginx的依赖包
    • 安装nginx
    • 安装nginx遇到的错误解决
    • 安装nginx-rtmp-modeule
    • 安装libx264
    • 安装FFmpeg

Ubuntu上安装nginx

搭建liunux环境

虚拟机版本:VMware Workstation Pro 12.5.2
下载链接:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
liunux镜像:Ubuntu 20.04.2.0 LTS(我使用的是目前的最新版本)
下载链接:https://cn.ubuntu.com/download

安装C++编译器

需要用到C++编译器,在ubuntu终端下直接安装g++,安装命令如下:

apt-get install g++

我在安装时出现了错误,会提示无法打开锁文件 /var/lib/dpkg/lock - open (13: 权限不够) 无法对状态列表目录加锁(/var/lib/dpkg/),请查看您是否正以 root 用户运行?如下图:Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第1张图片
解决方法:在命令前面加sudo

sudo apt-get install g++

输入之后会提示出入密码,输入的密码不会显示,正常输入完成按回车即可。
完成之后会提示你是否确认安装,输入y确认安装,如下图:
Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第2张图片
代码执行完成之后,按方向上键回车再次执行,确保安装成功,如下图:
在这里插入图片描述

安装nginx的依赖包

1.安装nginx的依赖包openssl,安装命令如下:

sudo apt-get install openssl libssl-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第3张图片
2. 安装nginx的依赖包pcre,安装命令如下:

sudo apt-get install libpcre3 libpcre3-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第4张图片
3. 安装nginx的依赖包zlib,安装命令如下:

sudo apt-get install zlib1g-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第5张图片

安装nginx

1.下载nginx,这里我下载的版本是1.18.0,终端命令如下:

wget http://nginx.org/download/nginx-1.18.0.tar.gz

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第6张图片
2.将下载的nginx压缩包进行解压,终端命令如下:

tar -xzvf nginx-1.18.0.tar.gz

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第7张图片

3.将文件夹nginx-1.18.0重命名为nginx,方便以后记忆查询,终端命令如下:

mv nginx-1.18.0 nginx

4.移动nginx文件夹到ubuntu常见软件目录下,在移动时如果不加sudo又会报错权限不够,所以要加上sudo,终端命令如下:

sudo mv nginx/ /usr/local/

5.进入nginx文件夹并修改nginx的配置文件,终端命令如下:

sudo ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第8张图片
6.安装make包,终端命令如下:

sudo apt install make

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第9张图片
7.编译nginx,终端命令如下:

sudo make

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第10张图片
8.安装nginx,终端命令如下:

sudo make install

正常安装到这里就OK了,但是这里有部分可能发生报错,报错情况如下:
这里先不说解决方法,后面会一起解决
Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第11张图片
9.查看nginx是否安装成功,终端命令如下:

cd /usr/local/nginx/sbin
./nginx -t

如果执行结果如下图所示,那么恭喜你安装成功,如果没有安装的同学请继续看下面的错误排查
在这里插入图片描述
打开浏览器输入localhost,查看结果是否如图所示:
Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第12张图片

安装nginx遇到的错误解决

错误1:open() “/usr/local/nginx/logs/error/log” failed,如图所示:
在这里插入图片描述

  • 当前用户权限不够,使用root用户
    su root
    
  • 或者在命令前加sudo
    sudo ./nginx
    

错误2:open() “/usr/local/nginx/logs/nginx.pid” failed,如图所示:
在这里插入图片描述
解决方法:

  • 进入到logs目录发现确实没有nginx.pid文件,指定配置文件启动nginx后,nginx.pid生成
    sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    

错误3:getpwnam(“www”) failed,如图所示:
在这里插入图片描述
解决方法:

  • 错误的原因是没有创建www这个用户,应该在服务器系统中添加www用户组和用户www
    进入/usr/sbin/文件夹
    cd /usr/sbin/
    
    添加www用户组
    sudo groupadd -f www
    
    用户www用户
    sudo useradd -g www www
    
    在这里插入图片描述

错误4:Address already in use,如图所示:
Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第13张图片
解决方法:

  • 80端口被占用,这时候倘若我门想要再使用这个端口,就会抛出 “error:[Errno 98] Address already in use” 这样的异常。
    找到被占用的指定端口号所对应的进程信息并呈现
    sudo lsof -i:80
    
    将查询出来的进程全部关闭
    sudo kill -9 (PID号)
    
    具体操作如下图:
    Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第14张图片
    Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第15张图片

安装nginx-rtmp-modeule

nginx-rtmp-modeule下载地址:
https://codechina.csdn.net/mirrors/arut/nginx-rtmp-module?utm_source=csdn_github_accelerator
解压到/usr/local/nginx文件夹下
切换到/usr/local/nginx文件夹,终端命令如下:

cd /usr/local/nginx

修改nginx文件夹下的配置文件,终端命令如下:

sudo ./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx/nginx-rtmp-module-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第16张图片
再次编译,终端命令如下:

sudo make

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第17张图片

安装libx264

安装yasm,终端命令如下:

apt-get install yasm

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第18张图片
安装aptitude,终端命令如下:

sudo apt install aptitude

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第19张图片
安装libx264,终端命令如下:

sudo aptitude install libx264-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第20张图片

安装FFmpeg

安装FFmpeg的依赖包libfaac,终端命令如下:

sudo aptitude install libfaac-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第21张图片
安装FFmpeg的依赖包libmp3lame,终端命令如下:

sudo aptitude install libmp3lame-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第22张图片
安装FFmpeg的依赖包libtheora,终端命令如下:

sudo aptitude install libtheora-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第23张图片
安装FFmpeg的依赖包libvorbis,终端命令如下:

sudo aptitude install libvorbis-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第24张图片
安装FFmpeg的依赖包libxvid,终端命令如下:

sudo aptitude install libxvidcore-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第25张图片
安装FFmpeg的依赖包libxext,终端命令如下:

sudo aptitude install libxext-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第26张图片
安装FFmpeg的依赖包libxfixes,终端命令如下:

sudo aptitude install libxfixes-dev

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第27张图片
安装git

sudo apt install git

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第28张图片
下载ffmpeg,终端命令如下:

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第29张图片
移动ffmpeg文件夹到/usr/local下,终端命令如下:

sudo mv ffmpeg/ /usr/local/

切换到/usr/local/ffmpeg文件夹,终端命令如下:

cd /usr/local/ffmpeg

修改ffmpeg文件夹下的配置文件,终端命令如下:

./configure   --enable-shared  --prefix=/usr/local/ffmpeg  --enable-gpl --enable-libx264  

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第30张图片
编译ffmpeg,终端命令如下:

make

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第31张图片
安装ffmpeg,终端命令如下:

make install

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第32张图片
增加安装目录的动态链接库,终端命令如下:

export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH

查看指令依赖的动态库,终端命令如下:

ldd ffmpeg 

Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第33张图片
检测fsmpeg是否安装成功,终端命令如下:

ffmpeg -version

出现如下所示,即安装成功
Linux(一)Ubuntu上安装nginx、nginx-rtmp-modeule、libx264、FFmpeg(巨详细)_第34张图片

一个坚持学习,坚持成长,坚持分享的人,即使再不聪明,也一定会成为优秀的人!

如果看完觉得有所收获的话,记得一键三连哦,谢谢大家!

你可能感兴趣的:(Linux,linux,ubuntu,nginx,虚拟机,vmware)