V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
miaotaizi
V2EX  ›  PHP

请问编译安装 lnmp 环境的正确顺序是啥?

  •  
  •   miaotaizi · 2015-06-11 10:42:51 +08:00 · 6823 次点击
    这是一个创建于 3455 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前几天面试的时候,被问及到这个问题, 答不上来, 平时都是用的yum 随便安装,
    顺便问下各位大侠, 编译安装跟 yum安装的 优缺点是啥? 用yum 会有什么问题吗?

    23 条回复    2015-06-19 10:36:24 +08:00
    Havee
        1
    Havee  
       2015-06-11 11:26:51 +08:00
    yum 安装,省心
    如有特殊需求的,譬如一些模块yum没提供的,才会考虑到自己编译,不过,如果发生这种事,我宁愿换个发行版。
    b821025551b
        2
    b821025551b  
       2015-06-11 11:27:10 +08:00
    yum方便,编译可以自己定义一些模块参数什么的
    huigeer
        3
    huigeer  
       2015-06-11 11:45:10 +08:00
    1,nginx
    2, mysql
    3, php
    zieglar
        4
    zieglar  
       2015-06-11 11:52:54 +08:00
    第一条永远是 yum groupinstall "Development tools"
    susanDao
        5
    susanDao  
       2015-06-11 11:58:26 +08:00
    工具总是能方便大家,但是自己动手装装也挺好,顺序的话,无所谓吧
    xuyl
        6
    xuyl  
       2015-06-11 12:01:10 +08:00
    yum安装简单,基本没依赖包问题,但配置文件太分散,又不能自定义配置模块,升级很麻烦。还是编译安装吧。顺序的话,cmake/mysql/pcre/nginx/php
    Havee
        7
    Havee  
       2015-06-11 12:13:01 +08:00
    @xuyl 配置文件分散不是问题吧
    完全可以放在同一文件夹下,再 ln 到各自的地方。
    cst4you
        8
    cst4you  
       2015-06-11 12:13:53 +08:00
    random
    zts1993
        9
    zts1993  
       2015-06-11 12:36:55 +08:00
    mysql 要在php前面 :) ,
    lincanbin
        10
    lincanbin  
       2015-06-11 13:17:06 +08:00 via Android
    PHP的一些MySQL extension编译要指定MySQL目录,例如libMySQL,当然也可以不指定目录,直接使用mysqlnd,这种情况下顺序可以随意。
    herozzm
        11
    herozzm  
       2015-06-11 14:08:37 +08:00
    yum安装的版本很多方面不能控制:安装路径、软件版本、模块等等
    编译安装好处多多啊,唯独就是要清楚依赖的其他软件,可以参考网络上的一键安装包脚本
    fkccp
        12
    fkccp  
       2015-06-11 14:42:29 +08:00
    你要的是这个:
    LNMP一键安装包, http://www.lnmp.org/
    wy315700
        13
    wy315700  
       2015-06-11 14:43:20 +08:00
    不管什么环境,永远是自底向上配置。
    hylent
        14
    hylent  
       2015-06-11 16:11:59 +08:00
    @zts1993 --with-pdo-mysql=mysqlnd 这样就可以了
    hylent
        15
    hylent  
       2015-06-11 16:13:02 +08:00
    由编译速度快慢来说的话 先nginx 再php 再mysql
    miaotaizi
        16
    miaotaizi  
    OP
       2015-06-11 17:52:29 +08:00
    看来还是自己linux 的相关知识不够足, 好像大家都偏向编译安装哦
    msg7086
        17
    msg7086  
       2015-06-12 03:34:40 +08:00
    @miaotaizi 你哪里看出大家都偏向编译安装了?
    CRVV
        18
    CRVV  
       2015-06-12 08:57:37 +08:00
    当然是先装L, 剩下3个随意了
    miaotaizi
        19
    miaotaizi  
    OP
       2015-06-12 11:54:04 +08:00
    @msg7086 就在这楼啊
    msg7086
        20
    msg7086  
       2015-06-12 12:32:29 +08:00
    @miaotaizi 所以你觉得在一个讨论「编译安装」的帖子里,大家都在讨论编译安装,就说明所有人都偏向编译安装了吗?

    我顺便再提一句,编译安装与软件源并不冲突。
    例如Debian中,源码与编译脚本是分开的。
    比如你要安装nginx 1.8.1,显然软件源里没有,肯定要自己编译。
    但是编译脚本仍然是通用的。你完全可以下载1.8.1的源码回来,配上1.6.2的编译脚本,修改其中不相称的部分(例如更新了的接口/函数,例如版本号),然后用官方脚本编译。
    最后得到的就是和官方包外观一样的deb包,可以直接用dpkg安装,也可以拷贝到其他服务器上批量安装。

    买一个老爷车回来自己改装打磨成新车,姑且是因为省钱或者兴趣爱好。
    装一个老爷系统回来再编译安装起那些在其他系统上都已经是标配的软件,就不明白其中含义何在了。
    (对,我说的就是CentOS,特别是老版CentOS)
    chinvo
        21
    chinvo  
       2015-06-12 15:50:06 +08:00
    不管是 build 還是 pre-build,最好都自底而上裝。很贊同 @wy315700

    因此最靠譜的方案是 mysql/mariadb -> php-fpm -> nginx
    miaotaizi
        22
    miaotaizi  
    OP
       2015-06-12 20:24:46 +08:00
    @msg7086 表激动, 嘻嘻
    superxzr
        23
    superxzr  
       2015-06-19 10:36:24 +08:00
    直接yum吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1756 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:43 · PVG 00:43 · LAX 08:43 · JFK 11:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.