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

搭建 LNMP 环境, 你们用的是一键的,还是 自定义一点一点安装的啊?

  •  
  •   jimduan · 2017-03-08 16:05:18 +08:00 · 14400 次点击
    这是一个创建于 2818 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一直都是 WAMP 环境下开发,上手 LNMP ,照着网上教程,出了一点 Error , 都要折腾个吧小时 google 解决

    102 条回复    2017-03-31 14:18:43 +08:00
    1  2  
    FFLY
        1
    FFLY  
       2017-03-08 16:06:34 +08:00
    langmoe
        2
    langmoe  
       2017-03-08 16:09:09 +08:00
    用包管理器装的
    atcchh
        3
    atcchh  
       2017-03-08 16:09:56 +08:00   ❤️ 1
    自己配置 docker
    davidyin
        4
    davidyin  
       2017-03-08 16:18:12 +08:00
    纯手工操作。
    tcdw
        5
    tcdw  
       2017-03-08 16:21:13 +08:00 via Android
    大多数情况下你要相信包管理器
    jimduan
        6
    jimduan  
    OP
       2017-03-08 16:24:58 +08:00
    @FFLY 生产环境下, 是不是也可以用这个?
    jimduan
        7
    jimduan  
    OP
       2017-03-08 16:26:08 +08:00
    @davidyin 厉害了, 我的哥, linux 玩的转,真是一件了不起的技能
    assad
        8
    assad  
       2017-03-08 16:27:18 +08:00
    一键,然后自己调调参数
    young
        9
    young  
       2017-03-08 16:28:10 +08:00
    apt-get 全家桶
    Pastsong
        10
    Pastsong  
       2017-03-08 16:31:57 +08:00
    apt 全家桶
    xiaoz
        11
    xiaoz  
       2017-03-08 16:33:28 +08:00
    没人用 oneinstack ? https://oneinstack.com/
    geeklian
        12
    geeklian  
       2017-03-08 16:34:00 +08:00 via Android
    不是几年前 v2 上有个测试么...

    直接 apt ,安装最快,性能最好

    https://www.v2ex.com/t/87755#reply19
    ylsc633
        13
    ylsc633  
       2017-03-08 16:36:58 +08:00
    apt-get 可以!

    不过我一般用 11 楼一样的. oneinstack

    至于 1 楼的 这个 我曾用过... 经常安装失败.. 后来虽然好了........... 但是跟我现在的 linux 系统 有冲突...

    它会自动卸载我的 dock 的依赖..... 推荐 oneinstack
    FFLY
        14
    FFLY  
       2017-03-08 16:39:13 +08:00
    @jimduan 可以的,开源的脚本,很多大站都有在用的,当然装好以后配置调优只能靠自己动手了。
    Lycnir
        15
    Lycnir  
       2017-03-08 16:39:49 +08:00
    写好 ansible 脚本,一劳永逸
    FFLY
        16
    FFLY  
       2017-03-08 16:41:08 +08:00
    @ylsc633 早期国内的服务器会经常安装失败,主要原因是网络不稳定,导致下载国外服务器上的组件经常半路出错。
    kn007
        17
    kn007  
       2017-03-08 16:45:26 +08:00 via Android
    自己编译安装
    whatot
        18
    whatot  
       2017-03-08 16:55:01 +08:00
    推荐 ansible 或者 docker-compose ,每次用 apt 或者 yum 也是很麻烦的。
    bao3
        19
    bao3  
       2017-03-08 17:04:46 +08:00
    刚开始自己编译,后来直接 lnmp.org 。现在准备自己做一个 lnmp 的 docker 省事省力,对于一般人来说, web 环境要求没那么高,能一次性搞定事就不折腾了。
    RobertYang
        20
    RobertYang  
       2017-03-08 17:06:46 +08:00 via Android
    php 和 mariadb 走包管理, nginx 自己编译加模块
    mooncakejs
        21
    mooncakejs  
       2017-03-08 17:12:45 +08:00
    docker
    QQ2112755791
        22
    QQ2112755791  
       2017-03-08 17:14:19 +08:00
    一键安装肯定没有自己一点点一的搭建安装好。
    xiaooloong
        23
    xiaooloong  
       2017-03-08 17:18:11 +08:00
    一开始啥都不会,用的一键安装

    后来要用 OpenResty 还要加模块,编译
    后来要用 新版 PHP ,编译

    mysql 用的仓库里的 mariadb
    或者直接去官网下预编译版本,还没编译过
    aogg
        24
    aogg  
       2017-03-08 17:19:40 +08:00
    noe132
        25
    noe132  
       2017-03-08 17:21:13 +08:00 via Android
    apt 全家桶
    keinx
        26
    keinx  
       2017-03-08 17:22:07 +08:00   ❤️ 1
    主要看两方面:
    1. 你的 linux 水平,如果水平高,那就自己来喽,如果水平低或者一般还是用一键的吧,要不各种问题你自己也解决起来需要很大经历和时间。(学习的另说)
    2. 开发环境还是生产环境,开发环境就是图个方便一键的省事,生产环境还是自己手动搭吧。
    jasontse
        27
    jasontse  
       2017-03-08 17:26:53 +08:00 via iPad
    生产环境一般就 apt 。有特殊需求除外,但是也是打成包。
    自己玩的当然是折腾,优先 backports ,不行就编译。
    一键包没有使用场景。
    wesley
        28
    wesley  
       2017-03-08 17:29:18 +08:00
    自己编译安装, 用我祖传的编译脚本
    liqiazero
        29
    liqiazero  
       2017-03-08 17:38:43 +08:00   ❤️ 1
    推荐先看看 lnmp 的一建安装的那个 install.sh ,它是先下载下来包按需源码安装,在 shell 中设置各个需要的配置,编译参数,配置路径, php , mysql , redis , nginx 等各种配置关系,可以很好的学习一下,后续可以根据自己的需求拓展 install.sh 。也推荐 docker 版本的。
    wyntergreg
        30
    wyntergreg  
       2017-03-08 17:45:11 +08:00
    编译安装 LNMP 根本扯不上 linux 水平吧,折腾一遍下次就 6 了
    xuchen
        31
    xuchen  
       2017-03-08 17:46:08 +08:00
    建议手工安装一遍~起码熟悉各种依赖包的关系,也熟悉命令~玩多了以后 可以用 yum 或者别的安装
    smileawei
        32
    smileawei  
       2017-03-08 17:51:13 +08:00
    nginx 和 mysql 都可以包安装。 php 如果维护单一版本也可以包安装。如果维护多版本 就需要编译了。
    forgetandnew
        33
    forgetandnew  
       2017-03-08 17:59:29 +08:00
    docker 化繁为简
    Binarization
        34
    Binarization  
       2017-03-08 18:07:17 +08:00 via Android
    Linux 'EngineX' Mysql PHP LEMP
    dapeng
        35
    dapeng  
       2017-03-08 18:29:58 +08:00
    apt-get ,,一键搞定
    lslqtz
        36
    lslqtz  
       2017-03-08 18:34:00 +08:00
    除了 Nginx 和 PHP ,都是包管理器搞的
    zaishanfeng
        37
    zaishanfeng  
       2017-03-08 18:45:13 +08:00 via Android
    v 站真是越来越 low 怎么都是这种问题
    ichou
        38
    ichou  
       2017-03-08 18:46:14 +08:00 via iPhone
    LNMP 一键包这种东西,不是给 dede 站长们用的么?
    hteen
        39
    hteen  
       2017-03-08 18:48:09 +08:00 via iPhone
    docker-compose
    GKLuke
        40
    GKLuke  
       2017-03-08 18:53:35 +08:00
    我也来安利 oneinstack 。生产环境都打算用这个了。
    sundong
        41
    sundong  
       2017-03-08 18:56:27 +08:00
    怎么简单怎么来
    zhengwenk
        42
    zhengwenk  
       2017-03-08 19:32:45 +08:00
    yum| brew| apt-get| rpm 你值得拥有
    Tyanboot
        43
    Tyanboot  
       2017-03-08 19:38:27 +08:00 via Android
    除了数据库( MariadB/Redis 之类的)是源里装的。其他都是手工编译的。
    falcon05
        44
    falcon05  
       2017-03-08 19:54:39 +08:00 via iPhone
    编译的,版本和参数可以控制
    murmur
        45
    murmur  
       2017-03-08 20:00:13 +08:00
    新版本一键 老版本自己编译 实际上有 phpstudy 这种东西 也是下载源码编译 自己写命令行编译太痛苦了
    wudanyang
        46
    wudanyang  
       2017-03-08 20:19:51 +08:00
    建议 homestead
    gamesbain
        47
    gamesbain  
       2017-03-08 20:45:23 +08:00
    花了点时间弄了个 docker-compose.yml 然后 docker-compose 一键搞定。兼容任何平台。迁移网站真实太轻松了。
    eqing
        48
    eqing  
       2017-03-08 20:52:42 +08:00
    你要是初学者,最好是一步一步编译,老司机搞个一键的 或者 docker 省时间
    jackroyal
        49
    jackroyal  
       2017-03-08 21:26:57 +08:00
    刚开始用一键的,先跑起来。后来再装,就分开一个个装,一个个配
    AstroProfundis
        50
    AstroProfundis  
       2017-03-08 21:27:47 +08:00
    请用包管理,详见 12 楼
    GoBeyond
        51
    GoBeyond  
       2017-03-08 21:27:57 +08:00 via Android
    你愿意自己 sudo 一个来源不明的 sh 么?
    手动配置吧 几行命令没什么难的 还能积累经验
    HLT
        52
    HLT  
       2017-03-08 21:28:36 +08:00
    lnmp 一键安装 用于生产也没啥问题,只要你对这个安装包很了解,可以自行编译。。。
    再高大上一点就是 docker
    wclebb
        53
    wclebb  
       2017-03-08 21:35:12 +08:00 via iPhone
    收藏,小白谢过大家!每一个回帖都是宝贵的经验!
    AstroProfundis
        54
    AstroProfundis  
       2017-03-08 21:40:57 +08:00
    @AstroProfundis 又翻了一下,去年的测试结果看 OneinStack 至少是不比源安装差的,不失为一个选择 https://www.v2ex.com/t/270625#reply46
    l9rw
        55
    l9rw  
       2017-03-08 21:44:07 +08:00
    apt 全家桶,一行命令就够了
    vivagonna
        56
    vivagonna  
       2017-03-08 21:56:05 +08:00 via Android
    对一键脚本不放心。 apt-get
    abcbuzhiming
        57
    abcbuzhiming  
       2017-03-08 22:10:43 +08:00
    @jimduan 这不是什么厉害的技能好吗,我的经验就是你要通过几次翻过来覆过去的来回折腾把每一步到底要干嘛全部搞明白,特别是搞明白为啥要这么干,并且解决所有遇到的问题,然后把整个过程和可能的坑全部记录到文档里,然后你以后就是纯粹按手册操作了。很多人觉得难是因为他们就没有下功夫搞,都是满足于“跑起来就行了管它那么多”,结果下次又遇到个问题又傻眼了。而且,会这个还不到“ linux 玩的转”这个级别
    isphone
        58
    isphone  
       2017-03-08 22:17:39 +08:00
    lnmp 。 org
    snailsir
        59
    snailsir  
       2017-03-08 22:24:00 +08:00
    一点小意思,不成敬意(数据库准备用 mariadb )
    https://github.com/dingzhihao/mnote/tree/master/LEMP
    wql
        60
    wql  
       2017-03-08 22:29:26 +08:00 via Android
    MySQL 用包管理器, PHP 用脚本, nginx 手动。
    yuedingwangji
        61
    yuedingwangji  
       2017-03-08 22:42:24 +08:00
    yum 就好了
    youling
        62
    youling  
       2017-03-08 22:45:22 +08:00
    http://www.bt.cn/
    还带控制面板。
    mingyun
        63
    mingyun  
       2017-03-08 23:17:12 +08:00
    自己编译安装,正好熟悉下
    Hello1995
        64
    Hello1995  
       2017-03-08 23:38:14 +08:00 via Android
    Arch 底下装 LEMP , pacman 之。
    pacman -S nginx-mainline php php-fpm mariadb

    Ubuntu/Armbian 底下通常装 LEMP (偶尔 LAMP ), apt-get 之。
    apt-get -y install nginx php7.0 php7.0-fpm mysql-server mysql-client

    Windows (非 Server )底下则使用 phpStudy , Apache / NginX 可方便切换。
    wdlth
        65
    wdlth  
       2017-03-08 23:43:41 +08:00
    自己做了脚本来安装
    mhycy
        66
    mhycy  
       2017-03-09 00:07:20 +08:00
    开发 WAMP ,生产环境手工写配置整理成安装脚本
    owt5008137
        67
    owt5008137  
       2017-03-09 00:20:54 +08:00 via Android
    Vicer
        68
    Vicer  
       2017-03-09 00:24:24 +08:00 via Android
    apt-get
    artandlol
        69
    artandlol  
       2017-03-09 00:47:34 +08:00 via Android
    看版本需求,一般自己编译,包括 gcc 。
    cxbig
        70
    cxbig  
       2017-03-09 01:38:12 +08:00
    这种基础东西最好还是花点时间自己走通,网上当然有一键脚本或各种部署方案。
    但是你得理解原理以后才能更好的去用别人的轮子。
    msg7086
        71
    msg7086  
       2017-03-09 05:13:45 +08:00
    围观一票把发行版用出 LFS 味的大佬……
    davidyin
        72
    davidyin  
       2017-03-09 05:18:56 +08:00 via Android
    不敢说玩得转,只是搭一个可以运行的不是太难,第一次会辛苦一点,多查一下,搞清楚为什么要这么做。记录一下过程,以后就方便了。
    @jimduan
    shiji
        73
    shiji  
       2017-03-09 05:49:50 +08:00
    我一直是用包管理器。偶尔还加个别的源什么的( dotdeb 之类的)

    一键包从来没用过,之前怕不安全,再一个安装了之后还需要不少东西需要手工调,和包管理器没有多少进步。

    编译。。。说实话,我不会。。。我只会编译 C 和 Java 之类的小程序。。。
    我觉得没有必要编译。(不过也想找机会学习一下)
    zhizunzz
        74
    zhizunzz  
       2017-03-09 07:26:41 +08:00 via Android
    docker nginx:alpine php:fpm-alpine mysql 都是官方镜像
    xifanzhou
        75
    xifanzhou  
       2017-03-09 08:37:58 +08:00
    果断 bitnami,见 https://bitnami.com/stack/lamp/installer 。如果是想更加快速地从 0 搭建新机器的话,在阿里云 /XX 云等里面选一个带 LAMP 等全家桶的镜像,启动 ECS 好了~
    ijustdo
        76
    ijustdo  
       2017-03-09 09:14:38 +08:00
    所有的都下好 然后 shell 脚本自动安装
    配置文件都配置好 然后 也是 shell 脚本自动配置
    mysql user 表建好 安装完成后 自动导入 mysql.user 和 my.cnf 也是 shell 脚本

    然后有一个统一的 shell 脚本 嘿嘿....
    Acheron
        77
    Acheron  
       2017-03-09 09:15:59 +08:00
    我都是自己源码编译安装,总感觉自己掌握整个过程,爽快。。。
    Geikiy
        78
    Geikiy  
       2017-03-09 09:19:20 +08:00
    byfar
        79
    byfar  
       2017-03-09 09:25:11 +08:00
    自己写个 dockefile 走到哪带到哪,岂不爽哉?
    killerv
        80
    killerv  
       2017-03-09 09:45:29 +08:00
    lnmp 安装脚本、 apt 安装、源码安装、 docker ,还是喜欢 docker
    linxl
        81
    linxl  
       2017-03-09 10:01:37 +08:00
    源码编译从没成功过的路过, 心塞, 不会
    wawehi
        82
    wawehi  
       2017-03-09 10:10:12 +08:00
    好多年前都是自己编译
    现在如果是自己的服务器就用 apt 装
    如果是云环境,就用 oneinstack 装好后再手工调整一下,然后再制作个自定义镜像,下次再装就直接用这个镜像。
    loudis
        83
    loudis  
       2017-03-09 11:41:42 +08:00
    docker
    Revenant
        84
    Revenant  
       2017-03-09 11:45:36 +08:00
    如果你用的是 CentOS 7.x ,搭建环境简直太简单了:
    1. yum install httpd mariadb mariadb-server php php-devel -y # httpd 就是 Apache , Mariadb 就是 MySQL
    2. 默认 Web 目录在 /var/www/html/, Apache 配置文件在 /etc/httpd/conf/httpd.conf, PHP 配置文件在 /etc/php.ini
    3. 配置 httpd.conf 外网访问配置

    配置 firewalld 防火墙,开放 80 端口
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    # --zone 表示作用域
    # --permanent 表示永久生效

    firewall-cmd --reload # 重新加载防火墙

    启动 MySQL :
    systemctl start mariadb
    启动 Apache :
    systemctl start httpd

    如果还缺什么,欢迎补充。
    29EtwXn6t5wgM3fD
        85
    29EtwXn6t5wgM3fD  
       2017-03-09 13:06:57 +08:00 via iPhone
    oneinstack
    yulgang
        86
    yulgang  
       2017-03-09 13:17:50 +08:00
    用了一年多 directadmin 开心版后 买了它的授权,外加手动调整。
    julyclyde
        87
    julyclyde  
       2017-03-09 13:23:21 +08:00
    如果你水平高,你会选包管理器,因为对它有信心
    如果你水平高,你会选包管理器,因为对自己没信心
    如果你半桶水……
    xiaoz
        88
    xiaoz  
       2017-03-09 13:27:38 +08:00
    @yulgang 这种收费面板是授权 IP 还是授权什么?
    Hucai
        89
    Hucai  
       2017-03-09 13:44:18 +08:00
    @xiaoz 授权 IP ,现在单买比较贵
    wpby
        90
    wpby  
       2017-03-09 14:22:23 +08:00
    为啥没人推荐 Homestead + vagrant +虚拟机
    xeneizes
        91
    xeneizes  
       2017-03-09 14:40:58 +08:00
    @wpby 这是自己本地开发用的吧
    wpby
        92
    wpby  
       2017-03-09 14:45:29 +08:00
    murusu
        93
    murusu  
       2017-03-09 15:19:38 +08:00
    教程靠谱的话能少走很多弯路,当然弄清楚细节是必要的
    https://www.linode.com/docs/websites/
    zrj766
        94
    zrj766  
       2017-03-09 15:25:51 +08:00 via Android
    @xiaoz DA 是授权 IP ,找团购的 DA 比较便宜, 380 左右终生,收个二手基本 300 以内,不过控制权不在自己手上,控制权在手上的比较贵。。或者干脆自己开搞团购,不过能不能卖出去其他的授权和别人信不信任你是另一回事了。
    Showfom
        95
    Showfom  
       2017-03-09 15:28:54 +08:00 via iPhone
    @msg7086 lfs 是啥
    wshcdr
        96
    wshcdr  
       2017-03-09 16:08:25 +08:00
    留名哦
    bao3
        97
    bao3  
       2017-03-09 17:07:53 +08:00
    @shengyu 虚心求教, oneinstack 能否实现真正的一键安装而不必交互?非常需要这个功能。
    realpg
        98
    realpg  
       2017-03-09 18:04:46 +08:00
    apt-get install nginx php7-fpm mysql-server-5.7
    29EtwXn6t5wgM3fD
        99
    29EtwXn6t5wgM3fD  
       2017-03-09 18:25:38 +08:00 via iPhone
    @bao3 安装前会提示选择安装的版本
    msg7086
        100
    msg7086  
       2017-03-10 01:13:34 +08:00
    @Showfom Linux From Scratch
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1035 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 18:43 · PVG 02:43 · LAX 10:43 · JFK 13:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.