利用 Supervisor 的 Event & Listener 监控进程并报警 接触 Supervisor 还是学 Golang 的时候,用于把 Golang 应用的非守护进程转化为守护进程。不过这次到是要把 Supervisor 用到 Java 进程上,具体的操作和 Golang 应用的进程并无差别,毕竟 Supervisor 只要求被管理的进程是非守护进程即可。 2016-02-02 Technology #Ops #Supervisor
Supervisor 基础 SupervisorSupervisor 的官方标语是 A Process Control System 它是用 Python 实现的,不过它能管理任何非 Daemon 的进程,并会帮你把被管理的进程转成 Daemon 进程(只要你交给 Supervisor 的进程是非 daemon 的,无需在原程序中增加任何用于实现 daemon 的代码,就能实现 daemon)。 是不是感觉很方便?废话不 2016-02-02 Technology #Ops #Supervisor
rsync 命令详解 什么是 RsyncRsync(remote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件。Rsync 使用所谓的“Rsync 算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 Rsync 本来是用于替代 rcp 的一个工具,目前由rsync.samba.org维护 2016-02-01 Technology #Linux
Golang 学习笔记——变量的重声明问题 今天写 Golang 代码时遇到重复声明同名变量的问题,发现这个还是挺有意思的。 这里说的重复声明不是指这种 123x := 1x := 2fmt.Println(x) 这样的话肯定是不行的,会报错 1no new variables on left side of := 而是指像下边这样的,这个是可以正常运行的 123456789101112131415// code #1x := 1fmt 2016-01-14 Technology #Golang
Golang 学习笔记——交叉编译 & 部署 用 Golang 写了一个小功能,想部署到的服务器上。这里就简单记录一下过程吧。我现在用的 Go 的版本是 1.5.1,直接用安装包安装的,Mac OS X 平台。 交叉编译Golang 的交叉编译还是蛮方便的。首先用go env查看一下本机的 go 环境 12345678910111213141516$ go envGOARCH="amd64"GOBIN="&quo 2016-01-12 Technology #Golang
Docker 1.9 初体验 Docker 颠覆了容器技术,也将容器技术带到了新的高度。对于开发和运维人员(特别是运维),Docker 真是省了不少事儿。就我做开发的来说,比如前几天 mysql 5.7 GA 了,我想体验一下的其 Json 类型的支持,大可不必去下载安装包再在本机上安装(可能之前已经安装了较早版本的 mysql,还得考虑升级),用 docker 两个命令就可以愉快地玩耍了——这只是一个我个人使用中的小例子。D 2016-01-10 Technology #Docker
Mac OS X 下安装 GDB 用 LiteIDE 可以方便调试 Go 程序,它是用的 GDB 调试的,如果没有安装 GDB 的话,运行“调试”就会提示: 1211:21:45 GdbDebugger: /usr/local/bin/gdb was not found on system PATH (hint: is GDB installed?)11:21:45 LiteDebug: Failed to start debug 2016-01-07 Technology #Golang #macOS #GDB #IDE
Golang 学习笔记(四)——复合类型、函数 Go 语言中的复合类型包括:数组(array)、切片(slice)、哈希表(map)、结构体(struct)。函数是 Go 语言里面的核心设计。这里结合网上的一些资料和自己的学习理解,记录一下,加深理解。 说复合类型之前先说一下指针,这样复合类型里边的一些概念就好理解了。 指针Go 保留了指针,*T表示 T 对应的指针类型,如果包含包名, 则应该是*.T。代表指针类型的符号*总是和类型放在一起,而 2016-01-06 Technology #Golang
Golang 学习笔记(三)——变量常量 基础类型 目录: 类型列表 标识符 & 关键字 变量 常量 布尔类型 bool 数值类型 字符串类型 错误类型型 一些技巧(分组声明、枚举、运算符) 2016-01-05 Technology #Golang
Golang 学习笔记(二)——命令基础 go buildgo build命令用于编译我们指定的源码文件或代码包以及它们的依赖包。如果我们在执行go build命令时不后跟任何代码包,那么命令将试图编译当前目录所对应的代码包。 2016-01-04 Technology #Golang
Golang 学习笔记(一)——安装、环境 为什么学习 Go?我目前的主要开发语言是 Java。其实在 Java7 以后,使用 Java 开始起来已经是比较顺手的,特别是现在我使用的 Java8 中引入的 Lambda 表达式,更是让其开发效率有了明显的提升。 我也了解过 Python 一段时间,不过主要用它就是做 spider 或为了替代一部分 shell 脚本。用 Python 的时候深深的被它的效率所吸引,并曾准备了解一下 Flask 2016-01-03 Technology #Golang
在 CentOS 7 上安装、配置 Kerberos 公司有个新项目要部署在新的服务器上,几台服务器之间要用 Kerberos 来做身份验证,并由我来安装和配置。期间翻阅了不少网上的文章,也遇到了几个坑,故总结了一下其安装配置的过程,以作笔记。 Kerberos 简介:它是一个身份验证协议,提供一个在客户端跟服务器端之间或者服务器与服务器之间的身份验证机制 (并且是相互的身份验证机制)。 环境配置: OS 版本: CentOS 7Kerberos 2016-01-02 Technology #Ops #Kerberos #Linux
Hexo 的一些额外配置 和 Hexo 相关的一些小配置、小功能就都放这里了。目录: 域名 & DNS README.md 404 页面 评论系统 图床 百度统计 apple-touch-icon 2016-01-01 #Hexo #Blog
使用 Hexo 和 Github Pages 搭建一个独立博客 不积跬步,无以至千里;不积小流,无以成江海。 摘要:这是一篇结合我搭建本博客的过程,总结出的使用 Hexo 和 Github Pages 搭建独立博客的教程,既是给自己的“备忘录”,也希望能够给想拥有自己独立博客的朋友一点帮助。 2016-01-01 #Hexo #Blog