solo 博客加载太长 jsdelivr 受限改本地访问

本贴最后更新于 888 天前,其中的信息可能已经水流花落

问题

好家伙,因为自己最近也老是挂小飞机,所以没发现博客加载慢的问题,觉得还是挺刘畅的。前几天,突然用手机打开博客,慢的鸭皮,但是也还是能够访问,打开大概 1 分钟吧。开始以为服务器问题,看了一遍没啥子问题。随后电脑上 F12 一看。有那么几个请求加载不是超时就是要大约 1 分钟。我这暴脾气可受不了。跑到社区一顿捣鼓,最后决定还是暴力解决。

大概反馈就像这个大哥所说:

solo 博客加载首页耗时很长 - 链滴 (ld246.com)

原因

因为有一部分静态资源是用 JSDelivr 进行 CDN 加速的。然后果断挂上小飞机,发现 2/3 秒就可以打开页面。

现在基本可以确定是因为 JSDelivr 访问受限了。

解决方式

1:挂个小飞机(可惜不可取,别人不可能访问你博客时候还特意挂个小飞机吧)

2:所有 CDN 的加速资源,配到自己本地,采用本地加载,这不就爽歪歪么。

资源

经过一顿捣鼓,所需要的静态资源如下

以下资源由于自己使用时候对部分域名处理过,大家也可以直接去下载官方原版资源进行修改,这里只是为了方便大家,所以进行的处理,仅供个人学习使用。

CDN 加速的静态资源 https://oss.wslhome.top/blog/static/soloStatic.zip

页面主题资源 http://oss.wslhome.top/blog/static/soloPage.zip

CDN 加速的 js 之类的静态资源

image.png

页面资源和模板

image.png

下载解压替换

因为上述资源是我自己去下了后修改过域名,所以提供了上述的文件,仅供个人使用

下载文件后解压,用 Notepad++ 或者是其他 IDEA 进行修改。

修改方式如下:

在文件中批量查找: http://yourHost 和 yourHost

替换为:一会你要上传这部分静态资源能够访问到的路径

eg:我将资源放到我的服务器 nginx 种 www 下的一个目录,通过 nginx 访问资源,我的域名是 www.wslhome.top 那我就将 yourHost 替换为 www.wslhome.top/xxx 从而保证能够访问到资源。

之后拼一下路径看看能否访问成功。如果是 SSL 加密的,那就将 http://yourHost 进行整体替换。

我的路径是这样:

https://www.wslhome.top/skins/nijigen/js/common.min.js

image.png

两个文件替换完成后。上传到服务器进行解压。

重新部署 solo,挂载目录

部署 solo 时候这时候需要多增加几个挂载的目录,命令大概如下:

docker run --detach --name solo --network=host \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="" \
--env JDBC_PASSWORD="" \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://localhost:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
--volume /dockerData/solo/skins/:/opt/solo/skins/ \
--volume /dockerData/solo/admin/:/opt/solo/admin/ \
--volume /dockerData/solo/common-template/:/opt/solo/common-template/ \
--volume /dockerData/solo/js/:/opt/solo/js/ \
--volume /dockerData/solo/plugins/:/opt/solo/plugins/ \
b3log/solo \
--server_scheme=https \
--server_host=你的域名 \
--listen_port=端口 \
--server_port=

dockerData/solo 是存放页面主题资源,也就是 soloPage.zip 解压后的文件。

结束

由于自己加了 CDN 加速,然后多级缓存了一下。1 核 2G2M 带宽,快的飞起。啊哈哈哈哈,1/2 秒打开。整体还比较满意.

image.png

  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1433 引用 • 10052 回帖 • 484 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 53 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250 1 赞同

    老铁,使用 CDN 加速是个 Solo 的启动项,不启用的话默认就是本地的,不需要手动修改源码的。

    1 回复
  • sirwsl

    D 大呀,我发现好像没起作用,可能是自己配错了 😭

    1 回复
  • 拉取最新镜像,看下 README 把静态资源的启动参数去掉。

    1 回复
  • sirwsl

    好嘞