vps翻车记之升级内核&防火墙

此刻博主正在回家的路上,闲来无聊就说一说最近一两天我下载站所在的vps翻车记,这次主要是因为升级内核和配置防火墙翻车的。

事情是这样的,服务器本来运行的好好的,我手贱,运行了升级内核的一键脚本,又手贱输入了Yes开始安装。本来这个脚本一直也没有问题,可是呀,最新发布的这个内核版本,4.16,它在安装的时候有一个依赖,然而这个依赖它又不会自动给你安装上,就导致了新的内核安装失败,而这个一键脚本最后还把之前的内核引导给删了,结果就是,在重启之后,就再也开不开了。

当时我就蒙了,这尼玛太突然了。无奈,最后只能放弃我的数据,重装系统,再安装4.12版本的内核,重新安装网站环境,下载站的数据怎么办?还好之前我有同步到腾讯云对象存储上,可是这个恢复数据的过程也忒坑了,由于对象存储一般都是静态资源,用不着那么大的带宽,无论是用官方的API工具还是直链下载,速度最多只有二百K每秒。挂了一晚上的API工具下载,第二天早上发现工具早就卡死了,没办法了,绑定一个加速域名一个一个下吧,就这样又过了一天,下载站的数据总算是恢复了。

没想到呀,之后我又作死了一次,在弄防火墙的时候,我想要把 INPUT 端口除了 22 21 80 443 之外的都给拒绝,我就直接输入了

iptables INPUT DROP

结果,ssh 连接直接断开,我又蒙了,还好我机智了一次,刚才我没有保存防火墙的配置,因此,它只是保存在内存中而已,重启就又恢复啦。机智的我到控制面板那里直接重启服务器,哈哈,又能连接了,吓得我先放行了端口,再保存配置,一切OK。看来呀,自己不懂的东西还是不要乱碰为好,等过几天我研究研究这个 iptables ,再写一篇文章加深印象,毕竟防火墙也是比较重要的一项安全措施。

这里呢,再提一个建议,网站一定要定时做备份,毕竟总是会有意外发生的。

Java 中 final 关键词的使用

上一篇文章我们讲了 java 中 static 关键字的使用,这里再将一下 final 关键字的使用。final 在 java 中可以看做一个“终结者”,它可以定义类定义方法定义变量

定义类的时候,该类不能被继承

定义方法的时候,该方法不能被子类覆盖(Override)

定义变量的时候,该变量只能在定义的时候初始化,后期不能做改变,即变为一个常量。

哎呀,好像没别的可说了,就这样吧,这可能是我写过的字数最少的一篇文章了 :(小乖)

算了,最后加一个示例程序吧,当然是错误的程序,包含了以上三种使用方法的错误使用报错信息 想看更多?点我点我 “Java 中 final 关键词的使用”

Java 中 static 关键字的使用

static 一词是“静态的”意思,在 Java 中,我们写主方法的时候就一直用的是 static,static 不仅可以修饰方法,也可以修饰类的属性和代码块。下面就讲一讲 static 关键字的使用:静态属性静态方法静态主方法静态代码块

想看更多?点我点我 “Java 中 static 关键字的使用”

更新 pure-highlightjs 插件,实现显示代码行号、鼠标悬浮行和被标记行高亮

博客一直用的是 Pure-Highlightjs 插件来实现代码的高亮,就是因为它可以在编辑器中可视化地插入代码,不用手动添加标签,特别方便。但是呢,不能显示行号。为了能够实现显示行号,对着 JS 熬了一天一夜总算是弄出一个比较满意的成果算是吐血之作吧 :(喷)

这个脚本有一个 Bug ,会导致“//” 注释下面的代码高亮消失,改为“/* */” 注释没问题。如果介意这个 Bug的,不要用下面的脚本来实现显示行号。博主已经改为 Prism 来实现代码高亮和显示行号,并且再次修改了插件代码,以实现适配 Prism。目前修改后的插件正在测试中,测试完毕我会更新这篇文章和 GitHub 上的插件。敬请期待!

2018-7-8 更新:v3 Prism 版已经测试完毕(使用 Prism 实现代码高亮和行号显示),该版本修复了 v2 highlightjs 版的两个 Bug。GitHub 地址:https://github.com/sunriseydy/Pure-Highlightjs/tree/Prism

v3 Prism 版下载地址:https://github.com/sunriseydy/Pure-Highlightjs/raw/Prism/Pure-Highlightjs-3.0.1.zip


插件更新项目地址:https://github.com/sunriseydy/Pure-Highlightjs

插件更新下载地址(v2 Pure-Highlightjs 版):https://github.com/sunriseydy/Pure-Highlightjs/releases

想看更多?点我点我 “更新 pure-highlightjs 插件,实现显示代码行号、鼠标悬浮行和被标记行高亮”

解决运行 Hadoop MapReduce 任务时错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster

近来在新安装了 Hadoop 后运行 HDFS 的任务没问题,但一运行 MapReduce 任务时就出错,提示“错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster”。但是在 Hadoop 的 classpath 中明明有该主类所在的包“hadoop-mapreduce-client-app-x.x.x.jar”。查阅了谷歌之后发现还要在 mapred-site.xml 文件中添加 mapreduce 程序所用到的 classpath。在此记录一下,遇到同样问题的朋友可以试一下下面的方法。 想看更多?点我点我 “解决运行 Hadoop MapReduce 任务时错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster”

WordPress 首页显示文章摘要或者内容以及个性化设置”阅读更多”

WordPress 首页和归档页面显示文章的方式有两种:内容模式(the_content)和摘要模式(the_excerpt)

内容模式:如果文章设置的有“阅读更多”的标签,即“<!--more-->”,就会显示全部的文章内容,如果有“阅读更多”的标签,则只会显示“阅读标签”前的内容,并在后面添加一个“阅读更多”的链接指向文章剩下的内容。因此,如果文章内容较多的话一定要设置“阅读更多”的标签,否则加载首页的时候会耗费更多的服务器资源(亲测 :(笑尿) )。

摘要模式:只显示文章的摘要,后面跟一个“更多”标签。如果作者没有在编写某篇文章时编辑文章摘要,那么默认截取文章的的前55个字作为摘要显示出来,并添加一个“more”标签(不是“read more”,即“阅读更多”),默认显示为“[…]”。如果作者在编辑文章时编写了文章摘要,那么在首页就只会显示作者编写的摘要,默认不添加“more”标签。因此建议在编写文章的时候顺便编写文章摘要。

我个人认为,内容模式比较适合我,因为可以自定义显示的内容和长度。

下面我来说说如何设置这两种模式以及两种模式的个性化。

想看更多?点我点我 “WordPress 首页显示文章摘要或者内容以及个性化设置”阅读更多””

基于 IDEA 开发 Hadoop 程序

安装好 Hadoop 之后我们搞 Hadoop 开发总不能只用 vim 吧 :(不高兴) 选择一个顺手的 IDE 是最好的选择,Java 的 IDE 有名的当然是 Eclipse 和 IntelliJ IDEA 了。前者是免费的,而后者呢,虽然专业版是收费的,但是有开源的社区版。对于高级一点的 Java 开发, IDEA 是首选,关于 IDEA 的 专业版,我们可以通过学生邮箱认证来免费使用(关于我们学校申请学生邮箱的文章和学生优惠信息在我之前的问文章里:喜大普奔,HAUT学生邮箱开放注册(内附一些学生优惠)Github Student Pack的申请方法(无需edu邮箱)[内含福利]

这里我已经用学生邮箱申请了一个 JetBrains 账号,凭借着这个账号就可以免费使用 JetBrains 旗下的所有 IDE,每一有效期一年,可以续期,优惠还是挺大的。好了,不打广告了,下面开始正题:基于 IDEA 开发 Hadoop 程序(多图预警 :(滑稽) )。

想看更多?点我点我 “基于 IDEA 开发 Hadoop 程序”