步骤 1: 登录到 Ubuntu 服务器
首先,你需要通过 SSH 登录到你的 Ubuntu 服务器。如果你使用的是宝塔面板(需要先在ubuntu系统上安装,然后会返回你一个宝塔面板网址),你可以在面板中直接使用终端功能,或者使用 SSH 客户端如 PuTTY 或 Mobaxterm,Mobaxterm比PuTTY好,功能多,界面好看,宝塔最好用
步骤 2: 上传 webrtc-streamer
确保你已经将 webrtc-streamer 的可执行文件上传到了 Ubuntu 服务器。你可以通过宝塔面板的文件管理功能上传文件,或者使用 SFTP 工具如 WinSCP 上传。
webrtc-streamer 下载网址:https://github.com/mpromonet/webrtc-streamer/releases/tag/v0.8.3
步骤 3: 导航到 webrtc-streamer 文件夹
比如我存放webrtc-streamer的文件夹地址是/opt/data_disk/webrtc-streamer-v0.8.3-Linux-x86_64-Release
使用 cd
命令导航到 webrtc-streamer 的文件夹:
cd /opt/data_disk/webrtc-streamer-v0.8.3-Linux-x86_64-Release
步骤 4: 运行 webrtc-streamer
在命令行中运行 webrtc-streamer:
8877是自己定义的端口,注意不要与其他端口冲突
./webrtc-streamer -H 0.0.0.0:8877 -o
步骤 5: 检查 webrtc-streamer 的运行状态
你可以使用 ps aux | grep webrtc-streamer
命令来检查 webrtc-streamer 是否正在运行。
步骤 6: 配置防火墙
确保服务器防火墙允许 8877 端口的入站流量。你可以使用 ufw
(Uncomplicated Firewall)来配置:
sudo ufw allow 8877/tcp
sudo ufw reload
可以在宝塔的左侧栏,安全,端口规则那里查看是否有8877端口,也可以在服务器商家的后台,如电信的话,就是天翼云里面的防火墙入方向规则查看或者添加
!!!如果运行步骤4没有成功,一般就是没有添加防火墙8877端口的原因
如果你想一直挂着这个执行命令,你可以:
方法 1: 使用 nohup
nohup
命令可以让进程在终端关闭后继续运行。
步骤
-
切换到
webrtc-streamer
的目录:cd /opt/data_disk/webrtc-streamer-v0.8.3-Linux-x86_64-Release
-
使用
nohup
运行webrtc-streamer
:nohup ./webrtc-streamer -H 0.0.0.0:8877 -o &
nohup
:让进程在终端关闭后继续运行。&
:将命令放入后台运行。
-
查看
nohup
输出的日志文件:tail -f nohup.out
nohup
会将命令的标准输出和标准错误重定向到nohup.out
文件中,你可以通过tail -f nohup.out
来实时查看命令的输出。
方法 2: 使用 systemd
服务,建议方法2
systemd
是 Linux 系统中用于管理和控制系统服务的守护进程。
步骤
-
创建
webrtc-streamer.service
文件:sudo nano /etc/systemd/system/webrtc-streamer.service
-
添加以下内容:
[Unit] Description=webrtc-streamer Service [Service] ExecStart=/opt/data_disk/webrtc-streamer-v0.8.3-Linux-x86_64-Release/webrtc-streamer -H 0.0.0.0:8877 -o WorkingDirectory=/opt/data_disk/webrtc-streamer-v0.8.3-Linux-x86_64-Release Restart=always [Install] WantedBy=multi-user.target
ExecStart
:定义启动时执行的命令。WorkingDirectory
:定义服务的工作目录。User
和Group
:不写就是默认root最高权限。
-
可以在宝塔面板新建,编辑
-
重新加载
systemd
配置:sudo systemctl daemon-reload
-
启动服务并设置开机启动:
sudo systemctl start webrtc-streamer.service sudo systemctl enable webrtc-streamer.service
-
查看服务状态:
sudo systemctl status webrtc-streamer.service
大功告成!!!