惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
Vercel News
Vercel News
Recent Announcements
Recent Announcements
博客园 - Franky
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
宝玉的分享
宝玉的分享
I
InfoQ
博客园 - 聂微东
Jina AI
Jina AI
J
Java Code Geeks
V
V2EX
U
Unit 42
Stack Overflow Blog
Stack Overflow Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
阮一峰的网络日志
阮一峰的网络日志
L
LangChain Blog
T
The Blog of Author Tim Ferriss
量子位

博客园 - crockery

13-心一网络助手-XinYiNetTool 12-奥赛题库-OlympiadMath 11-核痕-KeHen 10-烽燧-FengSui 09-弈局-ChessForge 08-立方之蛇-CubeSerpent 06-纯粹数独-PureSudoku 05-砂漏-Grainfall 04-回响回廊-EchoHalls 03-烬塔-EmberTower 02-胶囊医生-DrCapsule 01-离阵-ArrowExodus 一文看懂--什么是typescript 一个项目从 0 到上线的技术路线图 windows批量部署nodeJS项目 Vue + Node + Nginx 从 0 到上线 github上有哪些star非常多的项目 一篇文章搞懂所有前端后端概念图 【基于智能监控系统的配置问题】1、zabbix部署与配置 【基于智能监控系统的配置问题】2、zabbix如何部署centos和stream9 【基于智能监控系统的配置问题】3、仪表盘的界面设定 【基于智能监控系统的配置问题】4、与grafana的连接问题 【基于智能监控系统的配置问题】5、grafana上遇到的问题 【基于智能监控系统的配置问题】6、如何生成单页的监控界面 【基于智能监控系统的配置问题】7、zabbix如何实现免登录预览监控 【基于智能监控系统的配置问题】8、关于grafana的汉化问题 【基于各种多模态文件的在线预览系统】1、多模态预览 【基于各种多模态文件的在线预览系统】3、本地磁盘挂载虚拟机 【基于各种多模态文件的在线预览系统】4、其他值得推荐的应用 【基于各种多模态文件的在线预览系统】5、出现无法访问的情况
【基于各种多模态文件的在线预览系统】2、部署问题
crockery · 2026-07-10 · via 博客园 - crockery

是我给的下载链接版本号不对,wget 没下到文件(可能下了个 404 页面或直接失败),所以解压找不到。换可靠的方式拿安装包。

先确认目录现在是空的:

ls -lh /www/wwwroot/file-viewer

然后从下面挑任意一种方式获取 kodbox:

方式 A:宝塔一键部署(最省事,先看有没有)

宝塔 → 网站 → 添加站点 → 顶部有个 「一键部署」 标签(你前面截图里就有)→ 搜索 可道云kodbox。如果列表里有,直接一键安装,数据库、目录它都帮你配好,跳过所有手动下载/解压

方式 B:PC 下载 + 宝塔上传(最不容易出错)

  1. 在你自己电脑的浏览器打开官网下载页:https://kodcloud.com/download/
  2. 下载最新的 kodbox.x.x.x.zip(几十 MB)
  3. 宝塔 → 文件 → 进入 /www/wwwroot/file-viewer → 点 上传,把 zip 传上去
  4. 上传完,右键该 zip → 解压

这种方式不依赖服务器能不能下到、版本号对不对,最稳。

方式 C:在服务器上下载正确链接

如果想继续用命令行,别再猜版本号。先到官网下载页右键「复制下载链接」拿到真实地址,再:

cd /www/wwwroot/file-viewer
wget -O kodbox.zip "把复制到的真实链接粘到这里"
unzip kodbox.zip
rm -f kodbox.zip

或用 GitHub release(也要看真实文件名):https://github.com/kalcaddle/kodbox/releases


推荐先试方式 A(一键部署),没有的话用方式 B(PC 下载上传),最省心。

解压完成后,目录里应该能看到 index.phpapp/config/ 等文件,然后浏览器访问站点跑安装向导。到哪一步卡了再发我。


文件权限问题“:

找到了!问题在最后那张图的「用户/用户组」那一列 —— 全是 root/root

宝塔的 Nginx/PHP 是用 www 这个用户在跑的。你的 kodbox 文件全归 root 所有,权限又是 755/644(别人只能读不能写)。而环境检测第一条就写着「程序目录及所有子目录需要可读写」

kodbox 的样式是运行时动态合并/压缩 CSS 后写到缓存目录(data 等)里的。www 用户没有写权限 → 生成不出合并后的 CSS → 页面就裸奔成纯文本了。main.js 能跑(所以你看到一堆 200 的 ajax),但 CSS 缓存生成失败。

解决:把属主改成 www

SSH 执行:

chown -R www:www /www/wwwroot/file-viewer
chmod -R 755 /www/wwwroot/file-viewer

顺手删掉那个没用的安装包(37MB):

rm -f /www/wwwroot/file-viewer/kodbox.1.67.zip

然后

浏览器 Ctrl+F5 强刷 http://172.16.1.5:7777/

这次安装页应该就有正常样式了(顶部 logo 正常、排版整齐)。再按向导往下点:确定 → 数据库配置 → 账号设置(设管理员) → 完成


如果强刷后还是没样式,执行 ls -l /www/wwwroot/file-viewer 把那一列确认一下是不是已经变成 www www;另外 F12 → Network 里专门点 CSS 标签页过滤,看有没有红色 404 的 css,把它的 URL 发我。

但我判断 99% 就是属主问题,改完 chown www:www 刷新即可。改完告诉我结果。



端口问题:

默认使用80端口即可

太关键了,一下就定位了!

根本原因:kodbox 在拼接静态资源地址时,用的是 SERVER_NAME(也就是 Nginx 里的 server_name 172.16.1.5;),只拿到了 IP、丢了端口号,于是生成的 URL 是 http://172.16.1.5/...(默认 80 端口)。但你的站点跑在 7777,80 端口上没有它的文件 → 全部 404 → 没样式。你手动补上 :7777 就正常,完美印证了这一点。

这是 kodbox(以及不少 PHP 应用)在非标准端口(非 80/443)下的通病。

最干净彻底的解决办法:让 kodbox 跑在 80 端口,这样 URL 不带端口也正好对。

操作步骤

1. 先看谁占了 80 端口 宝塔 → 网站,列表里找域名是 172.16.1.5(后面没有端口号)的那个站 —— 它就在 80 端口上。

  • 如果那个站是你不需要的默认/测试站 → 把它删掉,或改成别的端口。
  • 如果有用 → 给它换个端口(比如 8005),腾出 80。

2. 把 kodbox 站点改到 80 宝塔 → kodbox 这个站(172.16.1.5_7777)→ 域名管理:

  • 删掉 172.16.1.5:7777
  • 添加 172.16.1.5(不写端口 = 80)
  • 保存

3. 重载并访问

  • 重载 Nginx(或重启)
  • 浏览器访问 http://172.16.1.5/(不带端口),Ctrl+F5

这次 kodbox 生成的 http://172.16.1.5/app/.../logo.png 正好命中,样式就回来了


如果你必须保留 7777 端口(不想动 80)

那就得让 PHP 拿到带端口的 SERVER_NAME,需要改 全局 PHP 配置(enable-php-74.conf 里的 php location 加 fastcgi_param SERVER_NAME $http_host;)。但这会影响服务器上所有站点,较麻烦也容易被面板覆盖,不推荐

所以强烈建议走上面的 80 端口方案


你先看一下第 1 步——80 端口上那个 172.16.1.5 站是干嘛的?如果不确定能不能动,把网站列表截图发我,我帮你判断哪个能腾、怎么腾。腾好后按 2、3 步把 kodbox 挪到 80 就行。