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 直接下载

 

<参考:来自网络…>

时间: 2024-10-18 07:52:55

Linux中服务器软件为什么需要编译安装的相关文章

Linux 邮件服务器原理介绍,编译安装Postfix实现本地的邮件服务。

一.邮件服务器基本的工作原理 用户(MUA)通过SMTP协议将邮件发送到服务器(MTA),服务器分解发现如果是本地的邮件传输则通过lmtp来传送,如果是远程邮件将调用本地的客户端使用SMTP协议向对方服务器传送. 当对方的服务器接收到邮件之后,发现如果不是本机所负责的域,则将邮件交给本机的邮件客户端,根据邮件目标域请求DNS解析,将邮件发送到目标服务器,或者丢至下一跳此过程称为邮件中继,如果发现是本机负责区域内的用户,则SMTPD将邮件转交给MDA,由MDA把邮件传递到用户的邮筒. 用户通过MU

Linux 中如何查询和卸载已安装的软件

Linux 中如何查询和卸载已安装的软件 Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序” 来实现.与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM.它可以用来建立.安装.查询.更新.卸载软件.该工具是在命令行下使用的.在Shell的提示符后输入rpm,就可获得该命令的帮助信息. 软件的安装 Linux下软件的安装主要有两种不同的形式.第一种安装文件名为xxx.tar.gz:另一种

linux下nginx,mysql,php(lnmp)编译安装

关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq!  #保存退出 setenforce 0 #使配置立即生效 mysql 5.5.28安装 安装路径:/usr/local/mysql数据库路径:/usr/local/mysql/data/ mysql从5.5版本开始,不再使用./configure编译,而是使用cmake编译器,具

linux环境下tesseract4.1的编译安装

由于公司新的产品需要深度集成tesseract,所以需要在linux下和windows下源码编译安装tesseract,tesseract当前最新稳定版本是4.1.0,所以就从这个版本入手,编译的过程中碰到了不少困难,踩到了不少坑,所以特意分享出来,避免各位朋友再走弯路~~. 1.查看centos版本#cat /etc/redhat-releaseCentOS release 6.5 (Final) 2.查看gcc和g++版本#gcc --version#g++ --versiongcc至少应需

linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本

红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版本非常多,相关的编译器,解释器也有很多,很多还有最小系统,嵌入式系统等等.同一功能的软件如果只有编译好的软件包,在其它linux的平台上,可能并不能正常安装运行,在此情况下,源码包编译安装出现了.所以本文的重点是以nginx为例,给出源码包编译安装的详细过程,同时带你手工编写自动化运行脚本. 准备工

linux中查看软件文件安装路径

在linux中文件与软件一般都是安装在到/usr/share和/usr/local中了,如果我们需要查看软件安装路径linux为我们提供了查看命令,whereis 就可以帮我查找文件安装路径在哪里了. 我想查看我的oracel数据库安装在哪里 一.查看文件安装路径:这里以Oracle为例.比如说我安装了Oracle,但是不知道文件都安装在哪些地方.放在哪些文件夹里,可 以用下面的命令查看所有的文件路径 二.查询运行文件所在路径: 如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还

Linux软件包管理之源码编译安装

环境 OS:CentOS 6.5 64位示例软件:nginx  从源代码出发 在Linux环境中,大多数的软件都是用c/c++开发的,这两种语言开发的软件编译安装没有任何区别,我们现在先来看看一款Linux环境中的软件源码组成结构. [[email protected] nginx-1.6.1]# lsauto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src 在我们解压每一个软件包后,

Linux中包的管理与程序安装

包是捆绑在一起并准备安装在 Linux 系统上的软件,安装和卸载包是任何 Linux 用户和管理员的基本操作.本篇将提供 Red Hat Package Manager(RPM)和 YUM 软件管理工具的用法并配合实例,这对你熟悉linux环境中的包管理以及程序的安装有很大帮助. 一.RPM包管理 RPM,是Red Hat Package Manager的缩写.出现最早是在早期Slackware中的打包文件,就是把文件简单打包压缩,解压时会放置在目标位置,优点类似Windows绿色软件安装.这种

linux服务器配置之三---lamp之mysql编译安装

Mysql的安装 1.  Mysql提供的版本:社区版,企业版,集群版,Mysql workbench(gui tool)mysql图形化管理器,包含管理.查询等功能.Percona开源的mysql优化工具. 2.  安装包格式: (1)Rpm:分为不同的版本(红帽,SUSE等不同版本). Mysql-client  客户端 Mysql-server 服务器端 Mysql-shared  共享库 Mysql-shared-compat 兼容库,为了兼容老版本. 一般安装以上四个包就可以了. My