首页 文章 精选 留言 我的

精选列表

搜索[lighthouse],共333篇文章
优秀的个人博客,低调大师

把网站静态文件迁移到腾讯云Lighthouse COS并通过软链接对接

> 服务器磁盘空间告急,想把静态资源(图片、CSS、JS、视频等)迁移到对象存储,同时不改变网站原有的文件访问路径。 我买的是腾讯云轻量锐驰型的机子,还额外赠送50G对象存储的免费存储额度,也支持一键挂载到服务器里,因为机子本身的存储空间不大,而且有免费的存储额度,刚好我网站数据比较大,就把存储桶挂载在服务器使用了 ![](https://developer.qcloudimg.com/http-save/audit-4209207/904413a48a1a8650b1e9d47b3df88da1.png) 各位站长如果使用的是其他服务器,可使用宝塔面板的插件一键挂载(腾讯云COSFS支持腾讯云的存储桶一键挂载到服务器本地,而且还免费,其他的需要付费购买插件) ![](https://developer.qcloudimg.com/http-save/audit-4209207/5f7a56a26c35ce6ec010ca9856f1fa04.png) 还有一种方式是手动挂载,接下来就详细介绍下手动挂载的具体步骤: ## 一、方案原理 核心思路非常简单: ```javascript 原来:用户访问 /assets/xxx.css → 本地磁盘读取文件 现在:用户访问 /assets/xxx.css → 软链接 → cosfs挂载点 → 腾讯云COS ``` **效果:**​ 文件实际存储在 COS 上,本地磁盘腾出原来静态文件占用的全部空间,网站访问路径完全不变,无需改代码。 --- ## 二、前提条件 - 已开通腾讯云 COS 存储桶 - 服务器已安装 `cosfs`(本文以 cosfs v1 为例) - 网站运行在 Linux + Nginx(宝塔环境同样适用) - 确认你的静态文件目录路径和网站根目录 本文示例环境: - 存储桶挂载点:`/data` (根据实际情况自定义挂载点) - 网站根目录:`/www/wwwroot/example.com` (`/www/wwwroot/example.com`以网站目录为准) - 静态文件目录:`assets` (根据实际情况自定义设置) - 运行用户:`www` (宝塔默认) --- ## 三、挂载 COS 存储桶到本地 ### 3.1 安装 cosfs ```javascript # CentOS yum install cosfs -y # Ubuntu / Debian apt-get install cosfs -y ``` ### 3.2 配置密钥 ```javascript echo "your-bucket-1250000000:SECRET_ID:SECRET_KEY" > /etc/passwd-cosfs chmod 640 /etc/passwd-cosfs ``` 密钥在腾讯云控制台 → 访问管理 → API 密钥管理中获取。 ### 3.3 手动挂载(测试用) ```javascript cosfs your-bucket-1250000000 /data \ -ourl=https://cos.ap-guangzhou.myqcloud.com \ -oallow_other \ -ouid=$(id -u www) \ -ogid=$(id -g www) ``` 关键参数说明: |参数|作用| | --- | --- | |-oallow_other|允许非 root 用户(如 Nginx 的 www)访问挂载点,**必须加**| |-ouid/-ogid|指定挂载目录的属主,确保网站进程有权限读写| |-ourl|COS的访问域名,选对应地域| 验证挂载: ```javascript df -h | grep cosfs # 看到 /data 说明挂载成功 ls /data # 能看到桶里的文件列表 ``` ### 3.4 设置开机自动挂载 编辑 `/etc/fstab`: ```javascript cosfs#your-bucket-1250000000 /data fuse _netdev,nofail,allow_other,uid=1002,gid=1002,url=https://cos.ap-guangzhou.myqcloud.com 0 0 ``` 注意:`uid` 和 `gid` 填你实际 `www` 用户的 ID(用 `id www` 查看)。 测试fstab配置是否正确: ```javascript umount /data mount -a ls /data ``` ## 四、迁移静态文件到COS ### 4.1 在存储桶中创建目录 ```javascript mkdir -p /data/example.com/assets ``` ### 4.2 复制文件到存储桶 ```javascript cd /www/wwwroot/example.com # 把本地静态文件复制进 COS(通过挂载点写入) cp -r assets/* /data/example.com/assets/ ``` 为什么用 cp 不用 mv?​ /data 是 FUSE 挂载点,跨文件系统移动本质上也是复制+删除,用 cp 更可控,确认成功后再手动删原文件更安全 等待复制完成(文件多的话可能需要几分钟) ### 4.3 验证文件已写入COS ```javascript ls /data/example.com/assets/ # 应该能看到和原来assets目录一样的文件列表 ``` 也可以登录腾讯云控制台确认 --- ## 五、替换本地目录为软链接 ### 5.1 删除本地原目录 ```javascript cd /www/wwwroot/example.com rm -rf assets ``` ⚠️ 确保上一步 `cp` 已经成功完成再执行此操作! ### 5.2 创建软链接 ```javascript ln -s /data/example.com/assets assets ``` ### 5.3 设置软链接归属 ```javascript chown -h www:www assets ``` `-h` 参数很关键:只修改软链接本身的属主,不穿透到目标目录。 ### 5.4 验证 ```javascript ls -l assets # 输出类似:assets -> /data/example.com/assets file assets # 输出:assets: symbolic link to /data/example.com/assets ``` 确认 `assets` 是软链接而不是目录,说明替换成功。 ![](https://developer.qcloudimg.com/http-save/audit-4209207/2057f5e23d36fd22e7842a8939613e97.png) ## 六、配置 Nginx 和权限 ### 6.1 确认 Nginx 能访问挂载点 ```javascript sudo -u www ls /data/example.com/static/ ``` 如果能正常列出文件,说明权限没问题。 ### 6.2 宝塔用户:添加防跨站白名单 宝塔默认开启了 `open_basedir` 限制,需要把 `/data` 加进白名单: 1. 宝塔面板 → 网站 → 设置 → **防跨站攻击** 1. 在"允许访问的目录"中添加 `/data` 否则 PHP 程序(如 WordPress 上传图片)会报: ```javascript open_basedir restriction in effect ``` ### 6.3 Nginx 配置检查 确保 Nginx 配置中没有禁用软链接跟随(默认是允许的): ```javascript # 默认就是 off,不需要改 disable_symlinks off; ``` ## 七、验证网站正常访问 ```javascript # 用 curl 测试一个静态文件 curl -I http://你的域名/assets/某个文件.css # 返回 HTTP/1.1 200 OK 说明一切正常 ``` 打开浏览器访问网站,检查: - ✅ 页面样式加载正常(CSS/JS) - ✅ 图片显示正常 - ✅ 后台上传文件功能正常(如果有) --- ## 八、确认本地磁盘空间已释放 ```javascript df -h / ``` 对比操作前后的可用空间,应该能看到明显的变化。 --- ## 九、常见问题排查 ### 访问静态文件返回 403 **原因:**​ `allow_other` 没加或权限不对 ```javascript # 重新挂载加上参数 umount /data cosfs your-bucket-1250000000 /data -ourl=https://cos.ap-guangzhou.myqcloud.com -oallow_other ``` ### 访问静态文件返回 404 **原因:**​ 软链接路径写错或桶里目录不存在 ```javascript ls -l /www/wwwroot/example.com/assets # 确认指向的路径正确 ls /data/example.com/assets/ # 确认桶里确实有文件 ``` ### 网站上传文件失败 **原因:**​ 写入权限不够 ```javascript sudo -u www touch /data/example.com/assets/test.txt ``` 如果失败,检查 cosfs 挂载时的 `uid/gid` 参数是否正确。 ### cosfs访问很慢 cosfs每次读取文件都要走网络请求COS API,延迟比本地磁盘高。如果对速度敏感: 1. **套 CDN**:在 COS 前面加腾讯云 CDN,用户就近访问 1. **Nginx 直接代理**:让 `/assets` 路径直接走 CDN 域名,完全绕开 cosfs 例如我是使用了腾讯云eo的,所以我在腾讯云的缓存规则里新增了一条规则直接回源到存储桶的 ![](https://developer.qcloudimg.com/http-save/audit-4209207/7f9acbceb6966b1c0d02ca09855146a3.png) ## 十、总结 |**项目**|**说明**| | --- | --- | |本地磁盘|原来静态文件占的空间全部释放| |文件存储|实际在腾讯云COS 上| |访问路径|不变,网站代码无需任何修改| |性能|cosfs有网络延迟,高并发建议套CDN| |运维成本|低,和普通目录体验基本一致| **这个方案最适合的场景:**​ 服务器磁盘快满了、静态文件体积大且增长快、不想改网站代码

优秀的个人博客,低调大师

腾讯云Lighthouse轻量镜像汇总:建站、AI及游戏操作系统大全

腾讯云轻量应用服务器的镜像是轻量实例启动和运行的预制模板,其中包含预置的操作系统和预装的软件。用户可以使用镜像创建一台或多台轻量应用服务器。轻量应用服务器镜像提供 Linux、Windows Server 等多种系统镜像,以及 LAMP、WordPress、OpenClaw、宝塔面板 等应用镜像。简单来说,你可以把“镜像”理解为轻量应用服务器的“装机盘”。 ![](https://developer.qcloudimg.com/http-save/audit-8297938/2337f884817909f415d72703c6a5f5e7.jpg) 腾讯云轻量应用服务器官网 ## 应用镜像 ![](https://developer.qcloudimg.com/http-save/audit-8297938/b9d7b7c9c5470497166078b652aca42b.jpg) - 龙虾镜像:OpenClaw(龙虾)、Hermes Agent、DeepSeek Harness、Octop(腾讯云自研 AI 助手) - AI镜像:WeKnora、Dify、n8n、CodeWhale(DeepSeek TUI)、OpenCode、小智AI服务端 - 网站镜像:宝塔Linux面板、WordPress、1Panel Linux 面板、Typecho、宝塔Windows面板、Halo建站、WooCommerce独立站 - Web开发:LAMP、Node.js、ASP.NET - 开发工具:Docker CE、K3s - 云盘:Cloudreve云盘 - 音视频:SRS音视频服务器 ## 操作系统镜像 轻量应用服务器支持的纯净版操作系统镜像:OpenCloudOS、CentOS、CentOS Stream、Ubuntu、Debian、Rocky Linux、Windows Server,如下图: ![](https://developer.qcloudimg.com/http-save/audit-8297938/213564ddba2c6069c1951adbd0df961c.jpg) ## 容器镜像 容器镜像基于Docker容器镜像构建应用,Docker版本:29.6.1,支持操作系统如下: ![](https://developer.qcloudimg.com/http-save/audit-8297938/1deb58f0e2f1f31d734ac4e72a93d4f3.jpg) - Ubuntu Server 24.04 LTS 64bit - OpenCloudOS 9 - Debian 13.2 64bit - CentOS Stream 9 64bit ## 游戏镜像 腾讯云轻量应用服务器还支持各种游戏应用镜像,不需要玩家手动部署,直接选择应用镜像即可自动帮用户安装游戏程序及依赖环境。腾讯云游戏专区,如下图: ![](https://developer.qcloudimg.com/http-save/audit-8297938/6011f3df91c660c12fae501a855f65cc.jpg) 腾讯云轻量应用服务器支持游戏镜像包括:幻兽帕鲁、MC我的世界、饥荒服务器、雾锁王国、夜族崛起、七日杀、塔拉瑞亚、求生之路2、英灵神殿、灵魂面甲、僵尸毁灭工程、战术小队、非生物因素、护核纪元、异星工厂、幸福工厂、异星探险家、奈斯启示录、森林之子、方舟:生存进化、、环世界Together、潜渊症、The Forest等游戏。 ## 自定义镜像 轻量应用服务器支持自定义镜像,自定义镜是基于已有的云服务器制作的,可以将当前云服务器操作系统及系统上安装的应用程序一并制作成镜像,然后通过这个镜像可以批量生成多台一样的环境的云服务器,自定义镜像也可以共享给其他用户使用。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册