源码包与RPM包的区别

这篇文章都以Apache的安装为例

一、区别

    1、安装前:概念上不同。

        1.1、RPM包是二进制包,源码包其实就是我们能认识的C语言文件。

    2、安装后:安装位置的不同

        1.1、RPM包安装位置是安装在多个位置,这不是由安装人决定的,而是由RPM包的作者决定的。

    3、其他

        3.1、RPM包安装后访问效率较低,源码包访问效率高。所以安装访问量大的服务的时候建议使用源码包安装,Apache就强烈建议使用源码包安装。

        3.2、RPM虽然也可以指定位置,但是不建议指定位置安装RPM包,因为安装之后系统找不到命令,就不可以用RPM的命令来启动和关闭了。

二、启动与停止

1、RPM

启动服务:  1、使用绝对路径方式启动:/etc/rc.d/init.d/httpd start  (linux标准启动方法)

                2、service httpd start  (redhat系列专有命令)

停止服务:service httpd stop

2、源码包


    2.1、启动服务:  /usr/local/apache2/bin/apachectl start

    2.2、怎么知道这个启动命令的?

            进入源码包目录,在这个目录下有一个INSTALL文件,打开文件可以发现安装和启动方法。

三、源码包安装位置

    1、默认安装位置:/usr/local/软件名/

    2、启动方法:/usr/local/apache2/bin/apachectl start

    3、源码包保存位置:/usr/local/src/

四、安装

    1、./configure 软件配置与检查(进入解压缩目录后都会有configure这个命令)

        1.1、定义需要的功能选项

        1.2、检测系统环境是否符合安装要求

        1.3、把定义好的功能选项和检测环境系统信息都写入Makefile文件,用于后续的编辑

        说明:a、每个源码包都会有configure命令,就算极个别没有这个命令也会用其他的命令取代

                 b、执行过./configure之后,会生成Makefile文件,make和make install都是依赖这个文件进行编译安装的,

        此处安装假设: ./configure --prefix=/usr/local/apache2/

    2、make:编译

        2.1、将源码包翻译成机器能识别的语言

        2.2、一旦编译出错,可使用make clean,清除之前的编译。

        说明:这一步执行时间一般是最长的。

    3、make install

        3.1、真正进行安装

        3.2、一旦这一步报错,那要执行两步:

                1、make clean

                2、直接删除/usr/local/apache2/这个目录即可。

五、卸载

        1、源码包卸载:直接删除安装目录即可,不会残留任何垃圾。

        2、RPM包卸载:rpm -e 软件名


仅供参考。

这篇文章是考虑是最简单的情况,博主讲的很清晰。网上的文章褒贬不一。


 建议在安装线上的生产服务器软件包时都用源码安装,这是因为源码安装可以自行调整编译参数,最大化地定制安装结果。这里以MySQL 5线上环境的编译安装来说明之,其编译参数如下所示:

 
 
  1. ./configure -prefix=/usr/local/mysql -without-debug  
  2. -without-bench -enable-thread-safe-client -enable-assembler -enable-profiling 
  3. -with-mysqld-ldflags=-all-static -with-client-ldflags=-all-static 
  4. -with-charset=latin1 -with-extra-charset=utf8,gbk -with-innodb -with-csv-storage-engine 
  5. -with-federated-storage-engine -with-mysqld-user=mysql-without-embedded-server 
  6. -with-server-suffix=-community -with-unix-socket-path=/usr/local/mysql/sock/mysql.sock 
  7. && make && make install
  8.  

在安装MySQL时,源码安装与rpm安装相较,其特点如下:

我们可以针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码。

根据不同的软件平台环境调整相关的编译参数(源码安装不仅适用于rhel/centos,其他系统像FreeBSD、Solaris、Ubuntu等一样适用)。

可针对特定的应用场景选择需要什么组件或不需要什么组件。

同一台主机上可以安装多个MySQL(rpm安装则仅能安装一个MySQL)。

根据需要存储的数据内容选择只安装需要的字符集。

理论上源码静态编译方式安装效率会高一点,但到底比rpm方式高多少得看具体情况,一般在5%左右。

某次在线上环境工作,我用yum卸载一个软件包时遇到了极其危险的情况,这里也跟大家分享一下:当时,yum remove自动卸载了许多这个软件包自身依赖的系统包,导致系统崩溃了,SSH不能登录,并且SCP及RSYNC也都不能用了,幸亏FTP命令还能用, 所以数据很快被FTP传到其他服务器上了,但系统已经彻底崩溃,只有重装了。如果是源码安装的软件包就没有这种危险,需要卸载时只需要删除软件包安装的目 录即可。

综上所述,源码安装的好处如下:

最大的好处就是可以自行调整编译参数,最大化地定制安装结果。

源码安装可以选择最新的软件包,而Linux系统(包括FreeBSD)自带的软件包一般都是最稳定的版本,但不能保证是最新的。

相对而言,源码安装的性能是最优异的。

源码包安装的软件卸载时极为方便和简单,更重要的是,它比较安全,尤其是对线上的生产环境而言。

迁徙也比较方便,如果不涉及系统库文件,复制到另一台机器上也可以使用。

这里也简单介绍一下在Linux/Unix下安装软件的源码三部曲,在后面我们会经常看到它们的身影。

 
 
  1. ./configure  
  2. make  
  3. make install 

./configure是用来检查环境变量及配置编译选项的,make是用来将源代码编译成二进制文件的,而make install则会将make编译出来的文件安装到指定位置(或默认位置)。

在本节中,我们从服务器的硬件选择、安装及内核等方面对单机服务器的性能进行了优化,不过对于网站和系统来说,单机优化对整体性能提升的作用毕竟有限,整体性能提升主要靠服务器的高可用和高扩展性来实现,这部分内容在后面的章节中再来说明。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PHP 7.3的源码是以rpm格式进行发布的。rpm是一种软件管理系统,用于在基于Red Hat的Linux系统上安装、更新和卸载软件。PHP官方提供了针对CentOS和Red Hat Enterprise Linux (RHEL)的rpm源码,以方便用户在这些操作系统上安装和管理PHP 7.3。 使用rpm源码安装PHP 7.3时,首先需要下载源码文件。然后,可以使用rpm命令对源码进行安装。安装过程将会解压源码并将其编译成可执行的PHP二进制文件,同时也会生成相关的配置文件和模块。 安装完成后,可以通过启动PHP-FPM进程池或Web服务器来使用PHP 7.3。PHP-FPM是PHP FastCGI进程管理器,负责处理PHP的请求。Web服务器(如Apache或Nginx)与PHP-FPM通信,将PHP相关的请求转发给PHP-FPM进行处理,然后返回响应给客户端。 对于开发人员来说,PHP 7.3的源码也提供了开发所需的一些工具和示例代码。可以使用源码中的PHP二进制文件来运行PHP脚本,还可以在源码的“ext”目录下找到已编译的PHP扩展模块。 总之,PHP 7.3的源码rpm是一种便于在基于Red Hat的Linux系统上安装和管理PHP的方式。它提供了PHP二进制文件、配置文件、模块和示例代码,以及安装、更新和卸载PHP的便捷工具。 ### 回答2: PHP 7.3的源码rpm是指适用于CentOS、Red Hat Enterprise Linux (RHEL)等基于RPM管理系统的操作系统的一个安装。该源码含了PHP 7.3的源代码和一系列构建所需的文件,可以用于编译、构建和安装PHP 7.3。 获得源码rpm的方式可以通过官方PHP网站或者其他镜像站点下载。下载后,可以通过以下步骤来安装php7.3源码rpm: 1. 使用root权限登录服务器,打开终端。 2. 使用命令“cd”进入源码所在的目录。 3. 运行命令“rpm -ivh php-source-package.rpm”来安装源码。其中,“php-source-package.rpm”是源码的文件名,具体的文件名可能会有所不同。 4. 安装过程可能需要一些时间,请耐心等待。 5. 安装完成后,可以通过运行命令“php -v”来验证PHP是否成功安装,并查看安装的版本号。 安装源码rpm的好处是可以自定义编译参数,以满足特定的需求。同时,使用源码也允许在未来对PHP进行定制化的修改和升级。 需要注意的是,安装源码需要具备一定的Linux命令行和编译知识。如果不确定操作,请谨慎安装,或者寻求相关的技术支持。 ### 回答3: PHP 7.3的源码RPM是一种用于安装和管理PHP的软件,它含了PHP 7.3的源代码和一些必要的依赖项。RPM是Red Hat Package Manager的缩写,它是一种在Red Hat及其衍生发行版上安装软件的标准工具。 PHP源码RPM允许用户从源代码构建和安装PHP,并提供了一种简单的方法来管理PHP的安装和更新。用户可以使用RPM工具来安装、卸载和更新PHP,它会自动处理依赖关系和文件冲突,确保安装的PHP版本兼容并且正确地配置。 用户可以通过从PHP官方网站下载PHP 7.3的源码RPM来获取它。下载后,用户可以使用RPM工具来安装它,命令类似于"rpm -ivh php-7.3.rpm"。 安装完成后,用户可以使用命令"php -v"来验证PHP版本是否正确安装。用户还可以通过编辑PHP的配置文件来自定义PHP的设置,例如调整内存限制、启用扩展等等。 总结来说,PHP 7.3的源码RPM是一种方便的工具,允许用户从源代码构建、安装和管理PHP,提供了一种简单的方法来管理PHP的安装和更新。它使得安装和配置PHP变得简单且可靠,并为用户提供了灵活性和自定义选项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值