LEMP 小白请教配置 VPS 的事情 - V2EX
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 1511 次点击

    最近在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  
    PRO
       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  
    PRO
       2015-02-11 22:14:04 +08:00
    @xiparos 是的,这个最全。
    ryd994
        5
    ryd994  
       2015-02-12 01:27:45 +08:00
    用发行版自己的包写点配置有那么难么……
    msg7086
        6
    msg7086  
       2015-0212 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 ngin_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     Solana     3738 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 05:07 PVG 13:07 LAX 21:07 JFK 00:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86