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

你们的服务器的 PHP 环境都是自己一个个配置的吗?

  •  
  •   Kylinsun · 2017-04-18 20:08:57 +08:00 via Android · 8086 次点击
    这是一个创建于 2561 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天想更新一下 php 版本,根目录下有一个 aidata 的文件夹,里面的 php 版本一直都更新不了一直搞不明白为什么更新不了,请教一下各位有没有更新之法。

    现在项目运行环境:
    php5. 5.7
    apache 2.4
    50 条回复    2017-04-20 11:02:06 +08:00
    shiny
        1
    shiny  
       2017-04-18 20:12:32 +08:00   ❤️ 1
    用 Docker , 改个数字,重新构建下就完成升级了——代码兼容性好的话。
    defunct9
        2
    defunct9  
       2017-04-18 20:16:58 +08:00 via iPhone   ❤️ 1
    是的,纯手动
    FYK
        3
    FYK  
       2017-04-18 21:03:25 +08:00   ❤️ 2
    ....到现在还不知道 PHP 的环境是指什么。

    买了云服务器就有 linux 系统了,然后自己安装的 nginx 和 mysql ,以及 php 。话说回来,现在讲起来都不知道自己当时具体是怎么做的了。。。。
    rekulas
        4
    rekulas  
       2017-04-18 21:12:13 +08:00   ❤️ 1
    docker 是正解 环境跟系统和代码隔离开就没那么多麻烦事了
    dsg001
        5
    dsg001  
       2017-04-18 21:17:57 +08:00   ❤️ 2
    懒, lnmp 一键安装
    flowerains
        6
    flowerains  
       2017-04-18 21:21:46 +08:00   ❤️ 1
    用 docker
    或者自己写个一键安装脚本
    maleigebi
        7
    maleigebi  
       2017-04-18 21:35:40 +08:00   ❤️ 1
    docker
    mokeyjay
        8
    mokeyjay  
       2017-04-18 21:41:35 +08:00   ❤️ 1
    lnmp.org 一键包
    DoraJDJ
        9
    DoraJDJ  
       2017-04-18 21:47:47 +08:00 via Android   ❤️ 1
    自己看教程一个个装的,包括后续的安全配置,期间也踩过一些坑。
    cxbig
        10
    cxbig  
       2017-04-18 21:48:36 +08:00   ❤️ 1
    Docker 有现成的 Image 用,求其次 Ansible/Chef/Puppet 也能在 Github 上搜到大堆的 roles 。
    solaro
        11
    solaro  
       2017-04-18 23:17:09 +08:00   ❤️ 1
    自己的 VPS 用 lnmp 一键包,懒
    公司项目生产环境自己配置,全部手动编译, php 一个 5.3.29 一个 7.1.3 , server 用 tengine ,都还算简单,因为都在阿里云上,不用配置什么鸡毛 mysql ,直接用 rds ,代码和数据库分离还是很好很安全的。
    gouchaoer
        12
    gouchaoer  
       2017-04-18 23:20:26 +08:00 via Android   ❤️ 1
    docker 方案最好,因为 php 可能被拿 webshell ,在 docker 里安全上好很多。。。源码放主机目录吧
    sagaxu
        13
    sagaxu  
       2017-04-18 23:23:40 +08:00   ❤️ 2
    给运维兄弟发个邮件就行了
    Kylinsun
        14
    Kylinsun  
    OP
       2017-04-18 23:36:34 +08:00 via Android
    谢谢大家的回复, docker 有在折腾,最近项目需要做做一个用户体验比较好的搜索,找到了 elasticsearch 但是他要求的 php 版本比较高,需求还是挺急的。看来还是得手动重新配。
    vibbow
        15
    vibbow  
       2017-04-19 00:40:16 +08:00
    @gouchaoer 哈?
    PHP 跑 docker 里为啥会安全上好很多?
    难道在实际环境里有漏洞的,在 docker 里就没漏洞了?
    webshell 进去了,该改的文件照样能改,数据库账号密码该看到的不照样能看到。

    如果你是说多个网站隔离的问题的话,那普通环境也可以以用户隔离的。
    Linux 做起来可能相对比较麻烦, IIS 的话每个应用池可以设置跑在一个独立的虚拟用户下的。
    eoo
        16
    eoo  
       2017-04-19 00:45:15 +08:00 via Android
    PHP Nginx 其实....其实......还是挺好编译的 就是 mysql.....
    xiaoshangmin
        17
    xiaoshangmin  
       2017-04-19 00:45:36 +08:00 via iPhone
    lnmp 每次都是手动编译安装 就是爱折腾
    eoo
        18
    eoo  
       2017-04-19 00:46:34 +08:00 via Android
    @xiaoshangmin 能请教 mysql 的安装吗?
    iyaozhen
        19
    iyaozhen  
       2017-04-19 00:49:48 +08:00   ❤️ 1
    都挺好安装的。公司系统一样,直接 copy 就能用,依赖包安装在非系统目录(也不用 root 权限)。
    iRiven
        20
    iRiven  
       2017-04-19 00:56:51 +08:00 via Android   ❤️ 1
    用 apt 也只会用 apt
    fsgmhoward
        21
    fsgmhoward  
       2017-04-19 01:23:49 +08:00 via iPhone   ❤️ 1
    给运维发个短信五分钟后就有了
    lan894734188
        22
    lan894734188  
       2017-04-19 02:27:25 +08:00 via Android   ❤️ 1
    自己有系统镜像
    hiwower
        23
    hiwower  
       2017-04-19 07:54:53 +08:00   ❤️ 1
    。。。用的 mamp
    tilv37
        24
    tilv37  
       2017-04-19 08:41:37 +08:00   ❤️ 1
    我是自己用的, lamp 。。
    xbdsky
        25
    xbdsky  
       2017-04-19 08:45:04 +08:00   ❤️ 1
    bt 系统的飘过
    Kylinsun
        26
    Kylinsun  
    OP
       2017-04-19 08:46:59 +08:00 via Android
    @hiwower 什么鬼。
    torbrowserbridge
        27
    torbrowserbridge  
       2017-04-19 09:06:23 +08:00 via iPhone
    说 php 放到 docker 就变安全的,是来搞笑的吗
    lgpqdwjh
        28
    lgpqdwjh  
       2017-04-19 09:06:37 +08:00
    点一下 就完事了。。
    gouchaoer
        29
    gouchaoer  
       2017-04-19 09:07:39 +08:00 via Android
    @vibbow 哈?
    哈?
    蛤?
    跑 docker 里被拿 webshell 只能改 php 文件和 docker 的系统,发现被黑以后补了漏洞直接重启 docker 就完了。。。。如果 php 直接跑 host 里面的话,你无法确定 host 是否被黑,而且 host 跑了别的服务或者别的 php 项目,也容易被黑。。。普通 linux 下 php 工程隔离你来说说怎么做。。。
    Clarencep
        30
    Clarencep  
       2017-04-19 09:07:40 +08:00
    @vibbow docker 就像一个虚拟机。即使被人攻破拿到 webshell 也是在“虚拟机”里面操作对外面几乎没有影响。

    “难道在实际环境里有漏洞的,在 docker 里就没漏洞了? ” -- 当然 docker 里面还是会有漏洞,只是被“虚拟机”隔离了。

    “该改的文件照样能改” -- 这话就不对了, docker 在使用数据卷的时候可以映射为只读模式,从系统层面杜绝了被修改的可能性。

    “数据库账号密码该看到的不照样能看到” -- 虽然能看到,但是 PHP 里面用到数据库帐号应该采用专用帐号呀?给这个专用帐号限定个 IP 访问,即使攻击者拿到账号密码也很难利用。
    TangMonk
        31
    TangMonk  
       2017-04-19 09:07:47 +08:00 via Android
    docker 每次都要 build 不麻烦吗,而且 volume 也不好用啊
    ren2881971
        32
    ren2881971  
       2017-04-19 09:12:51 +08:00
    我用 oneinstack 觉得挺方便。。
    Felldeadbird
        33
    Felldeadbird  
       2017-04-19 09:19:31 +08:00
    自己编译。然后每个服务器同步一下镜像。升级的话,大概同时操作几台机器做同样事情。反正脚本都一致。源码都一致。
    musikar
        34
    musikar  
       2017-04-19 09:33:55 +08:00
    有洁癖,必须一个一个编译安装,今后考虑用 docker
    licheng527
        35
    licheng527  
       2017-04-19 09:35:33 +08:00
    哈哈,咱们小白只会一键安装
    hiwower
        36
    hiwower  
       2017-04-19 09:38:33 +08:00
    @Kylinsun 看错,我以为本地。。。服务器自然不可能
    JingKeWu
        37
    JingKeWu  
       2017-04-19 09:44:46 +08:00
    centos 服务器 yum 安装的
    collatz
        38
    collatz  
       2017-04-19 09:50:22 +08:00 via iPhone
    第一次手动安装调配好后 就写脚本 感觉就是像 office 在录宏。以后都直接脚本自动化安装加测试。

    Docker 不适合一些 shell 命令调用 就选择性使用
    wwqgtxx
        39
    wwqgtxx  
       2017-04-19 10:20:42 +08:00 via iPhone
    插个队问一下, docker 对 centos6 的古代内核支持到底怎样,会有什么功能上的限制么
    realpg
        40
    realpg  
       2017-04-19 10:27:33 +08:00
    apt-get install php-......
    然后把配置文件各种适应性的拷一份 再处理一下特殊扩展啥的个体问题
    changwei
        41
    changwei  
       2017-04-19 10:47:42 +08:00 via Android
    我是直接 yum php* mysql*等等乱装一通。

    源码编译安装对于水平要求太高,因为你无法确保你的 linux 环境里面的 gcc 等编译器版本和教程的差异会导致什么后果。

    我试过一些云主机所谓的集成环境,光文档就写了很长,而且很多配置文件还改了路径,或者默认的一些设置做了过度优化导致出现不明不白的问题,找的也麻烦,有这么多时间我干脆就自己安装了。
    isCyan
        42
    isCyan  
       2017-04-19 11:19:26 +08:00 via Android
    ubuntu ondrej apt 全家桶
    branchzero
        43
    branchzero  
       2017-04-19 11:22:39 +08:00
    docker 或者上 remi 源
    xiaodongus
        44
    xiaodongus  
       2017-04-19 11:23:28 +08:00 via iPhone
    用的 amh
    jarlyyn
        45
    jarlyyn  
       2017-04-19 11:24:30 +08:00
    不要自己编译,出个安全补丁就搞大了,那是作死。

    要么官方源,要么 Docker 。
    Bardon
        46
    Bardon  
       2017-04-19 11:27:00 +08:00
    想不通,资源隔离,肯定增加安全性的啊?

    -v /path:/path:ro 只读 volumes 你攻破试试?

    一个站点一个容器,你跨站试试?

    重要性不同的库放不同的容器里跑,你拖全部库试试?

    这些难道不属于安全防范了?

    就说 php 这个宇宙第一脚本语言吧,那么写的再烂,也只会影响到它自己以及连接的库,而不会影响到 host 上其他容器的资源。

    应该这么说, docker 会增加安全系数,而且还不小。
    sun019
        47
    sun019  
       2017-04-19 12:20:04 +08:00
    上 docker 吧
    hj2002007
        48
    hj2002007  
       2017-04-19 18:56:32 +08:00
    呵呵呵呵呵呵,我用源代码安装过,日本人的项目 要使用 5.3 的 php 另外 apache , mysql 等 还有各种开源模块全部指定了版本了, centos6.5 yum 安装基本没法搞 只有自己源代码编译了,过程就是难受的要死,各种依赖,各种编译不过,最后花了几天终于搞好了 泪流满面,后来 日本人来中国,帮我们又搭了一次环境, 我们吹牛说 我们一天搞定,他们一副“你们好厉害的表情”。。。。。。
    lights
        49
    lights  
       2017-04-19 20:47:33 +08:00
    用自动化运维平台,一键下发配置包
    lands
        50
    lands  
       2017-04-20 11:02:06 +08:00
    配置好一台, 其他的都基于镜像...考虑到学习成本, docker 目前没上
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5979 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 06:12 · PVG 14:12 · LAX 23:12 · JFK 02:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.