共计 3208 个字符,预计需要花费 9 分钟才能阅读完成。
Kasm Workspace 是著名的可浏览器访问的、基于容器的镜像管理和部署系统。使用 Kasm Workspace, 可以在您的服务器上一键部署远程浏览器、视频播放器、虚拟化 Linux 系统、在线 Office、Telegram/Discord 应用等等多种服务,并且所有这些服务都可以直接通过浏览器访问。
本文作者为香菇肥牛,原文链接为 https://qing.su/article/browser-access-kasm-workspace.html,
1. 系统环境与硬件要求
Kasm Workspace 对于硬件的需求会由于具体的使用场景不同而产生较大差异。
对于个人使用而言(网页浏览、看视频、文件编辑等等), 2 核 CPU + 4 GB 内存 一般就够了。
对于团队使用,4 核 CPU + 16 GB 内存一般能够满足 3 - 5 人的并发使用需求。
Kasm Workspace 运行于 Docker, 因此没有特殊的操作系统需求。本文将以 Debian 12 为例,介绍 Kasm Workspace 的部署。您可以自由选择其他 Linux 系统。
2. Kasm Workspace 的安装, Nginx 反代与证书配置
现在,我们开始安装 Kasm Workspace, 然后配置 Nginx 反代,并且设置 SSL 证书。
首先,在新装的系统中,直接使用官方一键脚本安装 Kasm Workspace (https://kasmweb.com/docs/latest/install/single_server_install.html#installation-guide).
使用 root 账户,执行:
cd /tmp
curl -O https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.7f020d.tar.gz
tar -xf kasm_release_1.17.0.7f020d.tar.gz
bash kasm_release/install.sh -L 8443
这里,我们将 Kasm Workspace 网页端安装于 8443 端口。程序安装结束后,会生成一系列的用户名和密码,请保存备用。
接下来,使用 Nginx 反代这个网页端。
apt-get install nginx python3-certbot-nginx -y
然后编辑配置文件 /etc/nginx/conf.d/kasm.conf , 内容如下
server {
listen 80;
server_name hilogos.com;
access_log /var/log/nginx/kasm_access.log;
error_log /var/log/nginx/kasm_error.log;
location / {
proxy_pass https://127.0.0.1:8443/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_read_timeout 1800s;
proxy_send_timeout 1800s;
proxy_connect_timeout 1800s;
proxy_buffering off;
client_max_body_size 10M;
}
}
请将 hilogos.com 替换为您自己的域名(后文中会多次出现这个域名,您需要依次替换为您自己的域名)。然后,检查并重新载入 Nginx 配置文件。
nginx -t
service nginx reload
这时,访问 http://space.qing.su , 应该可以看到 Kasm Workspace 的界面了。我们还需要配置 SSL 证书。这里我直接使用了 certbot, 您也可以按照个人习惯使用其他的证书。
certbot --nginx --redirect -d hilogos.com
如果您像我一样使用了 certbot, 那么生成的证书地址位于 /etc/letsencrypt/live/hilogos.com/ 目录。在开始使用之前,我们还需要在 Kasm Workspace 中接入刚刚生成的 SSL 证书。
/opt/kasm/bin/stop
rm -f /opt/kasm/current/certs/kasm_nginx.key
ln -s /etc/letsencrypt/live/space.qing.su/fullchain.pem /opt/kasm/current/certs/kasm_nginx.crt
ln -s /etc/letsencrypt/live/space.qing.su/privkey.pem /opt/kasm/current/certs/kasm_nginx.key
/opt/kasm/bin/start
这样,我们就安装好了 Kasm Workspace,并且配置了 Nginx 反代与安全证书,可以开始使用了。
3. Kasm Workspace 镜像管理与安装
在浏览器中访问 https://hilogos.com, 使用刚刚生成的管理员用户登录 Kasm Workspace, 来到如下图的界面。
在仪表盘中,检查一下当前状态是否为”Healthy“.
现在就可以添加我们需要的镜像了。点击顶部 Workspaces, 然后可以直接添加官方的各种镜像。
官方提供了各类镜像,比如各类常见的 Linux 桌面版操作系统,各种浏览器,即时通讯软件,视频播放,Office 等等。您可以按需添加。这里,我添加了火狐镜像和一个 Ubuntu 桌面版镜像。
添加完需要的镜像后,我们登出管理员账户,用安装时新建的普通用户账户登录。您也可以自行添加其他账户,方便多用户使用。
使用普通用户登录后,可以在面板中看到已经安装好的各种镜像,比如我们刚刚添加的火狐浏览器和 Ubuntu 桌面。选择想要使用的镜像,就可以直接在你的浏览器中使用这些程序了。比如,下面是通过浏览器访问的 Ubuntu 操作系统。
而下面是一个远程的火狐浏览器,我用 2 核 VPS 可以流畅播放 60 帧 1080P 视频(如果您想用这个远程桌面来放视频,需要考虑到网络线路等因素)。
4. 用户数据保存
Kasm Workspace 各个镜像的用户使用数据是默认不留存的。因此,当您关闭了之前的 Ubuntu 桌面或者火狐浏览器之后再重新打开,之前的用户文件、记录和设置就丢失了。如果需要做用户数据的留存,我们需要在 Kasm Workspace 的镜像管理中配置数据存储。
Kasm Workspace 的数据存储支持服务器本地存储和远程 S3 存储。一般来说,服务器本地存储可以满足大部分用户的需求。
首先,新建一个目录,用于存储用户数据。我这里使用的是 /opt/kasm_data.
mkdir /opt/kasm_data
使用管理员账户登录 Kasm Workspace, 点击左侧的 Workspaces, 找到需要设置数据留存的镜像,点击右边的箭头并选择 Edit.
然后,在 Persistent Profile Path 中添加刚刚新建的目录。
/opt/kasm_data/{image_id}/{user_id}
保存退出后,我们就设置好了用户数据留存。这样,用户的使用数据就可以留存在服务器上,不会丢失了。
至此,我们完成了 Kasm Workspace 的安装,Nginx 反代的配置与证书配置,镜像安装管理,以及用户数据的留存设置。您可以开始在浏览器中正常使用搭建好的 Kasm Workspace 云端工作站啦。







