nginx 为什么都喜欢编译安装?有什么优缺点?然后有没有独立面板推荐?
- 0次
- 2021-05-27 22:01:19
- idczone
nginx为什么都喜欢编译安装?有什么优缺点?然后有没有独立面板推荐?
比如像we大带宽服务器bmin 这种 不是和环境集成的?
最讨厌服务器软件的编译安装了……
编译安装比较快吧,个人觉得
心理作用。
…nginx…因为没有官方支持的动态模块加载…
编译可以自己选择需要的功能啊,还有就是刚开始就把nginx要添加的模块都加上去不是比之后再去捣鼓更好么
淘宝一直开发出相应布丁支持动态加载
我只是不喜欢apt-get/yum默认安装到/usr/bin、/etc/xx.conf。我宁愿编译完了以后再ln到/usr/bin
因为有时需要将主力服务软件维持到某个特定版本/维持最新版本,那么你若用系统自带包管理器安装,则有可能你有时为了更新系统而不得不顺带更新你的「主力服务软件」。
当然,也有例外:
gentoo 的 portage 系统可以指定某package固定到某版本而不随其它软件更新。
freebsd 的 ports 包管理系统独立在系统之外,你仅更新系统(系统日常安全更新神马的)是不会去碰 ports 维护的软件。
所有的包管理器都可以指明锁定一个或数个包的版本。。
话说回来我觉得大家都喜欢编译安装服务器软件是因为一开始在网上 写教程/做一键安装脚本 的人采用这个方式会让大家不容易搞懂。有逼格。
简单的归结为装逼有点太武断了
话是说的绝对了点。不过我觉得超过一半的编译安装的人其实没有意识到为什么要编译自己的服务器组件而不是直接从源里下。
唔,这个比例我们讨论也没啥意义。编译安装比二进制安装运行效率高些这点我们可以达成一致我觉得楼主就满意了。
回去复习编译优化再回来说是不是心理作用
真不一定高。默认配置无脑编译时的优化可能比不上发行版编译时的patch和参数优化。有人做过测试,就在 v2ex ,你可以搜一下。
发行版编译patch一般是一些针对发行版特点的Bug修正,几乎没有性能优化。二进制版本的程序包首先需要保证的是兼容性,这让优化很难进行。即使是同一代不同型号的CPU,也有很多不同的优化策略。而二进制程序包甚至连Cache对齐这种优化都很难做(当然Nginx的运行时优化做得很好)。
嗯,如果发行版Patch真的可以做到与默认编译配置同样的兼容性,且有更高的性能,那这个Patch早就被合并到那个软件里去了。而这不正是开源的优势么。
因为我们用的是 Tengine ... XD
我喜欢自己编译二进制包后部署……
编译的不一定比从源里安装的快
https://www.v2ex.com/t/87755
现在都是直接官方源安装了,就是图个省心。
因为系统提供的版本不够新啊……如果够新,我一向是源里安装的。
速度么,差那么点无所谓。
我觉得自己编译安装的好处就是可以自己添加自己所需要的东西插件什么的,如果是安装包一键或者是一些管理面版的一键会比较麻烦添加插件,但是管理使用起来会简单
懒得配置 php-fpm ,一键包跑一下挂机就可以了…
如果不要 php 的话我就会从源里面安装…最悲哀的事情莫过于,从 yum 安装之前还要安装 nginx 的源了…
我一般不做软链接,configure时就指定了--bin-path,--log-path之类的选项。
除了做模块开发时临时做个手工编译,线上全部build成rpm,方便后续维护。
我喜欢自己打rpm包,因为可以指定参数,其实gentoo,freebsd的包管理器也是编译安装的
编译感觉更灵活
而且一般情况就是敲几行的事情,也谈不上装逼
编译安装能获得更大的灵活性,可以自己配置各种参数
说跑的更快的基本上是心理因素
FreeBSD的ports才是编译安装哦,pkgng是二进制包
我记得在哪里看见说编译安装的安全点,因为yum/apt-get 安装是把所有的编译选项都打开了。
不编译安装就所有人都会了,要他没用了
还是包管理省事,不到万不得已不用源码编译.各种包依赖能把人逼疯.nginx啥的毕竟只是个工具,拿来用就好了,没必要这么折腾.
apt-get安装方便啊,最近才用apt-get 安装lemp来着。
有的包会对专门的配置进行优化,这些只能在编译的时候指定进去,包管理器和二进制版没这种待遇,因为要兼容
这算月经帖么
AMH
插件
nginx不支持动态加载模块是一个原因。。。。。
如果新手,喜欢可视面板,AMH绝对适合你。
自己写模块没办法呀...
安全是一个因素。也许是大家没有考虑到的一个,但是客观上起作用的因素。攻击者对你的系统了解越多,攻击手段就越多。Pre-built Installation 就那么几种,通过一些技术加 social engineer 就能搞清楚你安的是什么,缺少什么补丁。
自我感觉用 yum 安装的好像缺少好多东西,具体是哪些我就搞不清楚了。。