2019.03.26 更新
由于 Now.sh v2.0 不再支持 Docker 部署,故文中方法失效。
一直使用 Disqus 作为评论系统,由于众所周知的原因,Disqus 无法在国内正常访问。博主有一台位于海外的 VPS 使用搭建代理,但是有些没有海外服务器的朋友碰到这种情况就无能为力了。
其实通过 Now.sh 平台提供的 Docker 部署服务,不需要自己有海外服务器也能部署自己的 Disqus 代理服务。
文中使用的代理方案是 fooleap/disqus-php-api。
Disqus 设置
这一步参考项目README
其中 Callback URL 先随便填一个 URL,后面需要修改。
部署
- 安装 Now CLI
首先请注册一个 Now.sh 账户。
参考我的这篇文章 📟如何搭建一个属于自己的 Telegram 推送 Bot 或者官方文档 Installation - ZEIT Documentation 安装 Now CLI。
- 下载代码
我已经编写好相应的 Dockerfile 和 Caddyfile,直接下载我 fork 的仓库就行。
git clone https://github.com/indes/disqus-php-api && cd disqus-php-api
- 修改配置
参照 项目README 填写修改 api/config.php 文件。
- 部署
登录 Now Cli,输入以下命令,并且根据提示输入账户邮箱。
now login
部署 Docker
now
部署过程中会询问你是采用哪种方式部署,键盘输入 Docker 前那个数字。
图中蓝色的链接就是我们部署的 Docker 服务地址,复制保存下来,后文中的 <url>
都指这个链接。如果有需要可以参考官方文档 Aliasing A Deployment - ZEIT Documentation 创建别名,这里就不再赘述。
浏览器访问 <url>/api/login.php
<url>
为前面保存的蓝色链接,如果能看到一个动画说明部署成功。
- 修改 Disqus 配置
打开 API - Disqus,找到刚申请的 Application,修改 Settings 中的 Callback URL 为<url>/api/login.php
嵌入评论框
引入 CSS
<link rel="stylesheet" href="<url>/dist/iDisqus.min.css" />
创建容器
<div id="comment"></div>
引入 JS
<script src="<url>/dist/iDisqus.min.js"></script>
创建实例
var disq = new iDisqus('comment', {
forum: '',
api: '<url>/dist/api',
site: 'Your blog url',
mode: 1,
timeout: 3000,
init: true
});
然后你就能去你的博客看成果了。