Ghost+Cyberpanel

分享
Ghost+Cyberpanel

务必选择稳定的平台。

2022年6月11日早上,网站崩溃了。我用的是Cloudron来运行Ghost的,重启实例,也不能像往常一样进入Cloudron后台。SSH也无法连接,感觉一切都是正常的,又一切都那么不正常。

这一切,都是我点击了Cloudron的提示,说系统更新了,需要重启Cloudron,大概是这个意思。点击重启,然后一切都不复存在一样。

当我试过所有办法,无法让Cloudron运行后,我彻底放弃。然后,我打开WordPress的后台,看了看熟悉而又陌生的6.0版本,又去看了看主题商店,那么多主题,质量还是一如既往的低、画风还是随意而潦草,去调整了一下Blocksy主题,总觉得,离自己对美观的要求,还是差距太大。我不否认Blocksy、Kadence也算是WordPress阵营的颜值、功能、性能担当,但是,确实需要自己去设计、调试。对于像我这样的一个已经玩了WordPress多年的,也写不了多少文章的、几乎没有流量的博客主,已经完全没有动力,去设计一个自己喜欢的样式。事实上,我也不知道怎样设计才算好,反正,我就是觉得Ghost的主题感觉好、惬意,舒适。

我也分析了Cloudron不稳定的原因,那就是可能是内存不够。因为如果是直接运行官方的安装脚本,我的这台VPS就事属于不达标的,不满足官方要求的最低标准,也算是我强行安装上的。

于是,我还是想继续使用Ghost,只是,不能再用Cloudron了。

备份

还好两天前我有备份,期间只写了一篇文章,而且再一周前我还把图片都下载下来的,于是,我觉得并不是无药可救,还是有希望。

Cyberpanel

这个我也用了几年了,性能强大、效率极高、而且非常稳定安全。反正这东西值得推荐,我也试过很多平台了,我真的不打算再换了。

Ghost

Ghost 5.0不是说不支持sqlite3了吗,但是最新的5.22 Docker Image依然默认使用sqlite3数据库。其实,对于一个像我这样几乎没有流量的网站来说,无所谓。后期把G-Core Labs的全站加速配置好反而更🈶必要。

Cyberpanel可以很方便管理容器,当然,我还🈶很多地方没有搞明白,不重要,简单操作够,Ghost能上线就够了,我又不是程序员。

Map Volumes

容器里的文件管理方面,一定要在服务器建立一个文件夹,用于存放Ghost的所有文件,并跟容器关联,也就是Map Volumes,这样容器就会直接在这个文件夹里面读写内容。

Destination就是容器里面Ghost的文件目录,也就是/var/lib/ghost/content,这个目录可以通过Docekr关联至服务器的一个文件夹,这样容器也就可以读写这个文件夹【大概就是这个原理】,Source就填你服务器里面计划存放Ghost文件的目录。

反向代理

反向代理容器,之前可把我整不会了。经过我的尝试,Cyberpanel在安装的时候,可以选择免费的Openlitespeed,也可以选择企业版的Litespeed(2G内存的服务器也免费使用),如果符合免费政策,安装的时候,务必选择Litespeed,这个版本支持Apache的规则,也就是说,照搬Apache的规则也能顺利运行。那么,反向代理容器就变得非常非常简单了。

Cyberpanel里面,打开一个网站的控制后台,修改vHost Conf里面的内容:

在<VirtualHost *:443>找到

DocumentRoot /home/notecore.net/public_html

修改反向代理,Ghost的默认端口2368,或者你想反代的容器的端口,并保存

ProxyRequests Off
<Proxy *>
Order deny,allowAllow from all
ProxyPass / http://127.0.0.1:2368/
ProxyPassReverse / http://127.0.0.1:2368/

同时,Rewrite Rules,直接在Select Template里面选择Force HTTP->HTTPS,然后保存。

Filebrowser

这是一款功能强大的服务器端稳健管理器,可以直接Docker安装,然后关联上Ghost的文件目录,这样就很方便可以把图片上传至服务器。

Map Volumes,Destination填写/srv

Source就填你服务器里面计划存放Ghost文件的目录,那么,打开Filebrowser的绑定的域名(参照反向代理这部分内容),或者ip:端口号,就可以查看编辑Ghost的文件了。


然后,网站就可以正式上线了。

稳定

我写这篇博客,主演还是对自己的一个提醒,什么叫稳定,就是要经过自己长期测试,很少发生问题的平台。如果你发现一个平台,一开始就动不动出现非常严重的问题,请务必重视,或许将来也会发生让你崩溃的无法解决的问题。

这里,稳定就是耀自己去测试,而且是长测。同时,一定要做好备份,大备份和小备份,都需要定期晕,一定要做好备份资料归档,确保出现问题的时候,能找回来。

阅读更多

更好的字幕翻译工具

更好的字幕翻译工具

如果你还在找一个更好的字幕翻译工具,那么就是是“沉浸式翻译”这个浏览器插件把,免费版本可以使用微软翻译、硅基流动翻译、GlM-4 Flash和Babel lite。 我测试了一下《挽救计划》的英文字幕,翻译成中文。这部电影的字幕其实难度还是挺大的,不过就我测试了硅基流动翻译、GlM-4 Flash和Babel lite 3个模型的翻译效果,这里推荐Babel lite模型。原因如下: 字幕里面有一个断句的 文本,Babel lite能准确翻译出原文表达的意思: 00:09:4900:09:52Over the next 30 years, the Earth could在未来 30 年,地球可能会 00:09:5200:09:55cool maybe 10凉爽,也许 10

By typenode
给网站添加view-transition动画

给网站添加view-transition动画

view-transition是一个很专业的功能,可以通过CSS去实现网页动画,在跨网页浏览上启用view-transition,无需多余配置即可获得一个优雅的网站页面切换效果。 适用于多页面应用的跨文档视图过渡 | View Transitions | Chrome for Developers开始在您的多页应用 (MPA) 中使用跨文档视图过渡。Chrome for DevelopersX demo: HomecamelCase 配置 在Code injection里面添加如下代码即可: <style> @view-transition { navigation: auto; } ::view-transition-group(root){ animation-duration:600ms } </style>

By typenode
Fix ActivityPub Webhook Error

Fix ActivityPub Webhook Error

之前的Ghost托管在PikaPods上面,其实相当于是Managed Ghost,所以你不需要去操心服务器的配置。最近换了服务商,那么情况就不一样了,遇到的所有问题都需要自己去处理,其中一个就是ActivityPub无法正常使用。 错误排查 查看log后发现报错:No Webhook Secret Found。 原因分析 * /.ghost/activitypub/* * /.well-known/webfinger * /.well-known/nodeinfo 上面三个ActivityPub资源配置错误,并未通过https反对带至ap.ghost.org。 处理办法 将需要反代的路径添加至nginx配置文件即可: location ~ /.ghost/activitypub/* { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_se

By typenode