Category Archives: Tools

Nginx重定向&静动资源分离

1. 域名重写

我们可以在同一个server中绑定域名www.example.com和example.com两个域名:

但是这样对我们的SEO非常不利,我们需要使用301(rewrite)将一个域名重定向到另一个,比如将example重定向到www.example.com。这里要依赖于正则表达式的分组(使用$1来引用分组)。

Continue reading

Posted in Ops, Tools.

在Windows下构建Docker开发环境

Docker提供了非常便利的环境可迁移性。不过Docker引擎使用了Linux专有的内核特性,在Windows下运行Docker看似是十分困难的事情。Docker官方为我们提供了Boot2Docker这个小工具,Boot2Docker会使用VirtualBox来创建一个包含Docker的Linux操作系统的虚拟机。我们执行的docker命令会运行在这个虚拟机实例中,这样我们的开发环境能也能快速迁移到正式的生产环境中。 Continue reading

Posted in Ops, Tools, Virtualization.

Gitbucket—快速建立自己的Github

GitBucket是一个用Scala语言编写的类似Github的应用,界面非常相似。它非常容易安装–容易到你只需要把它的war文件扔到tomcat中,然后启动tomcat就直接可以访问了。或者直接java执行它就可以运行了! Continue reading

Posted in Ops, Tools.

Python Reading List (2)

最近工作又要用到Python了,无奈有段时日没用Python写过东西了,有些生疏。所以借五一把收藏的Python博文翻出来看一下,温故而知新。 Continue reading

Posted in Dev, Python|R, Tools.

Gitosis配置手记

Git是目前世界上最先进的分布式版本控制系统。大名鼎鼎的GitHub就是一个免费托管开源代码的远程仓库。但既不想公开源代码,又舍不得给GitHub交保护费,那需要我们自己搭建一台Git服务器作为私有仓库使用。下面我们使用gitosis(https://github.com/res0nat0r/gitosis)这个服务器来配置这个私有仓库。简单地说,Gitosis 就是一套用来管理 authorized_keys文件和实现简单连接限制的脚本,它是Python开发的,所以要保证Python和Python setuptools提前安装好。
apt-get install python-setuptools Continue reading

Posted in Ops, Tools.

使用iRedMail配置邮件服务器

iRedMail(http://www.iredmail.com/) 是一个基于 Linux/BSD 系统的零成本、功能完备、成熟的邮件服务器解决方案。iRedMail 是一个开源、免费的项目,是企业级邮件服务的一个不错的选择。iRedMail提供了全套的解决方案,所以使用iRedMail时不需要提前准备任何服务。在使用iRedMail前,我们需要了解一些概念:
MUA(邮件用户代理)就是我们常用的thunderbird, outlook等应用程序,也称为电子邮件客户端程序。通过 MUA 程序,我们可以发送邮件,也可以把接收到的邮件保存在客户端的邮箱中。这两种操作属于不同的两个进程。MUA通过POP(邮局协议)和STMP(简单邮件传输协议)从电子邮件服务器发送或接收消息。
而MTA(邮件传送代理) 和MDA(邮件分发代理) 是电子邮件服务器的两个独立进程MUA向电子邮件服务器发送一个电子邮件,MTA会判断这个邮件的地址是否在本服务器上。如果是通过MDA发送到目的邮箱MUA.如果不是MTA就把这个邮件传送到包含目的邮箱列表的电子邮件服务器。常用的MTA是sendmail,postfix和qmail,而MDA为dovecot。手动搭建MTA+MDA可以参考:How To Set Up a Postfix E-Mail Server with Dovecot
除了MTA和MDA外,邮件防毒、垃圾邮件扫描等组件也是不可缺少的。更多的信息可以参考:
企业开源电子邮件系统安全保障实战精要: 第 1 部分,原理及 Sendmail、Qmail 安全防护实战
企业开源电子邮件系统安全保障实战精要: 第 2 部分,Postfix 安全防护实战及垃圾邮件防范 Continue reading

Posted in Ops, Tools.

OpenTSDB部署手记

OpenTSDB是一个基于HBase上的实时监控信息收集和展示平台。它支持秒级数据采集metrics,使用HBase进行永久存储,可以做容量规划,并很容易的接入到现有的监控系统里。OpenTSDB可以从大规模的设备中获取相应的metrics并进行存储、索引以及服务,从而使得这些数据更容易让人理解,如web化,图形化等。 Continue reading

Posted in BigData, HBase|Hive, NoSQL, Tools.

Docker & Weave实现跨主机容器互联

Docker是一个开源的应用容器引擎,本身功能已经逐步满足我们日常要求,但是一直对管理Docker容器之间的交互和跨主机集群的网络配置一直空缺,需要依赖外部工具来实现。最近看了一篇infoQ的文章:5个解决Docker网络问题的项目,概述了目前主流的五个工具:Weave、Kubernetes、CoreOS, Flannel、Pipework以及SocketPlane。其中Weave是由Zett.io公司开发的,它能够创建一个虚拟网络,用于连接部署在多台主机上的Docker容器,这样容器就像被接入了同一个网络交换机,那些使用网络的应用程序不必去配置端口映射和链接等信息。外部设备能够访问Weave网络上的应用程序容器所提供的服务,同时已有的内部系统也能够暴露到应用程序容器上。Weave能够穿透防火墙并运行在部分连接的网络上,另外,Weave的通信支持加密,所以用户可以从一个不受信任的网络连接到主机。下面我们实际来试一试吧。 Continue reading

Posted in Ops, Tools, Virtualization.

使用Keepalived实现Nginx高可用性

上篇keepalived+MySQL双主实现高可用性介绍了使用Keepalived配置MySQL透明高可用的方法,本文趁热打铁,实现Nginx+Keepalived的高可用性架构,相比MySQL的高可用更加简单。Nginx的配置方法可以参考Nginx基本服务与upstream配置详解,并使用里面的环境。其中debugo01和debugo02作为负载均衡,而debugo03和debugo04作为web server。 Continue reading

Posted in Ops, Tools.

Squid快速配置攻略

Squid是Linux下一个缓存Internet数据的代理服务器软件,它接收用户的下载申请并自动处理所下载的数据。另外,它还可以作为一个cache服务器来加速访问。关于cache,详细的信息可以参考《Squid权威指南》Continue reading

Posted in Ops, Tools.