扫码关注官方订阅号
在linux上,有人推荐编译源代码安装,常见有以下几种理由:
还有人反对不懂参数优化的人编译安装软件, 理由如下
通常来说,没有可以感觉到的差异。编译安装一般是因为软件源里没有对应的版本,或者编译选项与需求不一致(缺少某个需要的特性之类的)。
因为不被包管理器管理,所以自己编译安装的软件非常难以管理和升级(除非你决定不升级系统的任何软件(只使用安全更新)):你很难跟踪安装了哪些文件,你的软件依赖哪些软件和库,它们的版本要求是多少。而且管理一个软件是非常费时费力的事情(比如又有新漏洞了,你得马上知晓并且更新)。
大多数情况下,自己编译安装意义不大:
一方面,自行优化编译是可能得到性能提升的,但服务器其他依赖软件的升级就麻烦了,需要一定的经验。所以,是否要从编译中找性能,不能一概而论。
另一方面,源中的二进制包也是别人编译出来的,适合大多数环境、使用常规配置,有时候我们需要减少内存使用,或者增加默认没编译进来的模块,此时就不得不自行编译了。但这个时候优化速度不是我们的目标。
综上,除非是 明确需要,对于一般配置都不错的服务器来说,没有自行编译的必要。
使用编译优化参数针对一些特殊环境和场景以及代码 是可能有优化提升性能的可能的,不过对工程师的要求相对较高,因为处理好依赖。
不过一般的商业系统都要求自己编译。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
通常来说,没有可以感觉到的差异。编译安装一般是因为软件源里没有对应的版本,或者编译选项与需求不一致(缺少某个需要的特性之类的)。
因为不被包管理器管理,所以自己编译安装的软件非常难以管理和升级(除非你决定不升级系统的任何软件(只使用安全更新)):你很难跟踪安装了哪些文件,你的软件依赖哪些软件和库,它们的版本要求是多少。而且管理一个软件是非常费时费力的事情(比如又有新漏洞了,你得马上知晓并且更新)。
大多数情况下,自己编译安装意义不大:
一方面,自行优化编译是可能得到性能提升的,但服务器其他依赖软件的升级就麻烦了,需要一定的经验。所以,是否要从编译中找性能,不能一概而论。
另一方面,源中的二进制包也是别人编译出来的,适合大多数环境、使用常规配置,有时候我们需要减少内存使用,或者增加默认没编译进来的模块,此时就不得不自行编译了。但这个时候优化速度不是我们的目标。
综上,除非是 明确需要,对于一般配置都不错的服务器来说,没有自行编译的必要。
使用编译优化参数针对一些特殊环境和场景以及代码 是可能有优化提升性能的可能的,不过对工程师的要求相对较高,因为处理好依赖。
不过一般的商业系统都要求自己编译。