Pelican和Github构建静态博客

缘起 最近因为要换工作了,时间比较空闲,所以打算好好整理下自己的博客。想来博客写的越来越少也挺惭愧,好多东西都只停留在笔记的草稿阶段,没有写成博客,后续慢慢整理出来。回到正题,我开博客伊始一直用wordpress(下文简称WP),有点自然不必多说,成熟稳定,功能全面,主题丰富;但是我最近渐渐在思考我真的需要它么,我的日常操作不过是当我的笔记草稿足以成型为一篇博客,我把它粘贴到WP的编辑框,选择下分类,打上标签,点击发布,仅此而已;为此还安装插件让WP支持直接在编辑器里贴mar

Ansible状态管理

简介 就像所有服务器批量管理工具(puppet有DSL,salt有state)一样,ansible也有自己的状态管理组件,叫做playbook。所有这些类似的概念的东西都是让你用一种更简单的语言(而不是用脚本)来描述你的服务应该是什么样子的,然后这些工具根据你的描述将服务器变成你希望的样子。有了这么一层抽象后,服务部署和配置就变得更加的跨平台了,也提高了可复用性。但请注意,playbook不是万能的,因为playbook底层是在用模块来完成任务,因为模块有限,所以很多时候还是

OpenLDAP构建统一认证之管理工具

自带工具 注意: 如果服务器的ssl证书是自签名的,那么在客户端的ldap.conf文件加入一行TLS_REQCERT never,否则认证会不通过。 安装 ubuntu执行: apt-get install -y ldap-utils centos执行: yum install -y openldap-clients 使用 ldapsearch ldapsearch,搜索目录树,示例如下: ldapsearch -v -x -H ldaps://example.

OpenLDAP构建统一认证之安装配置

安装OpenLDAP ubuntu 确保本机有符合FQDN的主机名,因为安装程序会根据主机名提取域来作为baseDN apt-get install slapd 安装过程中会提示设置管理员密码 centos yum install slapd 配置OpenLDAP slapd.conf和cn=config 配置slapd服务有两种方式: slapd.conf是传统方式,修改配置文件然后重启服务,centos默认采用这种方式。 cn=config是新的配置

OpenLDAP构建统一认证之基础概念

目录服务与关系数据库 目录数据库系统和关系数据库系统都是用来保存数据的,但是他们有两个主要的不同点: 数据结构,目录服务只有树形结构,不像关系数据库有复杂的数据结构。 查询速度与写入速度,目录服务适合查询,不适合写入。 基本概念 在浏览LDAP相关文档时经常会遇见一些概念,下面是常见概念的简单解释: DIT,目录信息树,近似相当于一个表 Entry,条目,也叫记录项 DN,是无歧义标识一个条目的名字,如cn=alair,dc=account,dc=xdays,dc=in

Docker打造开发环境

背景 我一直想要打造这样一个干净且高效的开发环境:干净指与开发隔离,不污染物理机,我已经讨厌重装系统了;高效是指自动化,我需要每次都安装一对依赖,修改一些配置文件等等繁琐的操作,而且自动化过程要快。最开始自己用virtualbox新建虚拟机然后用其自带的克隆功能复制出来;后来用vagrant配合一些配置工具能达到不错的效果,一个文件即可生成开发环境,这应该是主流了,但是这种方式有个缺点就是太慢;现在我自己用docker+supervisor摸索了一个更快的方案。 组件 su

虚拟机管理工具vagrant

简介 vagrant是一个基于业界成熟的虚拟化技术打造可配置,可重新生成和可移植的工作环境的工具,一个配置文件完成所有状态定义。 特性 简单,一个配置文件搞定 可通过多种方式自定义虚拟机配置,如shell脚本,ansible等 网络配置,支持私有,共有网络配置 目录同步,保持guest和host文件同步,默认将当前目录映射到虚拟机的/vagrant下 多虚拟机支持,构建自己的集群测试环境 多中虚拟技术支持,如virtualbox,vmware,AWS和docker 插件机制

Zabbix监控Hadoop

基础概念 JMX JMX就是Java Management Extentions,为Java程序提供管理功能的框架。看了几个介绍,感觉这个说明比较通俗易懂。一句话说就是JMX为你提供了一个通过特定协议管理应用程序的方案,而我们这里主要用其查询配置和监控数据的功能。 External Check 通过主动调用自定义脚本来获取监控数据,脚本的输出即为该监控项的监控值,这种方式有更强的定制化。因为下午在这里踩到了坑,走了不少弯路,所以这里要对配置方法做个特殊说明。配置监控项时选择e

IPython自动重新加载模块

问题 调试模块的时候需要不断修改代码,只有重新加载模块才可以看修改效果,而重新加载的方法有reload内置方法和重新运行解释器,这样都不是很方便,我希望修改代码能立刻生效。 解决 IPython有个autoreload扩展,只需要开启扩展并定义扩展的模式即可。 开启扩展 默认的配置位于\~/.config/ipython/profile_default/ipython_config.py,编辑该文件新增: c.InteractiveShellApp.extensions =

Docker初识

简介 如官方文档所说,docker是一个自动将应用打包成轻量可移植自包涵的容器的引擎。开发者构建的应用可以一次构建全平台运行,包括本地开发机,生产环境,虚拟机和云等。目前处于开发阶段,不可用于生产环境。在你启动一条命令时docker会调用lcx等其他一个组建为这条命令构建一个container,包含了进程运行的所有资源。但是官方文档以说明,docker处于开发阶段目前还不能用于生产环境。 特性 Go语言编写 基于lxc的进程级隔离,而lxc基于cgroup,轻量级 通过cg