V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
通过以下 Referral 链接购买 DigitalOcean 主机,你将可以帮助 V2EX 持续发展
DigitalOcean - SSD Cloud Servers
xiparos
V2EX  ›  VPS

LEMP 小白请教配置 VPS 的事情

  •  
  •   xiparos · 2015-02-11 18:55:25 +08:00 · 1024 次点击
    这是一个创建于 3569 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在Linode上面配置Webserver,google了一遍感觉还是不太清楚关于LEMP版本的安装,选择等事宜,特地发帖请教一下

    现在Linode上的主机: Debian 7 (Wheezy )
    我想要的开发环境: Debian 7(Wheezy) + Ngnix + PHP-FPM + PHP5.5 + MySQL

    在Debian上默认安装PHP5.4, PHP5.5一直处于unstable状态,有没有比较靠谱的 source list可以用?还是说已经有了我没有查到,恳请指点一二。

    关于这个配置有没有什么更好的替换方案?

    PS: 我本地主机的环境比较主流, Mac下 PHP5.5.12 + OPCache + Apache2.4 + MySQL ,想在Debian上达到同样的效果,最后再把Apache2.4给替换掉:)

    谢谢大家

    第 1 条附言  ·  2015-02-11 20:55:03 +08:00
    再多问一个问题:如果不从performance的角度,仅从生产环境稳定角度考虑,使用PHP5.5.x和其他非unstable版本,例如dotdeb上面的Ngnix,会有什么问题么?
    21 条回复    2015-02-12 18:06:43 +08:00
    Showfom
        1
    Showfom  
       2015-02-11 20:17:22 +08:00
    楼主你需要 dotdeb 都是最新版本的 php 打包

    dotdeb.org
    xiparos
        2
    xiparos  
    OP
       2015-02-11 20:40:44 +08:00
    @Showfom 好的谢谢你,我看到这个dotdeb.org上面PHP的release了,嗯,基本都全了,没啥选择就用这个了。
    lightryanking
        3
    lightryanking  
       2015-02-11 21:55:18 +08:00   ❤️ 1
    apt-get update&&apt-get upgrade&&wget -c http://soft.vpser.net/lnmp/lnmp1.1-full.tar.gz && tar zxf lnmp1.1-full.tar.gz && cd lnmp1.1-full && ./debian.sh

    千万不要谢我。
    Showfom
        4
    Showfom  
       2015-02-11 22:14:04 +08:00
    @xiparos 是的,这个最全。
    ryd994
        5
    ryd994  
       2015-02-12 01:27:45 +08:00
    用发行版自己的包写点配置有那么难么……
    msg7086
        6
    msg7086  
       2015-02-12 01:33:43 +08:00   ❤️ 1
    dotdeb是用stable的环境去编译testing的软件。
    也就是说你可以让系统里5%的软件是unstable,95%的软件是stable。
    也就是说你可以让系统里5%的软件是上个月的,95%的软件是前年的。
    另外用5.4并不是因为5.4稳定,而是因为系统在冻结稳定版的时候PHP恰好是5.4。
    又比如说nginx是1.2.1并不是因为1.2.1比1.7要稳定,而是当年发布的时候恰好是1.2。
    版本一旦冻结发布,就不会再有新功能新版本软件加入了,都是老版本+安全补丁。
    所以如果你要用新技术,要么dotdeb上局部更新,要么老老实实用滚动更新的testing分支或者等jessie冻结。
    xiparos
        7
    xiparos  
    OP
       2015-02-12 02:06:45 +08:00
    @lightryanking 这个甚好啊,链接也好,而且手把手教,命令行都给出来了,不能爱你更多!
    xiparos
        8
    xiparos  
    OP
       2015-02-12 02:13:21 +08:00
    @ryd994 不好意思水平太low,有些话没理解。请问用发行版写什么样的配置能够达到一些基本要求,我只知道添加个source list,然后update
    xiparos
        9
    xiparos  
    OP
       2015-02-12 02:16:59 +08:00
    @msg7086 谢谢深入解答,照这么理解的话,也没有绝对的stable和unstable之分,毕竟stable还要打安全补丁,所谓的“unstable”只是release之后升级的版本,只要有人在前面踩雷,就算是unstable过一段时间也是会有补丁出来的。
    msg7086
        10
    msg7086  
       2015-02-12 03:40:36 +08:00   ❤️ 1
    @xiparos
    #7 稍微有点能力的就不要用3楼这种一键包了。
    现在偷懒半小时以后会以成倍的时间问你讨回来的。

    #8 Debian里发行版自带的软件包都装好,然后去nginx下,把default复制一份,打开,删掉无用的注释,启用php绑定,改下server_name和root地址,重启nginx,就好了。

    #9 我前面说的所谓unstable是指非稳定版打包,正确的名字应该是testing分支,是指Debian的下一个版本。真正的unstable分支也叫做sid分支,是一个更激进的测试分支。

    比如当前稳定版Deb7.0是2013年发布,所以所有的软件都冻结在2013年并不会再有更新。
    而之后所有的软件更新都归于Deb8.0,也就是现在的testing分支。

    Deb下的新版本软件首先进入sid/unstable分支做测试,如果没有大Bug就移入testing做长期测试。到有一天,Deb的领导者认为testing足够稳定了,就会整个冻结出来成为新的Deb8.0正式版,而testing继续发展并且成为Deb9.0。

    Ubuntu,其实就是基于Deb的sid/unstable分支。所以如果你觉得Ubuntu这个系统足够稳定,那么testing其实也算是足够稳定了。

    就算是sid分支,其实也会优先挑选软件的稳定版而非开发版。
    比如nginx有mainline开发版与stable稳定版两个分支,前者1.7.10,后者1.6.2。
    sid里现在也是选用1.6.2,并且测试稳定后移到testing分支。
    就算是sid也没有跟随1.7.10开发分支,可见他们还是很谨慎的。
    Eleutherios
        11
    Eleutherios  
       2015-02-12 04:00:25 +08:00   ❤️ 1
    @xiparos
    用发行版自己的包的好处是设置一个auto update的crontab脚本, 就基本不用自己维护了.

    # Debian Wheezy
    echo '#!/bin/sh' > /etc/cron.daily/apt-update &&
    echo 'apt-get update && apt-get upgrade -y && apt-get autoclean' >> /etc/cron.daily/apt-update &&
    chmod +x /etc/cron.daily/apt-update &&
    update-rc.d cron enable

    另外, nginx.org的stable源也还算靠谱(版本1.6.2)

    cat << EOF > /etc/apt/sources.list.d/nginx.list
    deb http://nginx.org/packages/debian/ wheezy nginx
    deb-src http://nginx.org/packages/debian/ wheezy nginx
    EOF

    wget http://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key

    apt-get update && apt-get install nginx -y && update-rc.d nginx enable
    xiparos
        12
    xiparos  
    OP
       2015-02-12 04:02:09 +08:00
    @lightryanking 里面的PHP是5.3的。。我还纳闷之后会不会让我选择PHP5.5。。最后还是没有提示,nano进去看了一眼,果然没有PHP5.5。。。不过还是挺感谢你提供的链接和菜鸟教程,对我正合适
    Eleutherios
        13
    Eleutherios  
       2015-02-12 04:04:33 +08:00
    @xiparos
    VPS的话, 记得设置好iptables + ip6tables.

    @msg7086 @ryd994 话说, 为什么都没人推荐HHVM呢...果然还是太新了么.
    xiparos
        14
    xiparos  
    OP
       2015-02-12 04:07:38 +08:00
    @Eleutherios 十分感谢大牛的crontab教程,
    关于Nginx添加source list的命令都看懂了,
    之前那段crontab脚本不是很懂,是说一次键入这些命令以后,以后都不用管了,还是我要定期手动cron一下?
    xiparos
        15
    xiparos  
    OP
       2015-02-12 04:08:13 +08:00
    @Eleutherios HHVM只知道是神器,具体怎么用完全不知道。。。
    xiparos
        16
    xiparos  
    OP
       2015-02-12 04:11:58 +08:00
    @msg7086 嗯嗯,一键安装之后,发现要remove整个Debian系统重新再来一遍了哈哈哈哈
    看了关于Debian testing 和SID分支这一段,又学习了,感谢大牛回复菜鸟贴,希望有更多的人能够看到。
    msg7086
        17
    msg7086  
       2015-02-12 04:12:35 +08:00
    @Eleutherios HHVM只适合自己开发的程序,或者是明确已经兼容的程序。
    拿来跑第三方PHP程序就是个坑,大坑,坑死。
    另外就算是自己开发的程序也可能会有坑。毕竟你的实力和FB的实力不能比。
    Eleutherios
        18
    Eleutherios  
       2015-02-12 04:47:32 +08:00
    @xiparos /etc/cron.daily/下的脚本每日自动运行. 所以我是设置完就不管了.

    @msg7086 好吧...明白了.
    xiparos
        19
    xiparos  
    OP
       2015-02-12 06:00:39 +08:00
    @Eleutherios 多谢指教!
    lightryanking
        20
    lightryanking  
       2015-02-12 10:43:13 +08:00 via iPhone
    可以自己升级啊。我去你也太懒了
    xiparos
        21
    xiparos  
    OP
       2015-02-12 18:06:43 +08:00
    @lightryanking 嗯,好的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3328 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:25 · PVG 20:25 · LAX 04:25 · JFK 07:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.