Linux(一)之Ubuntu上安装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 用户运行?如下图:在这里插入图片描述
解决方法:在命令前面加sudo

sudo apt-get install g++

输入之后会提示出入密码,输入的密码不会显示,正常输入完成按回车即可。
完成之后会提示你是否确认安装,输入y确认安装,如下图:
在这里插入图片描述
代码执行完成之后,按方向上键回车再次执行,确保安装成功,如下图:
在这里插入图片描述

安装nginx的依赖包

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

sudo apt-get install openssl libssl-dev

在这里插入图片描述
2. 安装nginx的依赖包pcre,安装命令如下:

sudo apt-get install libpcre3 libpcre3-dev

在这里插入图片描述
3. 安装nginx的依赖包zlib,安装命令如下:

sudo apt-get install zlib1g-dev

在这里插入图片描述

安装nginx

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

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

在这里插入图片描述
2.将下载的nginx压缩包进行解压,终端命令如下:

tar -xzvf nginx-1.18.0.tar.gz

在这里插入图片描述

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

在这里插入图片描述
6.安装make包,终端命令如下:

sudo apt install make

在这里插入图片描述
7.编译nginx,终端命令如下:

sudo make

在这里插入图片描述
8.安装nginx,终端命令如下:

sudo make install

正常安装到这里就OK了,但是这里有部分可能发生报错,报错情况如下:
这里先不说解决方法,后面会一起解决
在这里插入图片描述
9.查看nginx是否安装成功,终端命令如下:

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

如果执行结果如下图所示,那么恭喜你安装成功,如果没有安装的同学请继续看下面的错误排查
在这里插入图片描述
打开浏览器输入localhost,查看结果是否如图所示:
在这里插入图片描述

安装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,如图所示:
在这里插入图片描述
解决方法:

  • 80端口被占用,这时候倘若我门想要再使用这个端口,就会抛出 “error:[Errno 98] Address already in use” 这样的异常。
    找到被占用的指定端口号所对应的进程信息并呈现
    sudo lsof -i:80
    
    将查询出来的进程全部关闭
    sudo kill -9 (PID号)
    
    具体操作如下图:
    在这里插入图片描述
    在这里插入图片描述

安装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

在这里插入图片描述
再次编译,终端命令如下:

sudo make

在这里插入图片描述

安装libx264

安装yasm,终端命令如下:

apt-get install yasm

在这里插入图片描述
安装aptitude,终端命令如下:

sudo apt install aptitude

在这里插入图片描述
安装libx264,终端命令如下:

sudo aptitude install libx264-dev

在这里插入图片描述

安装FFmpeg

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

sudo aptitude install libfaac-dev

在这里插入图片描述
安装FFmpeg的依赖包libmp3lame,终端命令如下:

sudo aptitude install libmp3lame-dev

在这里插入图片描述
安装FFmpeg的依赖包libtheora,终端命令如下:

sudo aptitude install libtheora-dev

在这里插入图片描述
安装FFmpeg的依赖包libvorbis,终端命令如下:

sudo aptitude install libvorbis-dev

在这里插入图片描述
安装FFmpeg的依赖包libxvid,终端命令如下:

sudo aptitude install libxvidcore-dev

在这里插入图片描述
安装FFmpeg的依赖包libxext,终端命令如下:

sudo aptitude install libxext-dev

在这里插入图片描述
安装FFmpeg的依赖包libxfixes,终端命令如下:

sudo aptitude install libxfixes-dev

在这里插入图片描述
安装git

sudo apt install git

在这里插入图片描述
下载ffmpeg,终端命令如下:

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

在这里插入图片描述
移动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  

在这里插入图片描述
编译ffmpeg,终端命令如下:

make

在这里插入图片描述
安装ffmpeg,终端命令如下:

make install

在这里插入图片描述
增加安装目录的动态链接库,终端命令如下:

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

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

ldd ffmpeg 

在这里插入图片描述
检测fsmpeg是否安装成功,终端命令如下:

ffmpeg -version

出现如下所示,即安装成功
在这里插入图片描述

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

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿头来坚持

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值