独立前端部署
单独托管 Web 页面,连接 OSS、COS 或已有私有服务
后端整合镜像已经包含前端,通常不需要本页。只有希望自己托管页面、另外选择存储服务时,才单独部署前端
方式一:前端 Docker 镜像
项目 Wiki 提供 huangypeng/password-xl-web 镜像。它只提供页面,不替代私有存储后端。下列一行命令可用于 Bash、PowerShell 和 CMD:
docker run -d --name password-xl-web --restart unless-stopped -p 9081:80 huangypeng/password-xl-web:latest
docker logs --tail 50 password-xl-web访问 http://服务器IP:9081,选择自己的 OSS、COS 或私有服务登录。该前端镜像有独立发布过程,不能根据后端镜像标签推断其页面版本或架构;安装前检查镜像清单
方式二:静态文件与 Nginx
前端静态文件
password-xl-web-dist-1.4.5.tar.gz
下载 tar.gzSHA-256 校验值
4e00de942df8fca941a67d0224d91c9a29cf4c4fce06eaea37d6c63bcb516d84前端静态文件
password-xl-web-dist-1.4.5.zip
下载 ZIPSHA-256 校验值
326836d93297bb008c8d4cc7c2731c2b1159ba2d50678a8c78a7cde2f93c4bc7下载 ZIP 或 tar.gz,校验 SHA-256 后,先查看压缩包目录结构。当前 ZIP 内包含 password-xl-web/dist/ 层级。Nginx 根目录必须指向实际含 index.html 和 assets 的目录,不是压缩包外层
Linux
unzip -l password-xl-web-dist-1.4.5.zip
mkdir -p ./unpacked
unzip password-xl-web-dist-1.4.5.zip -d ./unpacked
ls ./unpacked/password-xl-web/dist确认目录正确后,将 dist 里面的内容复制到准备的站点目录,例如 /srv/password-xl-web/。复制前保留旧站点副本,不要对包含其他站点文件的目录执行清空操作
Windows PowerShell
Expand-Archive -LiteralPath '.\password-xl-web-dist-1.4.5.zip' -DestinationPath '.\unpacked'
Get-ChildItem -LiteralPath '.\unpacked\password-xl-web\dist'Windows CMD
tar -tf password-xl-web-dist-1.4.5.zip
mkdir unpacked
tar -xf password-xl-web-dist-1.4.5.zip -C unpacked
dir unpacked\password-xl-web\dist不同格式或后续版本的外层目录可能变化,始终以解包清单为准
server {
listen 80;
server_name vault.example.com;
root /srv/password-xl-web;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location = /index.html {
add_header Cache-Control "no-cache";
}
location /assets/ {
try_files $uri =404;
expires 7d;
}
}运行 nginx -t 检查后再加载。为域名配置 HTTPS,详见HTTPS 教程。从 HTTPS 页面连接的私有服务也应使用 HTTPS
验证与更新
打开首页、进入登录页、直接刷新深层页面。三者都应正常。白屏时检查 assets 请求是否 404;深层刷新失败时检查 try_files
更新前备份旧静态目录。解压新包到新目录并检查完整性后再切换站点根目录,避免新旧资源混在一起。用户数据保存在所选存储中,静态页面目录不是密码备份