自建RustDeskServer
Rustdesk Server安装与使用
安装Rustdesk Server
- 
在服务器输入
lscpu或uname -m查看CPU构架1
2uname -m
# x86_64 - 
比如我是x86_64,随后在rustdesk-server/releases找到相应的版本则下载rustdesk-server-linux-amd64.zip
 
"x86_64"和"amd64"实际上是同一种CPU架构的两种不同称呼,都指的是64位的x86处理器架构。
这种架构最早由AMD公司引入,因此有时被称为"AMD64",但后来也被Intel和其他制造商采纳。
1  | wget --no-check-certificate https://github.com/rustdesk/rustdesk-server/releases/download/1.1.10-3/rustdesk-server-linux-amd64.zip  | 
- 
解压文件,进入到解压后的目录
amd641
unzip rustdesk-server-linux-amd64.zip
 - 
尝试运行
hbbs1
./hbbs
会输出一些日志,随后
ctrl+c关掉即可 - 
尝试运行
hbbr1
./hbbs
会输出一些日志,随后
ctrl+c关掉即可 
随后,在目录中,有个id_ed25519.pub的pub文件,查看id_ed25519.pub文件,里面是密钥
1  | cat id_ed25519.pub  | 
将密钥保存,后续会用上
至此,安装与测试RustDesk Server就结束了
后台运行与管理
为了更好的管理RustDesk Server,我们使用pm2来进行管理
PM2是一个流行的Node.js应用程序的进程管理器,提供了一系列强大的功能来管理和维护应用程序
- 安装pm2
 
1  | sudo apt install npm  | 
- 用pm2启动RustDesk Server
 
1  | pm2 start hbbs -- -r 自己的服务器IP地址 -k _  | 
参数解析
- 
– 中间的这两个-一定要添加,这是pm2的参数传输结构
 - 
-r Relay(中继)服务器地址(和ID服务器可以是同一个,ID服务器就是正在将RustDesk Server部署到的服务器),这个参数不写也可以
 - 
-k _:必须用上面拿到的密钥才能访问
 
- 最后,要打开防火墙端口
 
返回控制台,打开防火墙-添加规则,以下端口全部开放:
1  | 21115、21116(TCP/UDP)、21117、21118、21119  | 
从错误日志中可以看出,pm2正在尝试运行一个JavaScript文件,而不是一个shell脚本。这是因为pm2默认认为所有脚本是Node.js脚本。要运行一个shell脚本,你需要在pm2命令中显式指定它是一个shell脚本。
以下是解决方法的步骤:
- 
确保你的脚本文件是一个有效的shell脚本,并且已经具有可执行权限。如果没有,请执行以下命令:
1
chmod +x /media/dongli911/Document/Workflow/WanLingHong/Project/AIGC/ComfyUI/runByPm2
 - 
使用
pm2启动shell脚本时,使用--interpreter参数指定使用bash来运行该脚本:1
pm2 start /media/dongli911/Document/Workflow/WanLingHong/Project/AIGC/ComfyUI/runByPm2 --name Comfyui --interpreter bash
 
这是你shell脚本的可能内容:
1  | 
  | 
完整的步骤如下:
- 
确保
runByPm2脚本的内容正确无误,并确保它具有执行权限:1
2
3
source activate sdv3
python /path/to/your/main.py --listen 0.0.0.0 - 
给予执行权限:
1
chmod +x /media/dongli911/Document/Workflow/WanLingHong/Project/AIGC/ComfyUI/runByPm2
 - 
使用
pm2启动脚本:1
pm2 start /media/dongli911/Document/Workflow/WanLingHong/Project/AIGC/ComfyUI/runByPm2 --name Comfyui --interpreter bash
 
通过这样设置,pm2将会使用bash来解释并运行你的脚本,从而避免语法错误。
RustDesk 客户端安装与使用
现在,我使用一台Linux上安装RustDesk:
同理,先用lscpu或unmae -m查看cpu架构,再下载对应版本,这里用x86_64举例
1  | # 下载最新版本的RustDesk Debian客户端  | 
随后打开rustdesk,在设置中填写
- ID server: 写ID服务器IP
 - Relay server: 写Relay服务器IP
 - API server: 空着
 - Key: 写密钥
 
如果命令用的是pm2 start hbbs -- -r 自己的服务器IP地址,就要写Relay服务器
如果命令用的是pm2 start hbbs,Relay server可以空着
附录:PM2管理命令
要管理和控制使用PM2启动的进程,你可以使用PM2提供的一系列命令行工具。下面是一些常用命令,包括如何查看正在运行的进程列表和如何停止(杀掉)进程。
查看PM2管理的进程列表
要查看PM2管理的所有进程及其状态,你可以使用:
1  | pm2 list  | 
或者,为了获取更详细的信息,包括每个进程的CPU和内存使用情况,可以使用:
1  | pm2 status  | 
这些命令会显示一个表格,列出所有由PM2管理的进程的状态信息,如进程ID(PID)、名称、状态、CPU和内存使用情况等。
停止进程
如果你需要停止一个由PM2管理的进程,可以使用pm2 stop命令,后面跟上进程的名称或ID。例如,如果你的进程名称为rustdesk-server,你可以运行:
1  | pm2 stop rustdesk-server  | 
如果你知道进程的ID,假设是0,你也可以使用:
1  | pm2 stop 0  | 
重启进程
如果你需要重启一个进程,可以使用restart命令,这对于应用更新后重新加载服务特别有用:
1  | pm2 restart rustdesk-server  | 
删除进程
停止进程后,它仍然会在PM2的列表中显示,但状态会变为已停止。如果你想从PM2的列表中完全移除这个进程,可以使用delete命令,如:
1  | pm2 delete rustdesk-server  | 
或者使用进程的ID:
1  | pm2 delete 0  | 
查看日志
了解如何查看PM2管理的应用的日志也很重要,特别是在调试时。使用下面的命令可以实时查看日志:
1  | pm2 logs  | 
如果你只想查看特定进程的日志,可以加上进程的名称或ID:
1  | pm2 logs rustdesk-server  | 
PM2的这些命令提供了强大的进程管理功能,使得运行在服务器上的应用更加稳定和可靠。
使用Systemctl运行
我们需要创建两个Server,首先是hbbs:
vim /usr/lib/systemd/system/RustDeskHbbs.service
1  | [Unit]  | 
之后是hbbr:
vim /usr/lib/systemd/system/RustDeskHbbr.service
1  | [Unit]  | 
随后,让其自启动
1  | systemctl enable RustDeskHbbs.service  | 
让这两个服务启动
1  | systemctl start RustDeskHbbs.service  | 
查看运行状态
1  | systemctl status RustDeskHbbs.service  | 







