当我们使用官方已经停止维护的旧版本 CentOS系统时,比如 CentOS5 系列,由于系统内置的官方 yum 源服务器已经不再为这些旧版本的系统提供软件下载更新支持了,所以当我们需要为这些旧版系统更新或 yum安装一些软件时就会遇到 yum 无法使用或报错的问题,通常对于yum 源无效系统是会报如下的错误:

Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/
removing mirrorlist with no valid mirrors: /var/cache/yum/base/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: base

看错误提示,像是说 yum 源的 url 地址有问题,但实际 yum 源是系统默认自带的没修改过,所以真实原因是因为官方 yum 源服务器上已经没有对应版本的文件导致的;

放弃使用此系统吗?No!

Continue reading

今天在我美国的 VPS 上部署了全新的 Let’s Encrypt 证书,用最新的 safari 和 chrome 访问已经都显示正常的绿色锁标识了,证明证书的部署没有任何问题;

但是在我的 FreeBSD 10 上用 wget 以 https 方式去下载刚刚安装证书的这台VPS上的文件时,却遇到了无法验证证书颁发机构的问题。

这引起了我的好奇;当然首先想到的是我 FreeBSD 系统当前是不信任 Let’s Encrypt 的根证书的,也就是说需要更新我的 FreeBSD 系统上默认信任根证书列表 Root CA,或者添加对 Let’s Encrypt 根CA的信任;

百度了半小时,关于 FreeBSD 安装更新 Root CA 的资料几乎没有,换google搜索,直接就在 FreeBSD的官方论坛搜到了了答案,记录一下:

FreeBSD 10 下,安装和更新 Root CA 的 package 的名称是:ca_root_nss

所以我们只需要用 pkg 工具安装或更新这个 package 就完成了对系统默认根 CA 列表的更新

pkg install ca_root_nss

如果是通过 ports 安装,其路径是: security/ca_root_nss

 

再次用wget 成功下载 https 文件

Done!

 

 

负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F5、Netscale。这里主要是学习 LVS 并对其进行了详细的总结记录。

一、负载均衡LVS基本介绍

LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用户的请求根据设置好的调度算法,智能均衡地分发到后端真正服务器(real server)上。为了避免不同机器上用户请求得到的数据不一样,需要用到了共享存储,这样保证所有用户请求的数据是一样的。

LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvirtualserver.org 现在 LVS 已经是 Linux 内核标准的一部分。使用 LVS 可以达到的技术目标是:通过 LVS 达到的负载均衡技术和 Linux 操作系统实现一个高性能高可用的 Linux 服务器集群,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的性能。LVS 是一个实现负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存储。

 

二、LVS的基本工作原理

Continue reading

偶然看到 Linux 下的 BBR 这个神器,不得不佩服 Google 技术的牛逼和对开源的无私贡献精神;简单概括 BBR 是 Google 开发的一套全新 TCP 拥堵控制算法 Bottleneck Bandwidth and RTT,相比传统的 TCP 拥堵算法可以极大提升网络近10倍左右的 TCP 传输性能,而且是已经在 Google 自家的多个业务产品如 YouTube 和数据中心传输业务上经过了长时间的考验和验证的成熟技术;现在 Google 还开源将这套算法代码免费加入到了 Linux 4.9 kernel 中,因此我们大众用户只需要简单更新 kernel 到 4.9 及以上版本;就可以享受到 BBR 所带来的福利了;

又了这么好的新技术,当然要第一时间折腾体验;因此在我自己的 VPS 上着手开干;

更新kernel

我的 VPS 版本是 CentOS 6.8,内核版本是 2.6.32-642.4.2.el6.i686 直接用系统自带的 yum 是没有最新版 4.9 的kernel 的,需要先安装 elrepo 扩展源,方法如下:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org  //导入elrepo的pgp key

rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm  //在线安装 elrepo 源

Continue reading

今天把实验室中稳定运行了2年的虚拟化环境 ESXi 5.5 主机升级了一下,因为从 VMware 官网看到现在都出 6.5 了,界面有了很大的改变,而且不再需要专门的 vSphere Client 了,直接通过 web client 就可以跨平台进行管理操作,终于可以在我的 MAC 直接管理虚拟机了,这里记录一下升级过程;

开始动手:

1,查官方升级文档

VMware的官方在线文档很不错,中文的很详细和完整,从安装部署到每一项功能的操作都有详细的说明;

VMware vSphere 6.5 在线文档中心 

使用 esxcli 命令升级主机

2,下载升级包

VMware 官方 vSphere 6.5 下载页面,需要注册 VMware 账号登录,并申请评估产品许可后才能免费下载;可以下载最新的 ESXi 安装 ISO 重新引导然后在终端通过选择 upgrade 选项来更新升级主机上的 ESXi 系统;但我不想关机后在服务器上去接键盘显示器重新引导操作;所以我选择了下载 Offline Bundle 离线升级 zip 包,通过命令行的方式进行更新,更新好后只需要重启一下 ESXi 主机就可以了;

VMware vSphere 6.5 下载页面

下载 ESXi 6.5

Continue reading

今天为自己的一台 postfix 邮件服务器安装了 TLS 证书,并启用了 START TLS 支持,为了debug TLS 是否正常工作,特意去看了一下 maillog 日志,奇怪的发现,在往 gmail 邮箱发送邮件时,postfix 报了如下的 证书验证失败的信息:

 

Jan 4 15:43:04 us-srv postfix/smtp[30800]: certificate verification failed for gmail-smtp-in.l.google.com[74.125.28.26]:25: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority

 

奇怪,gmail的服务器使用的 TLS 证书肯定是合法有效的,问题应该是我的 postfix 无法正常的验证 gmail 的证书,提示 gmail 服务器的 TLS 证书的颁发机构不可信“untrusted issuer”

Continue reading

虽然我是 Linux 和 MAC 控,但家里的台式机2个月前还是安装了上了微软最新的 windows10 系统,从 win7 免费更新升级上来的;

除了偶尔玩玩游戏,其他时间就一直开着机放在那没管没动,(本人没有经常关机的习惯,自认为电脑是服务于人的工具,因此不需要特别精花精力去服侍它)

今天突然心血来潮,感觉台式机已经好久都没关机和重启了,所以想看下台式机的 win10 系统累计开机运行了多久;类 unix 的系统都可以用 top 或者 uptime 指令就可以直接显示累计开机运行时间;但 win10 找了一圈却没找到;无奈百度一搜 “win10 开机时间” 出来的结果全部是讲查看 wind10 系统开机启动耗时的,很少介绍如何查看 win10 累计运行时间方法;

PS:使用 360,系统管家之类软件查看的不在本文讨论范围;

  • 查看 win10 系统累计运行时间
  • 系统管理器 ==> 性能 ==> CPU
  • win10 开机运行时间

    win10 开机运行时间

 

 

本来很早本站就已经配置好了CA 和nginx的https访问,只不过由于托管图片的七牛云是http外链的,导致通过https访问本站时会出现图片无法显示,以及浏览器出现安全告警提示,因此一直未能实现全站https;

今天看到我申请的七牛云 https域名绑定已经审核通过了,终于可以解决资源外链的问题了,兴奋之余就立即把本站全面启用https访问了!今天的配置过程很简单,
1,在七牛云存储插件里面修改绑定的域名地址为申请通过了HTTPS域名
2,手工逐个查找替换主题和相关插件源码中引用的所有http链接为https(这个过程比较繁琐,只能通过grep每个页面的源码来查找那些http的链接,然后逐个定位进行替换)
3,替换Gravatar评论头像源的地址为支持https的源,这里我用的是V2EX的镜像源,完美支持https
4,确定https访问全部都显示正常,证书状态也都显示绿色了之后,调整nginx的重定向规则,自动永久跳转到https地址,实现无论如何访问本站,都会自动以https方式打开!

现在使用chrome访问本站域名,无论带不带https,都会自动跳转以 https 方式打开;而且地址栏会显示一把绿色的小锁,B格瞬间高了不少啊!
https

顺便提一下,本站的 CA 是用的 startssl.com 家的免费证书,个人感觉还是非常不错好用的,除了其网站被墙,需要翻墙访问以外;

2017.08.05 更新:

因为 startssl 的根证书已经被 chrome ,firefox,safari 等主流浏览器取消信任了,所以现在使用startssl家签发的证书全部都会被浏览器提示证书不可信,目前本博客已换成了 Let’s Encrypt 的免费证书了。稍微麻烦一点的是证书有效期只有3个月,每3个月需要 renew 一次;

很早之前,为了抓包分析,在MAC上安装过 wrishark这个应用,当时的wrishark是需要依赖于X11才能运行的,所以就安装了apple官方的X11应用 XQuartz.app

今天要清理系统,将一些好久用不到的应用都删掉,可能MAC永久了的人都有点这样的洁癖吧;于是想卸载掉 wrishark 和 XQuartz.app;

由于XQuartz.app是与系统相关的X11运行环境,卸载起来没有wrishark那么容易,直接删除app,担心有注册到系统的垃圾文件残留,导致卸载不干净;另外也担心怕误删了东西破坏系统;最终还是通过google找到了一个比较官方的卸载方法;这里与大家分享一下;

Continue reading

前言

今天登录博客看到提示wordpress可以更新到4.3版本了,在线更新完毕后看了一下新版本的功能宣传视频,惊喜发现文章编辑界面可以支持 markdown 语法编写了!刚好前段时间在寻找支持 markdown 语法编写的插件,没想到现在就原生支持了,惊喜来的有点太快啊!于是编写这篇博文,主要是为了体验一下 wordpress 原生的 markdown 协作方式!

Continue reading