nginx 为什么都喜欢编译安装?有什么优缺点?然后有没有独立面板推荐? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ptsa
V2EX    NGINX

nginx 为什么都喜欢编译安装?有什么优缺点?然后有没有独立面板推荐?

  •  
  •   ptsa 2014-02-27 23:18:13 +08:00 9212 次点击
    这是一个创建于 4253 天前的主题,其中的信息可能已经有所发展或是发生改变。
    nginx为什么都喜欢编译安装?有什么优缺点?然后有没有独立面板推荐?
    比如像webmin 这种 不是和环境集成的?
    40 条回复    1970-01-01 08:00:00 +08:00
    msg7086
        1
    msg7086  
       2014-02-27 23:43:45 +08:00
    最讨厌服务器软件的编译安装了……
    RelativeLayout
        2
    RelativeLayout  
       2014-02-27 23:45:55 +08:00 via iPhone
    编译安装比较快吧,个人觉得
    xiaop
        3
    xiaop  
       2014-02-27 23:54:27 +08:00
    @RelativeLayout 心理作用。
    kfll
        4
    kfll  
       2014-02-27 23:59:55 +08:00 via iPad
    …nginx…因为没有官方支持的动态模块加载…
    hcw1588
        5
    hcw1588  
       2014-02-28 00:01:07 +08:00
    编译可以自己选择需要的功能啊,还有就是刚开始就把nginx要添加的模块都加上去不是比之后再去捣鼓更好么
    yangxin0
        6
    yangxin0  
       2014-02-28 00:04:09 +08:00 via iPhone
    @kfll 淘宝一直开发出相应布丁支持动态加载
    cevincheung
        7
    cevincheung  
       2014-02-28 00:20:46 +08:00
    我只是不喜欢apt-get/yum默认安装到/usr/bin、/etc/xx.conf。我宁愿编译完了以后再ln到/usr/bin
    likuku
        8
    likuku  
       2014-02-28 00:47:47 +08:00
    因为有时需要将主力服务软件维持到某个特定版本/维持最新版本,那么你若用系统自带包管理器安装,则有可能你有时为了更新系统而不得不顺带更新你的「主力服务软件」。

    当然,也有例外:

    gentoo 的 portage 系统可以指定某package固定到某版本而不随其它软件更新。

    freebsd 的 ports 包管理系统独立在系统之外,你仅更新系统(系统日常安全更新神马的)是不会去碰 ports 维护的软件。
    sNullp
        9
    sNullp  
       2014-02-28 00:56:08 +08:00
    @likuku 所有的包管理器都可以指明锁定一个或数个包的版本。。
    sNullp
        10
    sNullp  
       2014-02-28 00:57:20 +08:00
    话说回来我觉得大家都喜欢编译安装服务器软件是因为一开始在网上 写教程/做一键安装脚本 的人采用这个方式会让大家不容易搞懂。有逼格。
    SkyFvcker
        11
    SkyFvcker  
       2014-02-28 01:03:46 +08:00
    @sNullp 简单的归结为装逼有点太武断了
    sNullp
        12
    sNullp  
       2014-02-28 01:05:26 +08:00
    @SkyFvcker 话是说的绝对了点。不过我觉得超过一半的编译安装的人其实没有意识到为什么要编译自己的服务器组件而不是直接从源里下。
    SkyFvcker
        13
    SkyFvcker  
       2014-02-28 01:07:14 +08:00
    @sNullp 唔,这个比例我们讨论也没啥意义。编译安装比二进制安装运行效率高些这点我们可以达成一致我觉得楼主就满意了。
    SkyFvcker
        14
    SkyFvcker  
       2014-02-28 01:08:35 +08:00
    @xiaop 回去复习编译优化再回来说是不是心理作用
    sNullp
        15
    sNullp  
       2014-02-28 01:11:09 +08:00
    @SkyFvcker 真不一定高。默认配置无脑编译时的优化可能比不上发行版编译时的patch和参数优化。有人做过测试,就在 v2ex ,你可以搜一下。
    SkyFvcker
        16
    SkyFvcker  
       2014-02-28 01:24:05 +08:00
    @sNullp 发行版编译patch一般是一些针对发行版特点的Bug修正,几乎没有性能优化。二进制版本的程序包首先需要保证的是兼容性,这让优化很难进行。即使是同一代不同型号的CPU,也有很多不同的优化策略。而二进制程序包甚至连Cache对齐这种优化都很难做(当然Nginx的运行时优化做得很好)。
    嗯,如果发行版Patch真的可以做到与默认编译配置同样的兼容性,且有更高的性能,那这个Patch早就被合并到那个软件里去了。而这不正是开源的优势么。
    leofml
        17
    leofml  
       2014-02-28 01:36:16 +08:00
    因为我们用的是 Tengine ... XD
    ericFork
        18
    ericFork  
       2014-02-28 02:05:51 +08:00
    我喜欢自己编译二进制包后部署……
    vibbow
        19
    vibbow  
       2014-02-28 02:09:55 +08:00
    @SkyFvcker 编译的不一定比从源里安装的快
    t/87755
    dndx
        20
    dndx  
       2014-02-28 02:30:06 +08:00
    现在都是直接官方源安装了,就是图个省心。
    lightening
        21
    lightening  
       2014-02-28 04:30:06 +08:00
    因为系统提供的版本不够新啊……如果够新,我一向是源里安装的。
    速度么,差那么点无所谓。
    TigerS
        22
    TigerS  
       2014-02-28 05:26:35 +08:00
    我觉得自己编译安装的好处就是可以自己添加自己所需要的东西插件什么的,如果是安装包一键或者是一些管理面版的一键会比较麻烦添加插件,但是管理使用起来会简单
    oott123
        23
    oott123  
       2014-02-28 08:05:47 +08:00 via Android
    懒得配置 php-fpm ,一键包跑一下挂机就可以了…
    如果不要 php 的话我就会从源里面安装…最悲哀的事情莫过于,从 yum 安装之前还要安装 nginx 的源了…
    Lax
        24
    Lax  
       2014-02-28 09:15:26 +08:00
    @cevincheung

    我一般不做软链接,configure时就指定了--bin-path,--log-path之类的选项。
    除了做模块开发时临时做个手工编译,线上全部build成rpm,方便后续维护。
    lixm
        25
    lixm  
       2014-02-28 09:31:00 +08:00
    我喜欢自己打rpm包,因为可以指定参数,其实gentoo,freebsd的包管理器也是编译安装的
    sanddudu
        26
    sanddudu  
       2014-02-28 09:52:24 +08:00
    编译感觉更灵活
    而且一般情况就是敲几行的事情,也谈不上装逼
    jiang42
        27
    jiang42  
       2014-02-28 10:39:58 +08:00   1
    编译安装能获得更大的灵活性,可以自己配置各种参数
    说跑的更快的基本上是心理因素

    @lixm FreeBSD的ports才是编译安装哦,pkgng是二进制包
    gouera
        28
    gouera  
       2014-02-28 10:52:24 +08:00
    我记得在哪里看见说编译安装的安全点,因为yum/apt-get 安装是把所有的编译选项都打开了。
    viator42
        30
    viator42  
       2014-02-28 11:13:48 +08:00
    还是包管理省事,不到万不得已不用源码编译.各种包依赖能把人逼疯.nginx啥的毕竟只是个工具,拿来用就好了,没必要这么折腾.
    bingu
        31
    bingu  
       2014-02-28 11:20:14 +08:00
    apt-get安装方便啊,最近才用apt-get 安装lemp来着。
    sanddudu
        32
    sanddudu  
       2014-02-28 11:42:29 +08:00
    @jiang42 有的包会对专门的配置进行优化,这些只能在编译的时候指定进去,包管理器和二进制版没这种待遇,因为要兼容
    AstroProfundis
        33
    AstroProfundis  
       2014-02-28 11:42:43 +08:00
    这算月经帖么
    wdkwdkwdk
        34
    wdkwdkwdk  
       2014-02-28 11:46:46 +08:00
    AMH
    tioover
        35
    tioover  
       2014-02-28 15:58:55 +08:00 via Android
    插件
    Kvm
        36
    Kvm  
       2014-02-28 17:46:08 +08:00
    nginx不支持动态加载模块是一个原因。。。。。
    vpsmm
        37
    vpsmm  
       2014-03-01 07:30:58 +08:00
    如果新手,喜欢可视面板,AMH绝对适合你。
    bgtwoigu
        38
    bgtwoigu  
       2014-03-01 22:18:36 +08:00
    自己写模块没办法呀...
    middleware
        39
    middleware  
       2014-03-03 07:39:14 +08:00
    安全是一个因素。也许是大家没有考虑到的一个,但是客观上起作用的因素。攻击者对你的系统了解越多,攻击手段就越多。Pre-built Installation 就那么几种,通过一些技术加 social engineer 就能搞清楚你安的是什么,缺少什么补丁。
    babytomas
        40
    babytomas  
       2014-03-03 09:11:03 +08:00 via Android
    @oott123 自我感觉用 yum 安装的好像缺少好多东西,具体是哪些我就搞不清楚了。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3035 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 00:19 PVG 08:19 LAX 17:19 JFK 20:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86