Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
yesono
V2EX  ›  Linux

预写更好用的lnmp

  •  
  •   yesono · Nov 1, 2013 · 16233 views
    This topic created in 4751 days ago, the information mentioned may be changed or developed.
    lnmp.org源码包很旧,于是我自己写了个LNMP(非直接改改,大多都是自己一行行写的),特性:
    持续不断更新
    源码编译安装,大多数源码是最新stable版,并从官方网址下载
    一些安全优化
    提供多个数据库版本(MySQL-5.6, MySQL-5.5, MariaDB-5.5, Percona-5.5,Percona-5.6)
    提供多个PHP版本(php-5.5, php-5.4, php-5.3)
    提供Nginx、Tengine
    根据自己需求安装ngx_pagespeed
    根据自己需求安装PHP缓存加速器,php-5.4和php-5.3提供ZendOPcache、eAccelerator、xcache和ZendGuardLoader(PHP源码加密)(PHP缓存防止冲突只安装一个,注意:php-5.5自带zendOpcache没有其他选择)
    根据自己需求安装Pureftpd、phpMyAdmin
    根据自己需求安装memcached、redis
    根据自己需求可使用tcmalloc或者jemalloc优化MySQL、Nginx
    提供添加虚拟主机脚本
    提供Nginx/Tengine、PHP升级脚本
    可单独只部署MySQL或Nginx、或PHP(单独跑php-fpm,不依赖apache和nginx)
    +++
    varnish 和apache 后面会加上。还有什么功能要添加的?如果LNMP安装包写成这样有人用吗?
    https://github.com/lj2007331/lnmp
    117 replies  •  1970-01-01 08:00:00 +08:00
    1  2  
    ❮ ❯
    saymoon
    saymoon
    Nov 1, 2013❤️1
    1
    再加个带 Openresty 版的吧,我自己改过一个,不过比较乱没整理不适合发布。
    breestealth
    breestealth
    Nov 1, 2013
    2
    希望可以有升级MySQL的脚本,其余的PHP或者nginx之类倒是简单,升级MySQL版本的脚本弄起来有些麻烦,希望可以有这种脚本提供。
    yesono
    yesono
    OP
    Nov 1, 2013❤️1
    3
    yesono
    yesono
    OP
    Nov 1, 2013
    4
    @breestealth MySQL稍微麻烦一点,如果升级MySQL可能PHP也要重新编译 ,后面加上
    blogphp230com
    blogphp230com
    Nov 1, 2013❤️1
    5
    支持,V5
    lhx2008
    lhx2008
    Nov 1, 2013
    6
    Xcache不是和memcc冲突么
    yesono
    yesono
    OP
    Nov 1, 2013
    7
    @lhx2008 不冲突,xcache是 PHP opcode缓存; memcache这主要用来缓解数据库压力
    shiny
    shiny
    PRO
    Nov 1, 2013❤️1
    8
    @lhx2008 Xcache 是和 op code cache 类的扩展冲突,比如 apc、eAccelerator。
    不过随着 Zend Optimizer+ 的开源,opcache 类的扩展很有可能结束一桶浆糊的局面,一统江湖。
    AstroProfundis
    AstroProfundis
    Nov 1, 2013
    9
    说实话不太喜欢编译安装,尤其是在低配机器上可能会内存不足...
    yesono
    yesono
    OP
    Nov 1, 2013
    10
    @AstroProfundis 生产环境一般源码包编译比较多,可以定制,而rpm安装可能把你不需要的都安装了,源码方式甚至可以调gcc参数(CFLAGS和CXXFLAGS)使编译出的程序执行效率有较大提升
    msg7086
    msg7086
    Nov 1, 2013
    11
    <_< 从源码编译安装的目的在于?
    Voren
    Voren
    Nov 1, 2013❤️1
    12
    我建议和lnmp.org合作更新吧...
    yesono
    yesono
    OP
    Nov 1, 2013❤️1
    13
    @shiny 是啊 php-5.5 只用opcache ,命中数很高
    AstroProfundis
    AstroProfundis
    Nov 1, 2013
    14
    @yesono 如果不是有特别的需求(比如定制某些功能或者模块),发行版的打包者其实已经把参数调到一个(对大多数情况)比较理想的状态了,何必非要自己跑一遍编译...
    imzoke
    imzoke
    Nov 1, 2013
    15
    这个很好,支持。
    yesono
    yesono
    OP
    Nov 1, 2013
    16
    @AstroProfundis 能把机器更好的性能发挥出来,编译一遍很简单,所有才写脚本嘛
    kimcool
    kimcool
    Nov 1, 2013❤️1
    17
    支持,现在linode上面跑着老的lnmp,特别不开心
    wxstorm
    wxstorm
    Nov 1, 2013❤️1
    18
    刚装lnmp~
    xiaosong
    xiaosong
    Nov 1, 2013
    19
    大力支持!加上可选的apache那就更强大了!
    1dian01
    1dian01
    Nov 1, 2013❤️1
    20
    lnmp如果写个简单的面板出来就更加赞了。。
    qiuai
    qiuai
    Nov 1, 2013
    21
    来支持一下.
    moname
    moname
    Nov 1, 2013 via iPhone❤️1
    22
    支持下
    fen
    fen
    Nov 1, 2013
    23
    支持一下,自从有了这种一键安装包,我又犯懒了
    Choutreeman
    Choutreeman
    Nov 1, 2013 via Android
    24
    我也想要一个web面板
    faceair
    faceair
    Nov 1, 2013
    25
    大力支持 现在装的lnmp.org的包 感觉php版本低了啊
    iZr
    iZr
    Nov 1, 2013
    26
    楼主写 nginx 插件么?
    loading
    loading
    Nov 1, 2013 via iPhone❤️1
    27
    我是来吐槽第一条的:持续更新

    感谢分享!
    046569
    046569
    Nov 1, 2013
    28

    YMate发来贺电.
    inroading
    inroading
    Nov 1, 2013
    29
    希望不要太臃肿,不要类似Kloxo,DA,CP这样的web面板,如果能出个lamp就更好了
    xiaop
    xiaop
    Nov 1, 2013
    30
    我觉得实在没有必要,debian的包管理就够用了。
    上次用这个不小心把数据库全删了。。。幸好当时备份了一份。
    yesono
    yesono
    OP
    Nov 1, 2013
    31
    @xiaosong 下一步加上
    yesono
    yesono
    OP
    Nov 1, 2013
    32
    @inroading lamp lanmp lnmpv 下一步加上 , 从来不用web面板哦
    yesono
    yesono
    OP
    Nov 1, 2013
    33
    @iZr 没写哦
    likuku
    likuku
    Nov 1, 2013❤️1
    34
    @xiaop 以前用 gentoo 时,nginx 用 portage 安装,mysql用O记2进制通用包,php用源码装,几乎也是一个脚本一键安装,方便快捷,更新管理都容易。

    现在换 debian,假若 没有合适的 apt 源,想从官方找包/源码 来装,折腾的要死,我是几天没搞定~

    现在安心用 dotdeb.org 的源。
    iZr
    iZr
    Nov 1, 2013
    35
    @likuku apt-get?搞定一切么
    likai
    likai
    Nov 1, 2013
    36
    @yesono
    p是php啊。要是python就爽多了。
    yesono
    yesono
    OP
    Nov 1, 2013
    37
    @likai 还真有这种打算 就怕太臃肿了
    min
    min
    Nov 1, 2013
    38
    pacman飘过 表示不懂为什么要这样做
    likuku
    likuku
    Nov 1, 2013
    39
    @iZr 是啊,apt-get 搞不定的话,debian 下很难伺候...
    feuvan
    feuvan
    Nov 1, 2013
    40
    @likuku dotdeb
    qiuai
    qiuai
    Nov 1, 2013
    41
    @046569 收费了啊...这回支持centos了么...
    yesono
    yesono
    OP
    Nov 1, 2013
    42
    @046569 牛
    046569
    046569
    Nov 1, 2013
    43
    @qiuai
    仍然未支持,是不是很想抽我.
    ^_^
    qiuai
    qiuai
    Nov 1, 2013
    44
    @046569 =.=我也很无奈了...我这能开的机器和已经开的机器,全是centos.......
    046569
    046569
    Nov 1, 2013
    45
    @qiuai
    年后合适的时机会支持,到时候人多开发会快很多.
    coosir
    coosir
    Nov 2, 2013
    46
    支持啊,N-M-P能随时升级很重要~
    princeofwales
    princeofwales
    Nov 2, 2013
    47
    debian 7,安装的开始阶段,图形界面手工配置LDAP太不友好了
    yesono
    yesono
    OP
    Nov 2, 2013
    48
    @princeofwales 这个一直没找到好的解决方法 这个东西又必须安装 后面有依赖 求解
    yesono
    yesono
    OP
    Nov 2, 2013
    49
    @coosir 差数据库 后面加上
    vibbow
    vibbow
    Nov 2, 2013
    50
    居然没有 mysql-client !!!!!!!!!!!!!!!!!
    coolicer
    coolicer
    Nov 2, 2013❤️1
    51
    不错,我也是lnmp
    yesono
    yesono
    OP
    Nov 2, 2013❤️1
    52
    @vibbow ?
    princeofwales
    princeofwales
    Nov 2, 2013 via Android❤️1
    53
    还是debian 7,第一次装MySQL选5.6,安装中途直接中断,提示MySQL安装失败;第二次选完整包,MySQL选5.5,半个小时后还是提升MySQL失败,但我用phpmyadmin可以连接MySQL,实际上是可用的。军哥的lnmp用了3年,感觉还不错。第一次试用你们的,功能很多,但感觉不稳定
    liliang13
    liliang13
    PRO
    Nov 2, 2013❤️1
    54
    阿里云的机器测试安装完后首页可以打开,其他页面是502,然后就没有然后了。
    yesono
    yesono
    OP
    Nov 2, 2013
    55
    @princeofwales 刚刚我用do 测试了下debian 7 ,模拟这个 没问题哦 ,能发份log给我不,谢谢! ps:lj2007331#gmail.com
    yesono
    yesono
    OP
    Nov 2, 2013
    56
    @liliang13 能发份log给我吗? lj2007331 # gmail.com
    liliang13
    liliang13
    PRO
    Nov 2, 2013
    57
    @yesono 抱歉啊,我直接重装系统了。这样,我换回去,重新用你的脚本跑一边,看能不能重现。能的话给你 log ,不能就真抱歉了。 = =
    yesono
    yesono
    OP
    Nov 2, 2013
    58
    @liliang13 好的。其实不用重装系统了 ,再次执行即可。谢谢反馈!
    princeofwales
    princeofwales
    Nov 2, 2013
    59
    @yesono log已经发给你了。第一次安装的log没有了,因为安装失败,我把vps reinstall了;第二次的log,我仔细看了下,好像最后的mysql server pid file not found没有影响,但最后的starting mysql的结果不会回显。军哥的lnmp 1.0最后也有一个starting的小问题,明明服务已经started了,但CLI一直停留不动
    liliang13
    liliang13
    PRO
    Nov 2, 2013❤️1
    60
    @yesono 之前的系统是阿里云的 Ubuntu 12.04 64 位安全加固版。这个安全加固版和普通的有区别。
    yesono
    yesono
    OP
    Nov 2, 2013
    61
    @liliang13 mysql server pid file not found没有关系,首先安装MySQL后,为了节约系统资源(后面编译)关闭了MySQL,最后再启动MySQL: service mysqld restart (已经关闭MySQL,直接重启就有这个提示,正常的)
    yesono
    yesono
    OP
    Nov 2, 2013
    62
    @liliang13 加固版应该是做了一些安全设置,没用测试用在加固版下 抱歉!
    princeofwales
    princeofwales
    Nov 2, 2013
    63
    @yesono 我想的也是这样,不过,竟然mysql都已经关闭了,为什么最后不用service mysqld start,而用restart?还有,上面提到了,跟军哥的一样,最后一步,starting mysql....,很久了都停留在那里,给人的感觉是,mysql没有正常启动完,整个安装进程也没完。实际上ctrl+Z,查看mysql的状态是正常的
    princeofwales
    princeofwales
    Nov 2, 2013
    64
    @yesono 还有,少了一个类似/root/lnmp的管理工具,有些不便
    yesono
    yesono
    OP
    Nov 2, 2013
    65
    @princeofwales 这确实有点点问题,直接start就ok,已改;starting mysql.... 后面应该[ok],这个是MySQL自动启动脚本问题???
    yesono
    yesono
    OP
    Nov 2, 2013
    66
    @princeofwales 所有服务都可以通过service启动关闭等管理,如 service nginx restart, service mysqld restart, service php-fpm restart , service redis-server restart ,service memcached restart等等,其他管理工具没必要了吧???
    yylzcom
    yylzcom
    Nov 2, 2013
    67
    debian的推荐用actgod的脚本啊,不过是lamnp的
    imzoke
    imzoke
    Nov 2, 2013❤️1
    68
    @yesono 第一时间就试用了你的作品,很全面,以前一直用军哥的,也经常吐槽更新较慢。不过稳定性很重要,希望越做越好。
    一个统一的管理脚本很方便,一个操作即可完成所有的启动或停止等。不过也很简单,照着军哥的也可以写一个。
    qiufeng
    qiufeng
    Nov 2, 2013
    69
    貌似很不错啊!!
    yesono
    yesono
    OP
    Nov 2, 2013
    70
    @imzoke 脚本可以单独只安装MySQL或者Nginx或者甚至PHP,每个服务通过service管理,如:你只安装php,直接执行 service php-fpm restart 。加上组合的貌似不太好,个人想法
    princeofwales
    princeofwales
    Nov 2, 2013
    71
    已经用上了,2个wordpress,效果观察中

    我比较看中的是ngx_pagespeed,手工编译加上这个东西得好几步,现在一次搞定。不过这个插件和wp super cache好像有点兼容性问题

    现在的Mysql默认都用inno了,小站点,不喜欢,转成myisam。如果安装mysql之前可以选择默认存储引擎就好了

    还有,升级nginx,pagespeed会自动加进去编译吗?看代码,可以继承nginx_configure_arguments,求证
    princeofwales
    princeofwales
    Nov 2, 2013
    72
    @yesono ngx_pagespeed不好玩,刚才又发现一个跟wordpress插件的异常。求nginx下卸载此功能的简单办法
    yesono
    yesono
    OP
    Nov 2, 2013
    73
    @princeofwales
    把nginx配置文件删掉 重新生成不用 ngx_pagespeed ,这东东有些问题 ,建议还是别安装
    wtcoder
    wtcoder
    PRO
    Nov 2, 2013
    74
    ngx_pagespeed 唯一蛋疼的就是缓存没法单独清理。

    这个包很给力! 感谢撸主!
    yesono
    yesono
    OP
    Nov 2, 2013
    75
    @wtcoder 是啊 只能直接删 rm -r /var/ngx_pagespeed_cache/* ,慎用吧
    谢谢支持
    aveline
    aveline
    Nov 2, 2013
    76
    以前生产环境都是每台机器编译,现在一台机器专门跑编译打包然后发布到自己的 apt 源,其他机器 直接装就是了。。。
    yesono
    yesono
    OP
    Nov 2, 2013
    77
    @aveline 硬件相同 这样处理速度快多了
    princeofwales
    princeofwales
    Nov 2, 2013
    78
    @yesono 懒得再编译nginx了,直接在vhost/*.conf里删除了跟pagespeed相关的代码,重载,然后删除ngx_pagespeed_cache里的内容。现在wp super cache正常了
    yesono
    yesono
    OP
    Nov 2, 2013
    79
    @princeofwales ngx_pagespeed_cache和wp super cache是有冲突 ,不用wp super cache 貌似不会有问题
    wtcoder
    wtcoder
    PRO
    Nov 2, 2013
    80
    另外如果撸主 有空把软件下载点定期发布到 国内云存储 就更好了。

    比如七牛,阿里云什么的。。 国外的下载实在太慢。
    yesono
    yesono
    OP
    Nov 2, 2013❤️1
    81
    @wtcoder 有个lnmp-full.tar.gz 包哦 都包含了
    vibbow
    vibbow
    Nov 2, 2013❤️1
    82
    http://v2ex.com/t/87755

    求解释,为什么编译出来的性能这么差劲?
    yesono
    yesono
    OP
    Nov 2, 2013
    83
    @vibbow 这个要根据自己的环境来调整参数,性能差别没那么大吧。感觉又在讨论用源码编译方式(./configure && make && make install) 还是直接用二进制(apt-get、yum)?
    看看这篇文章?:http://www.penglixun.com/tech/database/mysql_compile_reference.html
    vibbow
    vibbow
    Nov 2, 2013
    84
    @yesono 问题是我和另外一个人的测试结果,都是直接2倍的性能差距...
    AstroProfundis
    AstroProfundis
    Nov 2, 2013
    85
    @yesono 没...一直觉得安装方式完全就是个人习惯,怎么样顺手怎么样来就行了,也一直觉得两种方式在大多数情况下应该几乎没有区别...然后那个测试结果很不科学所以就不知道是怎么回事了_(:зゝ∠)_
    hzqim
    hzqim
    Nov 4, 2013
    86
    现如今是apt-get install 了。
    yesono
    yesono
    OP
    Nov 4, 2013
    87
    @hzqim debian/ubuntu apt-get比较方便;CentOS/RHEL yum不是很方便
    coosir
    coosir
    Nov 4, 2013
    88
    mysql还是编译失败了,Ubuntu 12.04 64位 后来用其他的了,没保留下日志
    yesono
    yesono
    OP
    Nov 4, 2013
    89
    @coosir Email: lj2007331#gmail.com ,Thx
    ShunYea
    ShunYea
    Nov 4, 2013
    90
    求支持MariaDB的,现在MySQL大势已去,支持MariaDB是必要的。
    yesono
    yesono
    OP
    Nov 4, 2013
    91
    @ShunYea 哈哈 握手
    ShunYea
    ShunYea
    Nov 4, 2013
    93
    @yesono 有时间试试你的,我现在业务上全用的lnmp.org的那个包,感觉还比较稳定,就是少了MariaDB。看了很多回复,发现你的包有很多问题。加油啊,慢慢完善,做个完美的出来。
    yesono
    yesono
    OP
    Nov 4, 2013
    94
    @ShunYea 由于版本众多、自由度较高(如:安装路径修改)、各种组合等脚本复杂度要高一些,问题还有一些,大问题应该没有吧。要依靠大家一起完善反馈 ^ _ ^
    vibbow
    vibbow
    Nov 5, 2013
    95
    @yesono 那那个二倍的性能问题呢?
    yesono
    yesono
    OP
    Nov 6, 2013
    96
    @vibbow 我后面仔细测试下,优化调整参数(现在的参数是高配置的),我线上用得挺好 。我也不知道你测试的性能数据是不是有问题,不过应该不至于差别这么大
    vibbow
    vibbow
    Nov 6, 2013
    97
    @yesono 我测试也用的是正常的wordpress + 官方的测试数据啊。
    再说就算测试数据有问题,编译的和源里的差别也不应该差这么多啊。

    除非编译的时候有什么默认参数设置的不对。
    vibbow
    vibbow
    Nov 6, 2013
    98
    @yesono 我建议你自己用同样的配置,测试一遍你的编译脚本和官方源的性能差别。
    你也可以按照我的测试方法来试试看。
    vibbow
    vibbow
    Nov 6, 2013❤️1
    99
    @yesono 毕竟我是花了四五个小时测试,得出来的这个结论的。
    而不是随意大概测试十几分钟得出来的这个结论的。
    yesono
    yesono
    OP
    Nov 6, 2013
    100
    @vibbow ok。最近在加apache,我再仔细测试下。
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5197 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 151ms · UTC 01:22 · PVG 09:22 · LAX 17:22 · JFK 20:22
    ♥ Do have faith in what you're doing.