前阵子发现友链里维基萌dalao做了个像微博一样的博客,这创意实在是太棒了,我就也想整一个!但自己好菜什么都不会 ∠( ᐛ 」∠)_
无意中找到了一个名叫memos的好东东,可以作为笔记,写碎碎恋用。虽说没有技术力把它嵌入首页,但做个页面放动态感觉也挺好的。
但是现在用的网站服务器只支持PHP,所以需要一台单独的服务器来挂说说系统memos和评论系统Twikoo,正巧亚马逊云服务器有免费试用的轻量服务器适合练手申请地址:[亚马逊云科技海外区免费试用申请],于是一拍即合,这篇文章就诞生了!

创建服务器环境 🍚

这次以Amazon Lightsail为例子,搭建memos以及Twikoo。
什么是 Amazon Lightsail?Amazon Lightsail 提供虚拟专用服务器 (VPS) ,它是开发人员、小型企业、学生以及其他需要在云上构建和托管其应用程序的解决方案的用户开始使用亚马逊云科技产品/服务的最简单方式。Lightsail 为开发人员提供计算、存储以及网络容量和功能,让其能够在云中部署并管理网站和 Web 应用程序。Lightsail 可提供快速启动项目所需的一切要素,包括虚拟机、容器、数据库、CDN、负载均衡器、DNS 管理等,目前月度价格低廉,仅3.5$起。

注意

即将对公有 IPv4 地址收费
从2024年5月1日开始,所有包含公有 IPv4 地址的全新 Lightsail 实例,以及现有 Lightsail 实例都将适用我们修订后的定价。对于不需要公有 IPv4 地址的工作负载,现在可以使用仅支持 IPv6 的实例。

点击左上角的服务,找到计算。这里就有我们需要创建服务器的选项。

选择lightsail
选择lightsail

创建实例,选择适合自己的实例位置和系统。

这边选择了个人比较熟悉的Debian11.9
这边选择了个人比较熟悉的Debian11.9

亚马逊云新用户提供3个月的lightsail免费试用,这里选择了3.5$的小服务器练练手。

等待片刻,即可创建成功。

安装 memos 以及 Twikoo

连接SSH,为了操作方便,服务器面板选择了时下流行的1Panel,由于亚马逊云安装部署需要权限,我们需要切换一下 root 用户。

sudo -i
  1. 安装1panel

    curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

  2. memos官方推荐docker安装(1panel应用商店有)

    docker run -d \
      --init \
      --name memos \
      --publish 5230:5230 \
      --volume ~/.memos/:/var/opt/memos \
      neosmemo/memos:stable
  3. Twikoo官方推荐docker安装(1panel应用商店有)

    docker run --name twikoo -e TWIKOO_THROTTLE=1000 -p 8080:8080 -v ${PWD}/data:/app/data -d imaegoo/twikoo
  4. 这俩东西基本就是装好就能用,都有接口以及各位大佬的适配,主要问题是如何配合Typecho主题来使用。

适配 typecho 主题

首先需要在当前使用的主题的根目录新建一个php文件,比如 shuoshuo.php

    <div id="bber"></div>
    <script type="module" src="https://immmmm.com/emaction.js?v=230811"></script>
    <script src="https://fastly.jsdelivr.net/npm/marked/marked.min.js"></script>
    <script src="https://fastly.jsdelivr.net/gh/Tokinx/ViewImage/view-image.min.js"></script>
    <script src="https://fastly.jsdelivr.net/gh/Tokinx/Lately/lately.min.js"></script>
    <script src="https://cdn.staticfile.org/twikoo/1.6.16/twikoo.all.min.js"></script>
    <script type="text/javascript">
      var bbMemos = {
        memos : 'https://m.kirimasharo.com/',//修改为自己部署 Memos 的网址,末尾有 / 斜杠
        limit : '',//默认每次显示 10 条
        creatorId:'1' ,//早期默认为 101 用户,新安装是 1; https://demo.usememos.com/u/101
        domId: '',//默认为 bber
        twiEnv:'https://t.kirimasharo.com/',
      }
    </script>
    <script src="memos/bb-lmm-mk.js"></script>
   </div>

以上代码来自于木木木木木大佬,需要注意的是完全照搬是不行的,要按照自己的主题来适配,比如我用的这个VOID主题完整的代码是下面这些,可以参考参考(个人把所需要的js都保存到了本地)。

<?php
/** 
 * ss //独立页面的名称
 *
 * @package custom
 *  
 * @author      熊猫小A
 * @version     2019-01-17 0.1
 * 
*/ 
if (!defined('__TYPECHO_ROOT_DIR__')) exit;
?>

<?php 
if(!Utils::isPjax()){
    $this->need('includes/head.php');
    $this->need('includes/header.php');
} 
?>
<main id="pjax-container">
<?php $this->need('includes/banner.php'); ?>   
  <div class="wrapper container">
    <div id="bber"></div>
    <script type="module" src="memos/emaction.js"></script>
    <script src="memos/marked.min.js"></script>
    <script src="memos/view-image.min.js"></script>
    <script src="memos/lately.min.js"></script>
    <script src="memos/twikoo.all.min.js"></script>  
    <script type="text/javascript">
      var bbMemos = {
        memos : 'https://m.kirimasharo.com/',//修改为自己部署 Memos 的网址,末尾有 / 斜杠
        limit : '',//默认每次显示 10 条
        creatorId:'1' ,//早期默认为 101 用户,新安装是 1; https://demo.usememos.com/u/101
        domId: '',//默认为 bber
        twiEnv:'https://t.kirimasharo.com/',
      }
    </script>
    <script src="memos/bb-lmm-mk.js"></script>
   </div>
</main>

<?php 
if(!Utils::isPjax()){
    $this->need('includes/footer.php');
} 
?>

注意!

如果使用的是memos 20.1版本,需要把bb-lmm-mk.js里的
memos+'o/r/'+resourceList[j].id+'/'+(resourceList[j].publicId || resourceList[j].filename)
替换成
memos+'o/r/'+(resourceList[j].publicId || resourceList[j].name)

添加独立页面

在typecho后台添加新建的这个独立页面即可。

效果就是这样了,还可以吧!

最后

亚马逊云作为全球最全面、最广泛采纳的云计算平台之一,对新手确实友好。可供免费试用的产品不止lightsail,还有云服务器EC2,云储存S3,CDN等,用户上手不会有什么负担,都简单易懂。
有需要的都可以免费领取亚马逊云服务试用!