文章目录
  1. 1. 依赖问题和一堆编译参数
  2. 2. 软件配置
  3. 3. 我喜欢的软件部署方式

前天将公司的一台服务器装成了 ubuntu server ,然后就开始部署环境了。自从用上了 Fabric 后将相关的安装脚本写在一起,对于部署来说已经方便很多了。但部署这个环境还是让我费了很大的功夫。

依赖问题和一堆编译参数

安装一个软件的时候依赖比较多,如果用 apt-get 方式安装的还好,自己编译的话就比较惨了,各种依赖问题和一堆的编译参数。编译参数的作用写的也不是很明白,很多时候都需要自己一个个试出来。而且还会遇到一些奇怪的编译失败的情况。可以想像如果没有类似 google 、百度之类的搜索引擎的话,基本上安装工作就无法顺利完成。

软件配置

linux的软件配置大都依赖配置文件,对于配置文件我并不反感,但很不喜欢一些配置文件的说明写的不清不楚,结构混乱,没有约定的配置。我想大多数人都喜欢开箱即用的方式,不需要太多繁琐的工作就可以使软件运行起来。这两天光是配置个ftp服务器就让老夫十分的沮丧,各种配置,各种530,太不爽了。

配置文件的格式也很要命,有些格式写出来的配置文件会非常长,像xml这类。维护起来会比较吃力。

我喜欢的软件部署方式

曾经研究分布式文件系统的时候接触了一下golang写的weedfs,给我印象比较深的就是它的运行实现是太简单了。只需要简单的几个参数就能正常的执行起来,而且由于golang是静态编译的,所以没这么多的依赖问题。大致上满足下面几条的软件在配置在安装部署的时候能节省很多时间,让新手不容易望而却步。

  1. 提供各平台的二进制包,或着安装文件,或详细的编译文档说明。
  2. 有约定的配置,提供一个最小化的配置,以尽可能简单的方式运行。
  3. 提供配置文件的example,包括各种不同的配置方案的
  4. 提供配置文件的详细说明文档,包括每个配置项的说明
  5. 提供debug模式,或详细的日志输出方便除错
  6. 绿色安装,所有文件包括配置文件都在软件目录中,特殊情况除外。
  7. 提供web ui或着gui之类的图形配置界面
文章目录
  1. 1. 依赖问题和一堆编译参数
  2. 2. 软件配置
  3. 3. 我喜欢的软件部署方式