Category Archives: Ops

Nginx重定向&静动资源分离

1. 域名重写

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

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

Continue reading

Posted in Ops, Tools.

Docker Compose—简化复杂应用的利器

Compose是用于定义和运行复杂Docker应用的工具。你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成。 Continue reading

Posted in Ops, Virtualization.

在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.

Docker 1.5 – 容器运行监控和只读容器

Docker 1.5正式版今年2月初发布了,在这个版本中Docker加入很多期望已久的新功能,其中只读容器和容器运行状态监控非常实用,让我们来看看吧!

升级到1.5

我的操作系统是CentOS 6.6,首先通过epel源来安装docker,里面附带了很多docker相关的启动脚本。这个docker的版本是1.4.1

OK~
配置监听端口

只读容器

在1.5版本中可以使用–read-only参数启动一个容器,使它的文件系统“只读”;这个功能可以让你为容器中运行的应用限定特定的文件写入路径;此功能结合“数据卷”(volumes)使用可以确保容器中运行的程序只能将数据写入到事先指定的路径下。 Continue reading

Posted in Ops, Virtualization.