Linux服务器软件为什么要编译安装?

 为何服务器软件须要编译安装?一个流传很广的说法是编译安装性能更好,这是个谣言

服务器CPU事实已经被Intel垄断了,就那么几种型号,编来编去生成的机器码是同样的。Intel宣传本身的编译工具Intel C++ Compiler 比GCC编译出来性能要提高10%-20%,这就是一广告,生产环境不多用人用它,况且它还要收费。
        性能真不是问题,好比 strip 命令能够大大减少可执行文件的size,可是我装过几千遍软件,都没有见有人在安装脚本里面使用。

软件须要编译安装的真实理由有以下3点:
1)软件在编译期间须要配置,好比说nginx,须要在编译的时候指定包含哪些module,php,apache 也是同样。一样的是数据库,mysql 经过编译安装,由于要定制存储引擎(是否支持innodb .. ),而sqlite却绝少有人编译,都是直接下载二进制文件来用。
2)软件须要统一安装路径,每一个team都会本身的安装目录约定,有些喜欢装在 /opt/下面,有些喜欢装在 /usr/local/ ,编译安装能够方便的指定这些路径(configure --prefix=xxx )
3)须要最新的版本,软件仓库的版本通常都比较低,这个理由其实不充分,生产环境倾向保守,不追求最新版本,可是对于geek来讲,这多是最重要的缘由

弄明白缘由以后,就很容易判断编译仍是下载:
nginx/apache/php/mysql 编译安装
python/ruby/java 直接下载
php

相关文章
相关标签/搜索