Hexo定制之家宽部署artalk评论系统

网站部署artalk评论系统,接收访客用户的评论

实现方法

hexo部署Artalk
用J4125里面的宝塔面板的Docker

宝塔在debian服务器上
debian服务器上镜像Docker对应目录/data/artalk

灵感来源

carlzeng@Debian11:/data/artalk$ ls
artalk.db artalk.yml

http://192.168.@@@:82/sidebar/#/login

carlzeng@Debian11:/$ docker exec -it artalk artalk admin
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/artalk/json": dial unix /var/run/docker.sock: connect: permission denied
carlzeng@Debian11:/$ su
Password:
root@Debian11:/# docker exec -it artalk artalk admin
Error response from daemon: No such container: artalk

检测了BT面板里面的artalk容器配置,发现异常如下:
"Name" : "/q18qdroglehghc",

用第二种方法:直接在ssh中输入docker命令

在root的根目录下执行
docker run -d
--name artalk
-p 82:23366
-v /data/artalk:/data
artalk/artalk-go

docker exec -it artalk artalk admin

WARN[0000] 未找到 IP 数据库文件:"./data/ip2region.xdb",IP 归属地功能已禁用,参考链接:https://artalk.js.org/guide/frontend/ip-region.html
--------------------------------
 Create admin account
--------------------------------
Enter Username: ***
Enter Email: zeng.@icloud.com
Enter Password: 
Retype Password: 
--------------------------------
  Name: ***
  Mail: zeng.@icloud.com
--------------------------------

可以在正常在本地提交评论http://localhost:4000/blog/202309222344.html#Next
下一步:

添加到NexT的页脚模版comment位置

done, added in comments.njk
```html





....
```
.post-nav { border-bottom: 20px solid $gainsboro;

目前的局限:打开页面以后需要二次刷新页面才会出现评论

修改NexT的电脑端背景色为白色,(同步于手机端样式)

修改配置文件 darkmode: false

映射或反向代理,提供给外网使用:https://chuanzhuo.github.io/blog/

如何给docker中的服务配置二级域名?
https页面可否嵌入http服务?
需要升级到https
Nginx Proxy Manager也可以代劳

家宽如何使用Nginx Proxy Manager反向代理 - YouTube https://vt.wooomooo.com/?p=67689
材料清单
家宽+公网IP
一级域名?

反向代理步骤
1. 进入Nginx Proxy Manager官网,获取docker-compose.yml配置文件(需保存为这个文件名)
1. 到这个docker-compose.yml文件的目录下,执行:docker-compose up -d
/www/server/panel/data/compose/NginxPorxyManager/template
1. 进入Nginx Proxy Manager 后台
http://192.168.@@@:81/login
1. 端口转发
这里的880和4443就是刚才在配置服务器的端口
openwrt端口转发设置方法
依次找到:网络–> 防火墙–> 端口转发。
在新建端口转发设置栏中,输入你要转发的IP、端口和协议等内容。
点击保存&应用便可即时生效。
配置好以后,可以用外网IP访问转发的两个端口:
http://123.118.31.119:880/
http://123.118.31.119:4443/
1. 特定域名
A记录

1. 配置New Proxy Host 在 Nginx Proxy Manager 后台
新增一条a.goodday.cc指向http://192.168.@@@:82

访问http://a.goodday.cc:880/
http://a.goodday.cc:4443/
错误:
504 Gateway Time-out
openresty

很大可能现在面临的问题是letsencrypt.org无法成功申请证书
有没有其他的SSL免费证书可用?

https://a.goodday.cc:4443/
错误:
This site can’t be reachedThe webpage at https://a.goodday.cc:4443/ might be temporarily down or it may have moved permanently to a new web address.
ERR_SSL_UNRECOGNIZED_NAME_ALERT

转换思路,取得域名
成功切换至域名(CF控制的 carlzeng.top)
https://sharedblog.net/posts/2022-09-28-github-pages-custom-domain-name/

关闭DNS *泛解析 A记录 的 ‘代理’,才能正常连接到NginxProxyManager的特点端口
等待生效后,方可正常

替换表情包

替换原来的https://cdn.jsdelivr.net/gh/ArtalkJS/Emoticons/grps/default.json
新的:https://cdn.klyang.com/json/emo.json

一有多几个人同时访问时,artalk就奔溃了,如何解决?

Artalk Error
Error: 请求超时或意外终止,无法获取评论列表数据
点击重新获取
ping artalk.carlzeng.top -c4
PING artalk.carlzeng.top (172.67.202.139): 56 data bytes
本机是这种情况,用联通4G网络就能正常访问artalk评论

解决办法:在4G环境下,用管理员登录控制中心,应用一下配置;
重新回到电脑,就正常了,匪夷所思

根据ping结果可知,域名对应的IP正确了;而一段时间后又会变成CF?
ping artalk.carlzeng.top -c4
PING artalk.carlzeng.top (123.119.@@@): 56 data bytes

Artalk置入博客

不要自己修改NexT,测试使用插件:Artalk comment plugin for Hexo NexT
https://github.com/leirock/hexo-next-artalk

npm install hexo-next-artalk

这个插件方案可能可以解决,首页也会冒出评论框的尴尬。




posted @ 2023-10-29 20:21  CarlZeng  阅读(326)  评论(0)    收藏  举报