当前位置 主页 > 服务器问题 > Linux/apache问题 >

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

    栏目:Linux/apache问题 时间:2018-11-20 13:49

    这篇文章主要介绍了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 直接下载