服务器迁移以及博客转移

起因:

在原来的域名zjzdmc.top上增加了cloudflare,结果后来提示备案掉了,然后网站就访问不了提示需要备案了。之后就想着正好把域名切换一下,从zjzdmc.top切换成datehoer.com,然后就在namesilo上买了新的域名,结果发现我的腾讯云服务器没法使用。正好当时想要买个境外的服务器,并且马上就要到黑五了,所以就一直等着到黑五才买。

首先测试的是宝塔+wordpress。

发现占用服务器内存资源过高,于是就想切换成一个轻量的博客系统,不过当时是想找一个轻量的主题试试,但是在GitHub上没有找到喜欢的主题,所以就想换一个博客系统,正巧发现了hexo,然后又想着部署麻烦,还不如用docker打包成容器,这样也好迁移。

于是就有了最终的成品,nginx+docker(hexo)

这里主要感谢这篇博客文章https://www.oxygencoder.com/posts/51015.html写的不错,给了我很大的帮助。

主要是生成这样的Dockerfile文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 使用最新的node镜像作为基础环境  
FROM node:latest
MAINTAINER Steven <[email protected]>
# 设置临时工作目录
WORKDIR /usr/temp
# 配置 npm 镜像站点
RUN npm config set registry https://registry.npm.taobao.org
# 安装 hexo-cli
RUN npm install hexo-cli -g
# 初始化 hexo blog
RUN hexo init
# 安装 icarus 主题需要的依赖
RUN npm install --save [email protected] inferno inferno-create-element hexo-renderer-inferno hexo-component-inferno
# 方便图片附件引用
RUN npm install hexo-asset-image --save
# 资源压缩
RUN npm install hexo-all-minifier --save
# 生成唯一链接
RUN npm install hexo-abbrlink --save
# 生成sitemap,优化SEO
RUN npm install --save hexo-generator-sitemap hexo-generator-baidu-sitemap
# 手动编译optipng-bin,否则会报错,找不到文件
RUN node node_modules/optipng-bin/lib/install.js
# 下载 icarus 主题
RUN curl -o "theme.zip" -L https://github.com/ppoffice/hexo-theme-icarus/archive/refs/tags/4.4.0.zip
RUN unzip theme.zip -d themes/
RUN mv themes/hexo-theme-icarus-4.4.0 themes/icarus
RUN rm -f theme.zip
# 配置 hexo 使用 icarus 主题
RUN sed -i "s/landscape/icarus/g" _config.yml
# 删除默认 landscape 主题
RUN npm uninstall hexo-theme-landscape --save
RUN rm -f _config.landscape.yml
RUN rm -r -f themes/landscape
# 配置正式工作目录
WORKDIR /usr/blog
# hexo 默认端口号 4000
EXPOSE 4000

之后按照上面的博客链接教程继续操作就行了。

ps:文末附一份转移教程

然后在docker启动hexo服务即可,记得使用nohup。

然后在宿主机这里安装nginx,具体安装教程可以百度/Google,文末附一份安装教程。

按照上面的博客链接配置好nginx后,开启80和443端口,在浏览器访问链接即可。

1
2
3
4
# 开启防火墙
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

运行后发现确实占用资源要少很多,不过我觉得其实主要的原因还是因为我安装了宝塔,并且wordpress使用的是MySQL数据库。

这里附一份转移教程

RSS

首先,安裝 hexo-migrator-rss 外掛。

1
$ npm install hexo-migrator-rss --save

一旦外掛安裝完成,執行下列指令,從 RSS 轉移所有文章。source 可以是檔案路徑或網址。

1
$ hexo migrate rss <source>

Jekyll

_posts 資料夾內的所有檔案複製至 source/_posts 資料夾,並在 _config.yml 中修改 new_post_name 設定。

1
new_post_name: :year-:month-:day-:title.md

Octopress

把 Octopress 的 source/_posts 資料夾內的所有檔案轉移至 Hexo 的 source/_posts 資料夾,並修改 _config.yml 中的 new_post_name 設定。

1
new_post_name: :year-:month-:day-:title.md

WordPress

首先,安裝 hexo-migrator-wordpress 外掛。

1
$ npm install hexo-migrator-wordpress --save

由 WordPress 儀表板的 “工具” → “匯出” → “WordPress” 匯出網站資料 (詳情請參見 WordPress 支援頁)。

接著執行:

1
$ hexo migrate wordpress <source>

source 為 WordPress 匯出檔案的路徑或網址:

Joomla

首先,安裝 hexo-migrator-joomla 外掛

1
$ npm install hexo-migrator-joomla --save

並使用 J2XML 元件匯出你的 Joomla 文章。

接著執行:

1
$ hexo migrate joomla <source>

source 為 Joomla 匯出檔案的路徑或網址。

这里附一份nginx安装教程

要安装nginx,需要先确保服务器上已经安装了Linux操作系统和gcc编译器。然后,执行以下步骤:

  1. 下载nginx源码。可以从nginx官网下载,也可以使用Linux的包管理工具(如apt-get或yum)下载。
  2. 解压nginx源码压缩包。
  3. 进入nginx源码目录,执行命令“./configure”,配置nginx编译环境。
  4. 执行命令“make”,编译nginx源码。
  5. 执行命令“make install”,安装nginx。

在安装过程中,可能需要根据服务器的具体情况进行一些调整,如修改安装路径、配置编译选项等。此外,安装完成后,还需要进行一些配置,才能使nginx正常工作。

安装nginx最好使用Linux系统,如果您不熟悉Linux操作系统,建议您咨询专业人员或查阅相关资料。

typecho joe主题不显示侧栏博主随机文章


起因: 不显示作者下面的随机文。这个其实我用以前的版本是可以显示的,但是没想到换成新版后不显示了,自己进行了一些尝试,发现并没效果,所以准备放弃了。

结果: 完美解决。没想到后来在群里面发现了作者,然后跟作者聊了聊,解决了这个问题。

方法: 修改 Typecho 的设置,我们只需要修改它的 config.inc.php 文件即可,当然,这个文件是网站根目录里的文件。

作者的配置

您的配置

上图为作者的配置,下图为我的配置。我们只需要将 MySQL 修改成 Pdo_MySQL 即可,这个应该是因为传输协议或者连接方式不同所导致不显示作者下面的随机文章。修改后即可。

joe主题的样式该怎么写?

由于最终我转到了Handsome主题,所以之前的效果可能无法再看到,但是只要将代码复制到新环境中,它们应该仍然可用。

之前我一直使用的是Joe的4.5版本主题。在那个版本中,输入特殊字符后,CSS美化样式是通过方括号 [] 来实现的。然而,昨天我升级到了6版本后,发现所有样式都被取消了。我去查看了Joe的网站,发现他将样式改成了使用花括号 {},但有些样式可能也改了名字,不能像以前那样使用了。

因此,我尝试简单修改了一下这些样式:

  1. 标题:

    1
    {mtitle title="标题标题标题"}

    这个修改了名称,以前的我记得是使用 line

  2. 按钮:

    1
    {btn href="" type="default"}默认按钮{/btn}
  3. 提示消息:

    1
    {alt type="success"}成功提示的文案{/alt}
  4. 卡片:

    1
    {card-default width="100%" label="卡片标题"}卡片内容{/card-default}
  5. 隐藏内容:

    1
    2
    3
    4
    {collapse}
    {collapse-item label="标题"}我是隐藏的{/collapse-item}
    {collapse-item label="标题"}我是隐藏的{/collapse-item}
    {/collapse}
  6. 时间线:

    1
    2
    3
    4
    {timeline}
    {timeline-item}他出生了{/timeline-item}
    {timeline-item}他挂了{/timeline-item}
    {/timeline}
  7. 点击复制:

    1
    {copy}我是一个内容{/copy}
  8. 打字机效果:

    1
    {typing}打字机打字机,如果没有看到可以刷新再看一遍{/typing}
  9. 卡片导航:

    1
    2
    3
    4
    {card-nav}
    {card-nav-item src="http://baidu.com" title="百度一下" img="https://www.baidu.com/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg" /}
    {card-nav-item src="http://baidu.com" title="百度一下" img="https://www.baidu.com/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg" /}
    {/card-nav}

如果需要更多的示例,请查看文件路径:/usr/themes/Joe-master/core/short.php

如何从织梦dede转成typecho

实际上,我一直不太满意我之前使用的织梦(DedeCMS)模板,因此决定更换模板。然而,众所周知,织梦的模板大多适用于企业站,而我想要的是一个像WordPress或Typecho那样好看的模板。因此,我决定将我的网站迁移到Typecho。

首先,我要提醒大家,这种方法只适用于文章数量较少或者懂技术的人。

由于我的网站内容相对较少,我选择了不涉及数据库的方式。我首先备份了我的网站,然后在本地环境中打开了它。接着,我将网站切换到Typecho,然后逐篇将文章复制到新环境中。具体方法是,我首先将文章中的图片等资源保存下来,然后修改Typecho的后台,将链接路径改成与原来的网站一致。例如,我的文章链接格式是标题缩写/ID,因此我将Typecho的格式也改成了相同的样式。然后,我从以前网站的第一篇文章开始,逐一复制过来。我务必确保每篇文章的内容都保持一致。

这种方法实际上只适用于像我这样的小站。如果你的网站内容较多,我建议使用工具,如火车头,将内容扒下来,并确保将图片链接替换为Typecho的链接,然后再导入到新环境中。

总的来说,没有什么简单的方法可言,但我听说从WordPress转到Typecho有一些简便方法。具体的方法还是需要根据情况自行查找。我这里只是分享了我从织梦(DedeCMS)转到Typecho的经验。

织梦转Typecho经验

不过,要说实话,Typecho和DedeCMS之间还是有很大区别的。DedeCMS主要是HTML静态,而Typecho则是PHP动态。可能是当时的开发环境和目标不同,所以它们的内容也不一样。不过,Typecho的后台界面看起来确实比DedeCMS的要好得多。

为什么在div中加的是左浮动但是div会向右浮动

为什么在 div 中加的是左浮动但是 div 会向右浮动呢?这一点我相信有好多人都会遇到,至于原因,你懂的。因为我也遇到了,而且为此困惑了好久,不过我遇到的是我屏幕大的话,网页就会发生偏移,而我这种小屏却没什么事。之前右朋友跟我说过,但是一直没上心,今天晚上准备修复一下。

他这个浮动其实是因为在你的 div 之前的标签中也有使用浮动或者别的什么属性,导致该标签的位置发生变化,进而引发了它后面的标签也发生了偏移。我们解决的方法非常容易,只需要给偏移的第一个标签加上 clear 属性就行了。

先进行一下 gif 图片展示吧,

为什么在div中加的是左浮动但是div会向右浮动

如图,我们把 clear 这个属性给去掉,然后我们的内容就会发生偏移了,而我们加上,就会恢复正常了。这篇文章其实可以做一下之前那篇文章的反驳,哈哈,之前那是因为学的太少了,不过方法还算正确,但是判断的原因出错了,主要是当时解决了,所以后面就懒得想了,这次一道给正好了。之前那篇文章,说的是我删除栏目的时候,之后不论怎么修改页面的元素都会发生偏移,大概率就是因为这个浮动搞得鬼,不过我并没有进行测试哦,只是说一下,如果有朋友正好遇到这个问题可以尝试一下。最后说一下,只需要在我们不正常的标签加上 clear: both; 这个就行了。

网站索引量暴跌

目前是23号,我的百度站长索引量内容只到16号,并没有更新后面的数据,不知道是因为问题还没有修复,还是因为什么,不过当时18号的时候,百度就发公告了:

您好,近日搜索资源平台【索引量】工具,由于工具计算系统不稳定导致数据异常,当前问题已紧急修复,索引量数据重新上线,详情请参考 请点击

出现了,它出现了,百度居然把索引量调回了15号的,非常神奇,吓我一跳,我就觉得我 API 提交 3000 份没啥问题,哈哈。

网站的索引量恢复到了15号的数据

今天在打开百度站长工具的时候,看到了我可怜巴巴的索引量直接变成 0 了,我就觉得今天是一个不寻常的日子。虽然我觉得问题大概是我在昨天出现了一波操作失误,主动提交数直接涨到了 3000,今天一看的时候把我吓到了。但是我后来看百度的站长论坛里,发现许许多多的网站的索引量都变少了,人家是几万几万的减,几百万的索引量都减半了,而我这才 3 条索引量,只是毛毛雨罢了。

网页的索引量暴跌

网页的索引量暴跌

网页的索引量暴跌

网页的索引量暴跌

我目前看到的,大多数的网站都降了,而且大多数是一半一半的掉,我这个一下全掉就有点奇怪了,哈哈。不过其实只要保证网站的质量,发布优质内容还是可以的。

引用一个大哥的话:

刚才看到跌了100多万,心里暗暗叫到“不好~~~~~~~~~~”正准备删库走人的时候,看到了楼主的贴子,心里顿时豁然了,楼主的贴子好比一盏明灯!今天不用走人了,还可以多领一天鸡腿~~~~~~~~~

本来可能要有一大堆的人今天要删库跑路了,没想到发现大家都这样,而且我的掉的还算少的,那么要加鸡腿喽!

关于网站建设

简单的将网站的建设归为以下三个类: > 关于编程的学习 > 关于网站的建设 > 关于日后的打算 下面简单介绍以下我的计划: \

关于编程的学习

其实很早很早以前就对编程充满了兴趣,但可惜因为当时的乐趣有点多,而且其实年龄受限吧,好吧,其实还是因为眼界的问题,只能看到眼前把,所以对这些东西其实真的看不太重,毕竟其实编程与火力少年王,四驱车,陀螺,英雄杀,三国杀,保皇,游戏王等等一系列的游戏相比,吸引度还是太低了。 真正的开始学习其实是在高中了,高中才开始学习编程,大概是在高二的时候买了第一本编程书,java从入门到精通,可惜其实虽然买了但是没怎么看,后来零零碎碎的学习了中国大学mcmmo里浙江大学翁恺的c和java基础,然后又通过学校的学习进一步学习了c语言,接下来又接触到了html,css,javascript以及python和php,然后又通过上课接触到了seo,接下来就通过seo的学习有了建一个自己网站的想法,不过其实早就有了,在我20年年初的时候又做了一次我的世界服务器,然后通过服务器的发展,有了想要宣传服务器的想法,接下来做网站的搭建就应命运而生了,之前是做的wordpress,用了一段时间然后改成了自己搭建,在接下来发现自己搭建的话,最容易的应该是做那种静态网站,做出来之后几乎就不需要改动了,只是贴上链接以及宣传视频就可以了。后来学习seo了,知道了织梦,觉得通过织梦来做博客其实非常不错,因为可以随时更新文章,并且代码都是自己写的,可以做到毫无广告!

关于网站的建设

这个网站是我用课余时间去图书馆做出来的,大概做了一个周左右,中间断断续续的做吧,也就是最近才开始认真的,百度查查,论坛找找,课本翻翻,拼拼补补的把网站就这么拉扯出来了,还有许多可进步的空间,慢慢完善!有什么好的建议可以发表评论,也可以通过qq联系我!

关于日后的打算

大学一开始,就准备学习python了,因为python确实有点牛!但是到现在其实也就学了个基础部分,最近在边学html边学python中,其实一开始就觉得python牛皮了,但是最近看菜鸟教程发的一篇文章,内容非常的牛!!!!所以接下来主攻的目标就是python了,可能学习过程中会贴上自己的学习记录到网站上,不过最近还是往网站上贴一下织梦的使用了,其实通过百度查一些东西,发现好多都不是非常直接的答案,也有许多没有答案的,只能靠自己来摸索!