为OSS静态网站配置阿里云CDN

为OSS静态网站配置阿里云CDN,加快网站、图片、视频、文件的访问速度。

上篇文章 说了如何在阿里云OSS上部署一个静态网站(例如:Hexo)。

Hexo静态网站Hexo静态网站

因为我的OSS机房在北京,所以部分地方访问会比较慢,这时候就需要上CDN了。(OSS加速太贵,多地备份用不到,CDN是一个比较好的选择。)

使用阿里云OSS部署静态网站

使用阿里云的对象存储服务(Object Storage Service,简称 OSS)部署静态类网站。

说实话,使用OSS部署静态类Blog网站(例如:Hexo),是相当划算的一件事,相比于购买云主机,云服务器。

阿里云OSS一年才10块,哪怕按量付费也很便宜。阿里云OSS一年才10块,哪怕按量付费也很便宜。

当然,托管在 Github 或是 Coding 、码云之类的网站也没问题。

info:
  • Github 国内访问慢的一批。
  • 码云要绑定自己的域名得开通 Gitee Pages Pro ,一年就99块(还不如买个空间呢)。
  • coding 可以绑定自己的域名,可以提交百度收录,5人+20个项目+50G空间,挺好的。但是,听说最近服务不是太稳定。需要在观察一下。

但是,阿里云的OSS配合CDN,真香。(传送门:为OSS静态网站配置阿里云CDN

OSS+CDNOSS+CDN

再配合着免费的SSL证书,单纯自己记录些笔记,日志之类的还是非常方便的。

Let's Encrypt的证书Let's Encrypt的证书

废话不多说了,下面开始了。

NextCloud安装时数据库报错

NextCloud安装时使用MySQL报错。报错日志如下:

NextCloud安装时报错日志NextCloud安装时报错日志

错误:
An exception occurred while executing 'SELECT `uid`, `displayname` FROM `oc_users` WHERE `uid_lower` = ?' with params ["admin"]: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'nextcloud.oc_users' doesn't exist

起初觉得可能是因为binlog_format设置问题,修改之后发现问题并没有解决。

尝试使用内置的SQLite安装。

使用SQLite安装,仍报错使用SQLite安装,仍报错

去官方社区逛了一圈发现。。。

官方提示NextCloud,并不能安装在Windows上官方提示NextCloud,并不能安装在Windows上

Error:
  • Nextcloud Server does not support Microsoft Windows. We recommend usinga virtual machine or docker image on Windows Server.
  • Nextcloud服务器并不能支持在 Microsoft Windows 上运行。我们建议在 Windows Server 上使用虚拟机或 docker 映像
info: PS:我真蠢...

实现hitokoto打字效果

使用hitokoto和typed.js,实现hitokoto的打字效果。传送门

代码如下

<div class="hitokoto">
    <span class="typed" id="hitokoto"></span>
</div>




<script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
<script src="//cdn.bootcss.com/typed.js/2.0.11/typed.min.js"></script>
<script>
$(function () {
  $.get("https://v1.hitokoto.cn/", function (data) {
    var data = data;
    var str =  data.hitokoto + "&#12288;By "

    var options = {
      strings: [
        //str + "退格效果^1000",
        str + data.from,
      ],
      typeSpeed: 80,
      startDelay:300,
      // loop: true,
    }
    var typed = new Typed(".hitokoto .typed", options);
  })
});</script>