当前位置: 首页 > news >正文

网站程序制作推广优化排名

网站程序制作,推广优化排名,装修图片效果图 现代简约,京东商城网站开发平台大纲 1 确定Lambda运行时环境1.1 Lambda系统、镜像、内核版本1.2 运行时1.2.1 Python1.2.2 Java 2 启动EC23 编写调用FFmpeg的代码4 生成docker镜像4.1 安装和启动Docker服务4.2 编写Dockerfile脚本4.3 生成镜像 5 推送镜像5.1 创建存储库5.2 给EC2赋予角色5.2.1 创建策略5.2.2…

大纲

  • 1 确定Lambda运行时环境
    • 1.1 Lambda系统、镜像、内核版本
    • 1.2 运行时
      • 1.2.1 Python
      • 1.2.2 Java
  • 2 启动EC2
  • 3 编写调用FFmpeg的代码
  • 4 生成docker镜像
    • 4.1 安装和启动Docker服务
    • 4.2 编写Dockerfile脚本
    • 4.3 生成镜像
  • 5 推送镜像
    • 5.1 创建存储库
    • 5.2 给EC2赋予角色
      • 5.2.1 创建策略
      • 5.2.2 创建角色
      • 5.2.3 给EC2绑定角色
    • 5.3 修改docker用户
    • 5.4 推送镜像
  • 6 部署Lambda
  • 参考文献

FFmpeg被广泛应用于音/视频流处理领域。对于简单的需求,我们可以直接运行FFmpeg二进制程序命令就可以完成。但是对于定制性的功能,则需要熟悉系统的代码设计框架,进行二次开发。文本讨论的是在AWS无服务架构的Lambda上,如何通过Docker部署FFmpeg二进制程序。

1 确定Lambda运行时环境

Lambda运行时决定了其运行的CPU架构、操作系统和辅助软件。不同语言的运行时环境不同,相同语言的不同版本的运行时不同,所以这步的确认非常重要,否则会造成FFmpeg与Lambda不兼容的问题。下面是从AWS官方摘录了运行时信息,仅供参考。

1.1 Lambda系统、镜像、内核版本

系统镜像Linux 内核
Amazon Linux镜像 – amzn-ami-hvm-2018.03.0.20181129-x86_64-gp24.14
Amazon Linux 2自定义4.14

1.2 运行时

1.2.1 Python

Python 运行时标识符AWS Python的软件工具包操作系统架构
Python 3.9python3.9boto3-1.20.32 botocore-1.23.32Amazon Linux 2x86_64,arm64
Python 3.8python3.8boto3-1.20.32 botocore-1.23.32Amazon Linux 2x86_64,arm64
Python 3.7python3.7boto3-1.20.32 botocore-1.23.32Amazon Linuxx86_64
Python 3.6python3.6boto3-1.20.32 botocore-1.23.32Amazon Linuxx86_64

1.2.2 Java

Java 运行时标识符JDK作系统架构
Java 11java11amazon-corretto-11Amazon Linux 2x86_64,arm64
Java 8java8.al2amazon-corretto-11Amazon Linux 2x86_64,arm64
Java 8java8amazon-corretto-11Amazon Linuxx86_64

本例使用Python3.9版本,其操作系统是Amazon Linux 2,Linux内核是“4.14”,架构是“x86_64,arm64”。在这两种CPU架构中,我们选择适用面更广的x86_64。如果选择arm64,后续FFmpeg选择,以及Lambda函数运行时也要做出相应调整。

2 启动EC2

在EC2的控制面板中启动最低配置(t2.micro)的实例,同时AMI选择和Lambda一致的Linux内核版本。CPU架构,我们选择常见的X86_64。这些配置也决定了后续我们下载使用的FFmpeg的版本。
在这里插入图片描述
可以创建一对新的密钥对,也可以使用老的密钥对。因为我们使用浏览器连接EC2,所以这个环节不重要。
由于Docker需要一定磁盘,我们需要给该虚拟机20G的磁盘空间。
在这里插入图片描述
待实例处于running状态,可以使用浏览器连接它。
在这里插入图片描述

3 编写调用FFmpeg的代码

由于通过Docker部署的Lambda在Web端看不到代码,也不能在Web端提交代码,于是只能在Docker中提前把代码部署好。
在/home/ec2-user下使用vim新建一个文件lambda_handle.py,并填充内容

import subprocess
import shlexdef lambda_handler(event, context):if not event:return {'statusCode': 400,'body': json.dumps('event error')}ffmpeg_cmd = "/usr/bin/ffmpeg -version"command = shlex.split(ffmpeg_cmd)p = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)return {'statusCode': 200,'body': str(p.stdout, encoding='utf-8')}

这儿我们约定FFmpeg的路径是/usr/bin/ffmpeg,这将在Docker文件中确保该路径正确。

4 生成docker镜像

4.1 安装和启动Docker服务

sudo yum install -y docker
sudo service docker start

4.2 编写Dockerfile脚本

在/home/ec2-user目录下使用vim新建Dockerfile脚本文件,并填入以下内容。其中倒数第三步,是将FFmpeg放到之前约定的/usr/bin目录下;倒数第二步,是将上步编写的Python脚本放到指定目录;最后一步是设置Lambda函数入口。

FROM public.ecr.aws/lambda/python:3.9
RUN export ENVIRONMENT=$ENVIRONMENT:online
RUN /var/lang/bin/python3.9 -m pip install --upgrade pip
RUN yum -y install gcc libjpeg-devel zlib-devel gcc-c++ python3-wheel epel-release wget tar gzip xz
RUN wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
RUN wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz.md5
RUN md5sum -c ffmpeg-release-amd64-static.tar.xz.md5
RUN tar -xvf ffmpeg-release-amd64-static.tar.xz
RUN mv ffmpeg-5.0.1-amd64-static/ffmpeg /usr/bin
COPY ./lambda_handle.py ./
CMD ["lambda_handle.lambda_handler"]

4.3 生成镜像

sudo docker build -t lambda_ffmpeg:latest -f Dockerfile .

5 推送镜像

5.1 创建存储库

在AWS Elastic Container Registry中创建一个名为lambda_ffmpeg的存储库。
在这里插入图片描述

5.2 给EC2赋予角色

5.2.1 创建策略

选择Elastic Container Registry服务,并限制资源为上述创建的ECR库。为了方便测试,暂时先赋予全部权限。(生产环境中要严格遵从最小权限原则。)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后创建了名为“ElasticContainerRegistryLmbdaFfmpegFullAccess”的策略。

5.2.2 创建角色

在IAM中创建一个名为ffmpeg_ecr_builder的角色。
在这里插入图片描述
给这个角色暂时赋予上步创建的策略。
在这里插入图片描述

5.2.3 给EC2绑定角色

在这里插入图片描述在这里插入图片描述

5.3 修改docker用户

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

5.4 推送镜像

在这里插入图片描述
执行1、3和4指令。我们就可以在ECR中看到相应镜像。
在这里插入图片描述

在这里插入图片描述

6 部署Lambda

创建一个名为ffmpeg_from_ecr,从容器映像中选择映像的Lambda。
在这里插入图片描述
运行一次测试,可以看到部署成功了。
在这里插入图片描述

参考文献

  • https://blog.csdn.net/wujiesunlirong/article/details/126492908
http://www.tj-hxxt.cn/news/98010.html

相关文章:

  • 江苏营销型网站seo岗位是什么意思
  • 商城网站建设是 什么收录网站有哪些
  • 公司公关seo秘籍优化课程
  • 前端做企业网站巨量算数官方入口
  • 政府网站html模板下载南通seo
  • 网站seo外链怎么做seo主要优化
  • 互联网有多少网站网络营销的方法包括哪些
  • 怎么看网站有没有做推广miy188coo免费入口
  • 许昌做网站团队play商店
  • 网站开发公司哪家最强比较好的网络优化公司
  • 陕西省建设安全协会网站北京百度推广开户
  • 龙口建网站网络推广100种方法
  • 东营建设信息网站企业宣传ppt
  • 吴江建设局网站打不开了seo职业技能培训班
  • 好看的wordpress博客主题搜索引擎优化案例分析
  • 丹东有做公司网站的吗百度关键词的费用是多少
  • 文友胜做的网站站长之家官网
  • 营销策划公司是做什么的推广学院seo教程
  • 网站开发的自适应张家口网站seo
  • 五网合一网站建设在线视频用什么网址
  • wordpress合并css和js文件名惠州抖音seo策划
  • 网站开发手机版黑帽seo优化推广
  • 山东省建设厅网站查网络链接推广
  • 活动策划公司网站著名的个人网站
  • 新手学做网站必备软件巨量引擎官网
  • 网站如何生成静态百度账号怎么注册
  • 网站营销单页面留言如何做网站 新手 个人 教程
  • 图片制作在线生成器免费版上海关键词排名手机优化软件
  • web网站开发 框架深圳百度seo代理
  • 提升学历的好处有哪些性价比高seo的排名优化