在虚拟机 Ubuntu 18.04 下使用 KVM 新建 Ubuntu18.04 虚拟机,涉及到 Promox VE 开启嵌套虚拟化、qemu-kvm 的安装,virt-install 工具的使用等

套 娃 警 告

环境

  • Ubuntu 18.04.4 Server KVM 虚拟机
    • Proxmox VE 平台

准备

  • Ubuntu 18.04.4 CDROM 镜像
    • 下载地址
    • 需要注意镜像的选择,使用 Ubuntu 当前官网下载链接的镜像无法正常安装(原因见 虚拟机内的 KVM 虚拟化 – 第 4 步 新建二级虚拟机
  • 如果不想下载镜像,也可以使用网络镜像

参考

步骤

配置宿主机

我的宿主机使用了 Proxmox VE,有现成的脚本工具 pvetools 来开启嵌套虚拟化——此工具也支持 Debian9 以上系统,使用 modprobe 指令实现——其他发行版也可以参照

  1. 下载 pvetools
    • 执行指令
      git clone https://github.com/ivanhao/pvetools.git
  2. 运行脚本
    • 执行指令
      cd pvetools
      ./pvetools
      # 如果提示没有权限,则执行
      # chmod +x ./*.sh
  3. 选择开启嵌套虚拟化,此操作需要重启所有虚拟机

Continue reading “Ubuntu1804 虚拟机实现 KVM 嵌套虚拟化”

livego 是用 Go 编写、简单高效的直播服务器

下文将试用 livego,并使用 ffmpeg 推流 720p 的视频

环境

  • Ubuntu 18.04

准备

  • livego 二进制文件
    • GitHub 发布页
    • 下文使用版本为 0.0.11
    • 也可以使用 docker
      docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin/livego

参考

步骤

  1. 安装 ffmpeg
    • 执行指令
      sudo apt install ffmpeg
  2. 运行 livego
    • 进入 livego 文件所在目录,运行 livego
      ./livego &

      也可以使用 docker

      docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin/livego
    • 添加 -h 参数可以查看 livego 的参数设置
    • livego 会默认在 1935 端口监听 rtmp,7001 监听 HTTP-FLV,7002 监听 HLS,8090 监听 HTTP 管理服务
  3. 获取 channelkey
    • 访问 http://[服务器IP]:8090/control/get?room=movie 获取 channelkeydata 字段即 channelkey
    • channelkey 用于视频推流,room 参数可自行更改
  4. ffmpeg 推流
    • 执行指令
      ffmpeg -re -i YourVideo.mp4 -flags +global_header -c copy -f flv rtmp://[服务器IP]:1935/[appname]/[channelkey]

      注意:appname 默认为 live
      如果推流 mp4 类型的视频,可能需要添加参数 -flags +global_header

    • 如果提示 Key Err,则检查 channelkey 是否正确,再次访问 http://[服务器IP]:8090/control/get?room=movie 查看 channelkey
    • 4 核(2.6G) 4G 内存(DDR3 1033)推流 720p mp4 视频资源占用
  5. 观看直播
    • 使用播放器访问 rtmp://[服务器IP]:1935/[appname]/movie 观看
    • 手机浏览器可直接访问 http://[服务器IP]:7002/[appname]/movie.m3u8 使用 HLS 观看
    • 因为之前 room 参数为 movie,所以这里访问的文件(路径)名为 movie

Continue reading “livego + ffmpeg 实现视频直播”

分别为 Windows、Linux 和 Docker 搭建方式

环境

  • Windows Server 2016 Standard
    • 已安装 2020 5 月更新
  • Ubuntu 18.04
  • Docker 19.03.8
  • Minecraft Java 版本(Windows 10)
    • 截止到 2020.5.14,官方最新版本为 1.15.2

准备

  • Minecraft Java Server
    • 下载地址
    • 截止到 2020.5.14,官方最新版本为 1.15.2

参考

步骤

Windows 搭建

  1. Java 环境配置
    • 下载 Java 安装包并安装 下载地址
    • 安装后默认路径在 C:\Program Files (x86)\Common Files\Oracle\Java\javapath
  2. 配置 MC 服务器
    • 新建并重命名文件夹,将下载的 server.jar 包放入文件夹内
    • 双击 jar 包运行
    • 第一次运行会失败,并在同目录下生成默认的配置文件和 eula 协议文件
    • 打开 eula.txt 文件,将 eula 字段改为 true,代表你接受 eula 协议
    • 再次运行 server.jar,出现 GUI 服务器管理界面,右侧会显示世界的生成进度,等待进度到 100% 即世界生成完毕
    • 同目录下的 server.properties 文件中包含了世界的属性,更改属性以生成不同的世界
    • 在 GUI 右侧下方可以输入各种指令,操作世界,输入 /help 查看指令列表
  3. 配置防火墙
    • 世界生成完毕后如果直接在客户端连接服务器 IP,可能会报错,显示连接超时
    • 此时进入服务器查看资源管理器(进入【任务管理器 – 性能】,选择左下角的【打开资源监视器】,或者在控制台输入 resmon)的网络标签页,选择 javaw.exe 进程,发现其端口(默认为 25565)被防火墙拦截了
    • 进入【控制面板 – 防火墙 – 高级设置】,在【入站规则】和【出站规则】中新建端口规则,放行 MC 服务器监听的端口
    • 重新启动 server.jar,再次测试客户端,可以连接服务器
  4. 设置为计划任务(可选)
    • 添加 MC 服务器为计划任务
    • 将操作设置为【启动程序】,其中【程序或脚本】设置为 Java 的绝对路径(见上文的默认路径),参数设置为 server.jar 的绝对路径,【起始于】设置为 server.jar 所在目录
    • 可以添加 -Xmx -Xms 参数来限制使用的内存,添加 nogui 来关闭 GUI
    • 在【触发器】中可选择开机启动

Continue reading “Windows/Linux/Docker 搭建 Minecraft Java 版服务器”