自建 PowerDNS 智能解析服务器

最近我越来越喜欢自建一些东西,比如 GitLab。今天我又把 DNS 服务器改成自建的了,分享一下经验(PS:现在为了实现根域名 CDN,我用换成了 Route 53):

本文的自建 DNS 是指的是权威 DNS,即给自己的域名配置的 DNS,而非在客户端配置的缓存 DNS。

优缺点

首先,我先说用自建 DNS 服务器的致命坏处

  1. 如果那天自己的服务器挂了,整个域名相关服务都会挂,即使你邮件收信服务器是用的是第三方的,你也不能收信了
  2. 基本上必须是开放端口,并有固定 IP(而且最好还需要至少两个 IP) 的 VPS(当然也可以是两个主机,只需要保证配置文件完全相同即可),对于服务提供商要求高
  3. 个人一般关于 DNS 运维经验不足,容易导致配置错误
  4. 第三方 DNS 提供商基本都有 DDOS 防御,而你的服务器可不一定有,攻击者可以直接通过 L7 DNS Flood 攻击掉你的服务器,然后又回到第一个问题上了

使用自建 DNS 服务器优点:

继续阅读“自建 PowerDNS 智能解析服务器”

在自己服务器上安装 GitLab,代替 GitHub!

我的服务器上部署的代码、配置文件等内容大多是使用 Git 进行版本控制。为了能够使用、配置起来更方便,通常使用一整套系统去管理。很显然,在一些代码和配置文件里会有一些机密的内容,如一些密钥什么的,所以必须不能公开。GitHub.com 虽然提供了 Private 存放处功能,但是由于此功能是付费的,而且对于 Organization 的 Plan 还是极贵,并不十分划算;就算能有免费的 Private 存放处,把自己的很多重要的密钥放在第三方服务器上还是很不安全,所以能够 Host 在自己的主机上的,并且能够替代 GitHub.com 的软件/服务就是不错的选择。

本文将讲一下我在自己服务器上安装 GitLab 遇到的坑,进阶使用,包括使用 .gitlab-ci.yml 文件实现自动 Build,实时同步镜像到 GitHub。

继续阅读“在自己服务器上安装 GitLab,代替 GitHub!”

本网站底层的具体配置和优化

2017 年 6 月更新:时隔一年,最新的底层优化请见本站备案后的各种优化及底层具体配置

维护这个网站已经有一段时间了,是时候谈一谈这个网站的具体细节了。

我有多个网站,好几个不同的域名,不过这篇文章就只从 guozeyu.com 这一个网站做具体的介绍。跳过域名注册和 DNS 解析,直接从网站 Web 服务用的主机开始。 继续阅读“本网站底层的具体配置和优化”

CloudXNS、Route 53、阿里云解析等 DNS 服务的全面对比

DNS(域名系统)是因特网的一项服务。它能够将域名指向一个 IP(服务器),这样你就可以通过域名来访问一个网站。能够通过域名访问的网站,都需要一个 DNS 服务器。这里指的是给站长的域名使用的权威 DNS 而并非缓存 DNS。

本文包括 CloudXNS、Route 53、Cloudflare、Google Cloud DNS、Rage4 以及阿里云解析的全面对比。

所有 DNS 测评一览

继续阅读“CloudXNS、Route 53、阿里云解析等 DNS 服务的全面对比”

新开发的网页软件:“猜猜我说了什么”

最近本人新开发了一个网页软件,中文名叫 “猜猜我说了什么”。它允许你输入一段话,等待完成计算后,分享当前页面给别人,别人就可以猜你刚才输入的内容。别人只能知道是猜对还是猜错,没有介于两者之间的提示。

它是什么原理?其实就是在本地通过某种不可逆的算法对你所输入的内容进行加密,然后将算出来的一段密码放在网址上。由于不可逆,所以几乎是没有可能对其进行解密的,只能通过猜或者是暴力破解(几乎不可能做到)的方法。具体的算法和实现是这样的 继续阅读“新开发的网页软件:“猜猜我说了什么””

本站使用 PHP7.0

今天,再次将整个服务器迁移了,这一次迁移到了更加开放的 Vultr。迁移的同时,顺便把 PHP 升级到了 PHP7.0,我升级 7.0 的最大动力就是它强大的运算性能,实际使用下来,大概是 5.6 版本的 2~3 倍。Vultr 价格低廉,而且运算性能超越了众多主机提供商,有日本、欧洲和美国等地服务器。

同样的运行实例,只有 PHP 版本不同,计算速度对比:

iOS 9.3 Safari 点击不再有延迟

iOS 9.3 在这周发布了,有一个很不起眼的改进:Safari 针对适配移动版的网页去掉了点击时的 300ms 延迟。对于普通用户来说,会发现浏览网页的速度似乎变快了。对于网页开发者来说,不再需要引入类似 FastClick 这样的 Hack 了。目前测试来看,双击放大的功能仍然可用,但是必须点击链接之外的地方才有效(否则就直接进入链接了)。早在去年,WebKit 就移除了这个延迟,在最新的 iOS 9.3 已经对 Safari 的 WebKit 内核做了更新。

谈谈视频在互联网上的流播

视频在互联网上分发,最普遍的方式,是通过万维网的方式分发——用户通过直接输入网页链接/搜索引擎搜索/其它网站的链接,或者通过任何阅读器(包括 Podcasts 客户端在内)播放。这样做完全不局限在任何平台,但是意味着你得为你的视频流量付费,不过咱们先不谈这方面的事(这只是最理想的方案)。

首先,先从视频的格式来说。想要让用户播放出视频,你需要使用用户能够解码的格式。你可能希望有一种自由的格式,在所有平台上都能够播放,可事实并不存在这样的一种格式。 继续阅读“谈谈视频在互联网上的流播”

佳能发布新 APS-C 机型 EOS 80D,强悍视频录制、全新的对焦系统和 CMOS

80D 就是 70D 的升级版,在 APS-C 中算中高端,目前仅次于 7D Mark II。这次升级亮点不少,而且视频录制也成为 EOS 系列中最好的之一。不少原先在 7D Mark II 上独有的视频拍摄特性,都被添加在了 1DX Mark II 和 80D 上。其次这次升级还使用了全新的 45 点全十字对焦和 2420 万 CMOS。

在亚马逊上购买正品

视频录制

并没有什么全新的高级功能,都是以前就有的,或者是软件上的小升级。 继续阅读“佳能发布新 APS-C 机型 EOS 80D,强悍视频录制、全新的对焦系统和 CMOS”

本站将新增 WEBM 视频格式支持

为了给大家带来更好的体验,以及跟进时代的步伐,终于在 2016 年打算做对 WEBM 视频格式的支持(并且我还会逐渐的让以前的视频也支持 WEBM),也就是说现在同时支持 MP4 和 WEBM。为什么对这个支持来的这么晚?因为 WEBM 视频格式目前还存在很多问题,尤其是在编码速度上,虽然目前也存在这个问题,但是我忍了。

为什么用 WEBM?

我只听说过 MP4,WEBM 是什么鬼,好用吗?

WEBM 是一个完全开源且自由免费的视频编码解决方案,由 Google 推出,主要用于网络视频。目前 YouTube 已经在生产环境中部署了 WEBM。关于 WEBM 的质量,我可以跟你说:不比 MP4 差,甚至超越了 MP4(MP4 包含各种专利等,WEBM 能做到这样已经非常棒了)。

要用就用最新的,本站直接使用 VP9 作为视频编码,分辨率和码率与 MP4 完全一样~

附:压制参数

ffmpeg -i <source> -c:v libvpx-vp9 -pass 1 -b:v 1000K -threads 8 -speed 4 
  -tile-columns 6 -frame-parallel 1 -b:a 64k
  -ac 1 -s 960x540 -g 150 -r 30000/1001
  -an -f webm /dev/null

ffmpeg -i <source> -c:v libvpx-vp9 -pass 2 -b:v 1000K -threads 8 -speed 1 
  -tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 
  -ac 1 -s 960x540 -g 150 -r 30000/1001
  -c:a libopus -b:a 64k -f webm out.webm

本站使用了 KeyCDN 作为前端加速,代替 CloudFlare

注:2016 年五月中旬,服务器已经不在 CloudFlare/KeyCDN 上了。

由于之前在 CloudFlare 上感觉起来还是比较慢。要想加速,需要开启 CloudFlare 的 Cache Everything,这样存在很多问题,比如过滤 Cookie,而且 CloudFlare 在中国速度也不佳,于是现在换用了 KeyCDN。

KeyCDN 会缓存页面上所有的内容,包括 HTML 页面。缓存周期为 1 周,自动使用 Let’s Encrypt 的 SSL。在中国有香港节点。我已经在后台配置好,当有以下操作时,清除该页缓存和首页缓存:

  • 文章/页面内容更新/发布
  • 文章/页面被删除

现在页面的速度,堪称完美!

你或许也想尝试这样做?现在只需要安装我的插件并按照说明对其进行配置即可。

本文讨论的内容在《敲开网络世界的大门》中有更详细的介绍。

Purify Blocker,广告拦截插件——iOS 9 软件推荐

相信不少人都知道桌面浏览器上的广告拦截插件,这些插件能够移除所有网站上绝大多数的广告。同时因为不用加载那些广告,还能加快整个页面的加载速度,并且还能够省电。

但是并不是所有人都知道广告拦截插件在移动设备上也是有的,而且在移动设备上,有一个广告拦截插件更重要。广告拦截插件由于屏蔽了广告,就可以大大的减少加载一个网页所需要下载的内容。这样不仅能提高加载速度,还能够节省手机流量,在移动设备这种较慢的网络情况下,这些提升尤为明显。除此之外,因为不需要加载一些统计脚本,能节省手机电量。所以我认为,在手机上,这种软件是必备的。

App Store 下载

现如今,iOS 9 的 Safari 引入了内容拦截器,它提供了一个接口,使在 iOS 设备上也能有广告拦截插件。虽然苹果官方提供了这个接口,但是必须通过第三方软件来实现。

继续阅读“Purify Blocker,广告拦截插件——iOS 9 软件推荐”

建立自动负载均衡与服务器集群并存的博客系统

注:2016 年五月中旬,服务器已经不再是这样了。

2016-01-30 这一天,TLO XYZ 的博客系统(包括 guozeyu.com)整个迁移到了 “一个” 新的服务器,准确的说,服务器已经不止一个,而是许多个服务器负载均衡。

我们的服务器选用的是 Amazon 提供的的服务器,使用多个 EC2 (环境:PHP+Apache)服务器和一个 RDS(环境:MySQL)。EC2 上的程序代码可以直接使用 Git 部署,方便至极。我们使用的博客系统软件是 WordPress,这个软件分别放到了多个 EC2 上,配置都完全相同(每次 Git Push 时都会同步)。每一个 EC2 都使用同一个 RDS 作为数据库,这样可以保证发布文章等操作都是实时的。

继续阅读“建立自动负载均衡与服务器集群并存的博客系统”

WordPress 上的几个推荐安装的插件

EWWW Image Optimizer

无损及有损压缩 JPEG 和 PNG 图像,支持压缩已有的图像,可以加快访问者加载图片的速度。同时支持 JPEG 的渐进式加载。正常情况下,网速低时,图片是一点点从上往下加载,而使用渐进式加载,则是先加载这个图片的低分辨率版本,然后逐渐变得清晰。我已经成为这个插件的付费用户,能够进一步有损压缩 PNG 和 JPEG 格式图片、降低服务器 CPU 占用(否则每上传一张图片,CPU 都消耗很多)。不过最近使用了 Cloudflare 的 Polish 功能,就没有再在服务器上安装同类软件了。

Autoptimize

这个插件能够自动的合并 CSS 和 JS,并对其压缩,非常 继续阅读“WordPress 上的几个推荐安装的插件”

Piwik 与 WordPress 配合使用,建立强大统计系统

在配合使用之前,首先需要安装 Piwik。前往 Piwik 官网下载软件包,然后解压到服务器上。当然,如果你的服务器上支持一键安装 Piwik 那更好。需要 PHP 环境和 MySQL 数据库。安装只需要根据步骤一步步来就好了。最好和 WordPress 安装在一个主机下,这样更方便配合使用。

地理位置功能

前往设置中的地理位置页面,在页面左下角选择下载一个 GeoIP 数据库。下载了之后,你就可以使用 GeoIP (Php) 了,然而这个比较慢。我推荐你使用 GeoIP (PECL),如果你使用的是 cPanel,那么你可以直接在 Select PHP Version 页面中开启 GeoIP 模 继续阅读“Piwik 与 WordPress 配合使用,建立强大统计系统”

TL-PA500 电力猫,部署无线局域网集群

电力猫就是一个能够让家中的电线代替网线,实现拿电缆代替网线的数据传输,解决家中没有布全网线的问题。当然,如果有网线,那就不需要它了。

TL-PA500 标称是 500M 的电力适配器,由于家中网线并没有覆盖到所有的位置,于是就买了 3 个。我有 3 个 AirPort 基站,其中一个(AirPort Express)放在了弱电箱中,直接接入网线,并作拨号连接,并接出一个网线连接电力猫。然后在另两个位置接入电力猫,并连上另外两个 AirPort 基站。实现三个 AirPort 基站有线连接,让全家 Wi-Fi 信号满格。

AirPort 集群截图

其实,在 TL 继续阅读“TL-PA500 电力猫,部署无线局域网集群”

静态网页的优与劣

静态网页,即纯 HTML 的网页,博客中的每一个页面均为一个 .html 文件。

首先这里存在一个误区,一些人认为静态网页是不能很方便更新的,实际上静态网页是可以很方便更新的,借助静态网页生成器,更新它并不复杂。当它需要更新一篇文章时,需要重新生成主页和这篇文章,还好这一切一般不到一分钟就能完成。

如果博客要使用动态网页呢?这样做当然是可以的,现在有很多成熟的软件,比如 WordPress,运行在 PHP 环境中,需要 MySQL 数据库。每次访问网页时,需要服务器读取数据库的内容(或从缓存中读取),再处理成有一定样式的 HTML 返回给用户。当然动态网页能够实现一切静态网页的功能,当然还能有更多的功能,比如图片上传,定时发布等。

既然动态网页能实现一切静态网页的功能,那么静态网页有什么优势呢?

继续阅读“静态网页的优与劣”

我的所有网站迎来年末更新

年末,我将我的所有网站迁移到了一个性能还可以的香港服务器上,同时安装了截止到目前最新的 WordPress、Piwik 和 MediaWiki,都开启了 PHP 缓存。

ZE3kr 网站使用 WordPress

最终,我还是选择使用 WordPress 作为博客管理系统(CMS),因为 WordPress 有很多插件、接口,还有移动客户端,使用起来非常方便。从此我的网站也不再是静态网页,而是动态的了。

除此之外,ZE3kr 网站不再使用 Vimeo 作为视频播放器,而是直接使用 WordPress 媒体播放器,视频资源放在自己的服务器上(540p 1000kbps)。

不过很可惜,目前不再提供自动 Exif 信息和 GPS 信息,在 2016 年重新添加了对 exif 的支持。

使用 WordPress 后的新特技

现在页面上有下雪彩蛋,直到 1 月 4 日前都一直会 “下雪”。

现在在首页/分类页中可以直接播放视频、查看文章,而不需要点开文章(长篇幅的文章除外)。

全面 HTTPS 时代即将到来

HTTPS 是一种网络安全传输协议,网址以 https:// 开头,就代表是使用了这个协议。

苹果最新发布的移动端操作系统 iOS 9,除了带来了许多新的功能之外,还提升了整个系统安全性,正如iOS 开发者资源所说

If you’re developing a new app, you should use HTTPS exclusively. If you have an existing app, you should use HTTPS as much as you can right now, and create a plan for migrating the rest of your app as soon as possible. In addition, your communication through higher-level APIs needs to be encrypted using TLS version 1.2 with forward secrecy. If you try to make a connection that doesn’t follow this requirement, an error is thrown.

如果你正在开发一个新的程序,你仅应该使用 HTTPS。如果你已经有一个程序,你现在就应该尽可能多的使用 HTTPS,并准备好对剩下部分迁移的计划。另外,如果你的程序使用更高层级的 API 进行通信,则需要使用 TLS 1.2 或以上的版本。如果你试图建立一个不遵守这些需求的通信,就会引发错误。

没错,从 iOS 9 开始,将逐步禁用非 HTTPS 请求!

即使现 继续阅读“全面 HTTPS 时代即将到来”

ZE3kr 微信订阅号建成!

ZE3kr 是郭泽宇用于发布内容的作者名,发布的内容汇集以科技、摄影为主的原创精选文章、视频、图片、短文和 App 推荐。为了方便在微信的用户能够获取到网站上的最新消息,现成立微信号。

微信号主要转发网站上的文章,但是为了在微信上能够有更好的体验(比如查看文章中的超链接、引用、视频等高级内容),你可以点击每一片文章左下角的阅读原文。

关注此微信订阅号

打开微信扫一扫,即可关注此订阅号,微信号 ZE3kr_service

DELL P2415Q 4K 显示器推荐

4K,23.8 英寸的屏幕。具有 Retina 效果、出色的色彩还原,清晰度堪比印刷品。最近买了一个,效果不错。

在亚马逊上购买正品

什么是 4K

4K 屏幕通常是指分辨率为 1080p 的 4 倍(即宽和高分别是两倍)的显示器。论 4K 屏幕和 1080p 清晰度的差别,就相当于 iPhone 4 与其上一代的差别,用过的人都知道,iPhone 4 的 Retina 屏幕与非 Retina 屏幕差距十分明显。特别是在显示文字是变得更加清晰、锐利。然而由于显示器要比手机大很多,如果大于 19 英寸的显示器也要做到 Retina 的效果,那就需要 4K 的超高分辨率。
继续阅读“DELL P2415Q 4K 显示器推荐”

好搜所做的恶心事

现在的搜索引擎都在尝试转码桌面站点,把网页内容重新排版。百度等搜索引擎都在尝试做这个,目的是让用户有 “一致化” 的体验。但是如果有一家商业公司将重新排版网页用作商业目的,这可就不好了。

我认为这种一致化有好有坏,不能下结论。但是你把网页内容重新排版后还加广告,那不就相当于是商业使用了么?好搜就是光明正大的做这个无视著作权的事情,在我创作的内容中加入它们的广告,于是它们便可以从中获利。但是它们 继续阅读“好搜所做的恶心事”