可视化完成 SWS 在 Debian 12 的安装、用户创建及多域名虚拟主机配置

📥
方式一:在线安装(推荐)
💡
适用场景:服务器可以访问外网,自动下载并安装最新版本
1
使用 curl 安装
运行以下命令自动下载并安装 SWS 到 /usr/local/bin
curl --proto '=https' --tlsv1.2 -sSfL https://get.static-web-server.net | sh
2
或使用 wget 安装
wget --https-only --secure-protocol=TLSv1_2 -qO- https://get.static-web-server.net | sh
📦
方式二:手动上传安装(离线环境)
💡
适用场景:内网服务器、无法访问外网的环境
1
下载安装包
在能访问外网的机器上下载对应版本
wget https://github.com/static-web-server/static-web-server/releases/download/v2.41.0/static-web-server-v2.41.0-x86_64-unknown-linux-gnu.tar.gz
2
上传到服务器
使用 scp 将文件上传到目标服务器 /tmp 目录
scp static-web-server-v2.41.0-x86_64-unknown-linux-gnu.tar.gz root@your-server-ip:/tmp/
3
解压缩安装包
cd /tmp
tar -xzf static-web-server-v2.41.0-x86_64-unknown-linux-gnu.tar.gz
4
移动可执行文件到系统目录
mv static-web-server-v2.41.0-x86_64-unknown-linux-gnu/static-web-server /usr/local/bin/
5
设置文件权限
chmod +x /usr/local/bin/static-web-server
chown root:root /usr/local/bin/static-web-server
6
验证安装
static-web-server --version
7
清理临时文件
rm -rf /tmp/static-web-server-v2.41.0-x86_64-unknown-linux-gnu*
🔧
创建 Systemd 服务(必须)
⚠️
重要:必须使用 Systemd 服务方式运行 SWS,确保开机自启和服务管理
1
创建配置目录
mkdir -p /etc/sws
2
创建服务文件
nano /etc/systemd/system/static-web-server.service
3
添加服务配置
将以下内容复制到服务文件中
[Unit]
Description=Static Web Server
After=network.target

[Service]
AmbientCapabilities=CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
Type=simple
User=www
Group=www
WorkingDirectory=/var/www
ExecStart=/usr/local/bin/static-web-server -w /etc/sws/sws.toml
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
4
重载 Systemd 配置
systemctl daemon-reload
5
设置开机自启
systemctl enable static-web-server
👤
创建 www 用户和组
🔒
安全最佳实践:使用专用的非特权用户运行 Web 服务
1
创建 www 用户组
groupadd -r www
2
创建 www 用户
创建系统用户,禁止登录,主目录为 /var/www
useradd -r -g www -s /usr/sbin/nologin -d /var/www -m www
3
创建域名目录结构
创建 domains 目录和默认站点目录
mkdir -p /var/www/domains/default
chown -R www:www /var/www
chmod -R 755 /var/www
4
验证用户创建
id www
⚙️
多域名虚拟主机配置生成器
📝
目录结构:域名根目录为 /var/www/domains/{domain},未匹配域名指向 /var/www/domains/default

输入域名,系统会自动生成对应的根目录路径

🌐

暂无域名,请在上方添加

🚀
部署配置并启动服务
1
保存配置文件
将上方生成的配置复制并保存到 /etc/sws/sws.toml
nano /etc/sws/sws.toml
2
设置配置权限
chown www:www /etc/sws/sws.toml
chmod 644 /etc/sws/sws.toml
3
创建域名目录
为每个域名创建对应的目录(以 example.com 为例)
mkdir -p /var/www/domains/example.com
chown www:www /var/www/domains/example.com
4
测试启动服务器
使用与 Systemd 服务相同的配置测试启动
-u www /usr/local/bin/static-web-server -w /etc/sws/sws.toml
5
启动 Systemd 服务
测试正常后,使用 Systemd 管理服务
systemctl start static-web-server
systemctl status static-web-server
6
查看服务日志
journalctl -u static-web-server -f