V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
ptsa
V2EX  ›  NGINX

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

  •  
  •   ptsa · 2014-02-27 23:18:13 +08:00 · 8736 次点击
    这是一个创建于 3957 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 编译的不一定比从源里安装的快
    https://www.v2ex.com/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 安装是把所有的编译选项都打开了。
    srdrm
        29
    srdrm  
       2014-02-28 11:04:43 +08:00
    不编译安装就所有人都会了,要他没用了
    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   ·   实用小工具   ·   2380 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:16 · PVG 10:16 · LAX 18:16 · JFK 21:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.