lnmp、lamp、lnmpa一键安装包
分类:SHELL 热度:

lnmp、lamp、lnmpa一键安装包

这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa(Linux、Nginx/Tengine/OpenResty、MySQL/MariaDB/Percona、PHP),适用于CentOS 5~7(包括redhat)、Debian 6~8、Ubuntu 12~16的32位和64位。

脚本特性

  • 持续不断更新
  • 源码编译安装,大多数源码是最新stable版,并从官方网址下载
  • 一些安全优化
  • 提供多个数据库版本(MySQL-5.7, MySQL-5.6, MySQL-5.5, MariaDB-10.1, MariaDB-10.0, MariaDB-5.5, Percona-5.6, Percona-5.5)
  • 提供多个PHP版本(php-7, php-5.6, php-5.5,php-5.4,php-5.3)
  • 提供Nginx、Tengine、OpenResty
  • 提供多个Apache版本(Apache-2.4,Apache-2.2)
  • 根据自己需求安装PHP缓存加速器,提供ZendOPcache、xcache、apcu、eAccelerator。及php加解密工具ionCube、ZendGuardLoader
  • 根据自己需求安装Pureftpd、phpMyAdmin
  • 根据自己需求安装memcached、redis
  • 根据自己需求可使用tcmalloc或者jemalloc优化MySQL、Nginx
  • 提供添加、删除虚拟主机脚本
  • 提供Nginx/Tengine、MySQL/MariaDB/Percona、PHP、Redis、phpMyAdmin升级脚本
  • 提供本地备份和远程备份(服务器之间rsync)脚本
  • 提供CentOS 6、7下HHVM安装

Github地址:https://github.com/lj2007331/lnmp

带JAVA版本请访问:http://oneinstack.com/

提交问题请访问:http://oneinstack.com/qa/

问题反馈请加QQ群:

  • 558540514 (付费千人群)
  • 556824757(新)
  • 213014293(满)
  • 486321919(满)
  • 438311066(满)
  • 235258658(满)

安装步骤

  1. yum -y install wget screen python#for CentOS/Redhat
  2. #apt-get -y install wget screen python# for Debian/Ubuntu
  3. wget http://aliyun-oss.linuxeye.com/lnmp-full.tar.gz #阿里云内网下载
  4. wget http://mirrors.linuxeye.com/lnmp-full.tar.gz # 包含源码,国内外均可下载
  5. wget http://mirrors.linuxeye.com/lnmp.tar.gz # 不包含源码,建议仅国外主机下载
  6. tar xzf lnmp-full.tar.gz
  7. #tar xzf lnmp.tar.gz
  8. cd lnmp # 如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件
  9. screen -S lnmp # 如果网路出现中断,可以执行命令`screen -r lnmp`重新连接安装窗口
  10. ./install.sh # 请勿sh install.sh或者bash install.sh这样执行

如何添加虚拟主机?

  1. ./vhost.sh

如何删除虚拟主机?

 
  1. ./vhost.sh del

如何管理ftp账号?

  1. ./pureftpd_vhost.sh

数据备份

 
  1. cd ~/lnmp # 必须进入lnmp目录下执行
  2. ./backup_setup.sh # 备份参数设置
  3. ./backup.sh # 立即执行备份
  4. crontab -e # 可添加到计划任务,如每天凌晨1点自动备份
  5. 0 1 * * * cd ~/lnmp;./backup.sh  > /dev/null 2>&1 &

备份参数设置如下图:

如何管理服务?

Nginx/Tengine:

 
  1. service nginx {start|stop|status|restart|reload|configtest}

MySQL/MariaDB/Percona:

 
  1. service mysqld {start|stop|restart|reload|status}

PHP:

 
  1. service php-fpm {start|stop|restart|reload|status}

Apache:

  1. service httpd {start|restart|stop}

HHVM:

 
  1. service supervisord {start|stop|status|restart|reload}

注:hhvm进程交给supervisord管理,了解更多请访问《Supervisor管理hhvm进程

Pure-Ftpd:

  1. service pureftpd {start|stop|restart|status}

Redis:

 
  1. service redis-server {start|stop|status|restart|reload}

Memcached:

 
  1. service memcached {start|stop|status|restart|reload}

如何更新版本?

  1. ./upgrade.sh

跨大版本升级(如php):http://oneinstack.com/question/oneinstack-downgrade-if-php-version/

如何卸载?

  1. ./uninstall.sh

如何重装?

 
  1. ./uninstall.sh # 请先备份数据好数据后再卸载,丢失数据概不负责
  2. ./install.sh # 再次安装

更新日志

 
  1. 2016-08-21 增加./addon.sh
  2. 2016-06-16 Nginx默认使用openssl-1.0.2h;增加Apache SSL功能
  3. 2016-04-28 修复Ubuntu 16.04下php-5.3编译错误;V1.2版本发布
  4. 2016-04-12 增加OpenResty; 增加Percona-5.7;php编译增加–with-config-file-scan-dir参数,简化php扩展模块载入方式
  5. 2016-02-03 优化代码;修复《Apache mod_deflate压缩模块bug》;默认php编译--enable-intl --with-xsl参数
  6. 2016-01-10 Apache默认使用worker MPM模式; php-7.0支持gmagick扩展插件;卸载功能重写,可卸载单独模块
  7. 2015-12-07 PHP-7.0.0支持redis、memcached、imagick扩展插件
  8. 2015-12-02 PHP-7.0.0发布;增加MariaDB-10.1;vhost.sh增加https(默认自签名证书,需购买ssl证书替换);v1.0版本发布
  9. 2015-10-25 增加MySQL-5.7;vhost.sh增加thinkphp伪静态;源码更新到最新稳定
  10. 2015-08-31 使用hhvm自建yum仓库,修复一般用户远程备份问题
  11. 2015-08-07 添加虚拟主机删除功能
  12. 2015-08-04 代码重构优化,删除options.conf中web_install_dir db_install_dir db_data_dir参数
  13. 2015-07-16 删除vpn_centos.sh,添加Shadowsocks服务器端安装脚本;提供数据库升级脚本;更改数据库默认字符集为utf8mb4,旧版本支持数据库升级请参考:《MySQL/MariaDB/Percona数据库升级》
  14. 2015-07-01 升级脚本合并成一个入口;添加数据库root密码重装脚本;源码包更新到最新稳定版;包含JAVA版本请访问OneinStack
  15. 2015-05-18 Pure-FTPd更改为PureDB(不依赖php和MySQL),提供添加FTP虚拟账号管理脚本
  16. 2015-05-12 可自定义Nginx/Apache/PHP-FPM运行用户(安装前修改options.conf中run_user参数);取消子模块依赖,如需重装、更新大版本php,如果之前已经安装,先删除已经安装目录(或者重命名,如mv /usr/local/php /usr/local/php_bk),再执行./install.sh php处选y,其余选择n即可;源码包更新到最新稳定版
  17. 2015-03-15 php mysql驱动默认为mysqlnd,删除libmysql驱动;软件包更新到最新稳定版
  18. 2014-06-09 提供本地备份和远程备份(服务器之间rsync)脚本
  19. 2014-05-30 增加ionCube,软件包更新到最新稳定版
  20. 2014-05-03 可选择mysqlnd驱动或libmysql驱动 (可参考://blog.linuxeye.com/395.html),软件包更新到最新稳定版
  21. 2014-04-07 添加mariadb-10.0支持,软件包更新到最新稳定版
  22. 2014-03-02 添加apcu支持,php-5.5版本可选择项opcode cache
  23. 2014-02-27 软件包更新到最新稳定版;修复由php bug(opcache引起:https://bugs.php.net/bug.php?id=66597,在php.ini中加入opcache.optimization_level=0)的502错误
  24. 2014-01-18  提供Redis、phpMyAdmin升级脚本
  25. 2013-11-08  添加Apache-2.4,Apache-2.2,你可以自由组合安装LNMP、LAMP、LANMP
  26. 2013-10-23  php-5.4、php5.3支持ZendGuardLoader;添加PHP缓存加速器(zendOpcache、eAccelerator)控制面板,方便查看命中数
  27. 2013-10-18  软件包更新到最新稳定版,提供Nginx/Tengine、PHP升级脚本
  28. 2013-09-20  添加Percona-5.5-33;更新php-5.5.4、php-5.4.20,mysql-5.6.14、mysql-5.5.34,ImageMagick-6.8.6-10
  29. 2013-09-10  添加php5.4 5.3可选xcache
  30. 2013-09-07  更新phpMyAdmin-4.0.6
  31. 2013-09-04  支持Debian;提供Tengine
  32. 2013-08-29  可选择使用tcmalloc或者jemalloc优化MySQL、Nginx,参考://blog.linuxeye.com/355.html
  33. 2013-08-28  脚本模块化,提供多个版本选择;国内服务器使用163 yum(CentOS)
  34. 2013-08-22  支持Redis
  35. 2013-08-21  lnmp支持Ubuntu 12+
  36. 2013-08-17  更新php-5.5.2;防止断网中断安装过程(安装前执行screen -S lnmp),如果断网可通过 screen -r lnmp 重新连接
  37. 2013-08-16  更新ImageMagick-6.8.6-8;一些目录的变更和一些小bug
  38. 2013-08-13  添加数据库MariaDB,脚本可以选择安装MySQL还是MariaDB(MariaDB是MySQL分支,参考://blog.linuxeye.com/352.html)
  39. 2013-08-09  初始化脚本加入 htop (参考://blog.linuxeye.com/350.html)
  40. 2013-08-08  php-5.5内嵌PDO_MYSQL(预编译时加参数--with-pdo-mysql),删除扩展包PDO_MYSQL-1.0.2.tgz (官方说明:http://pecl.php.net/package/PDO_MYSQL);更新phpMyAdmin-4.0.5
  41. 2013-08-04  加入防盗链功能(添加虚拟主机可选项)
  42. 2013-08-01  更新MySQL-5.6.13
  43. 2013-07-29  更新phpMyAdmin-4.0.4.2;优化nginx参数(参考:nginx利用多核cpu配置参数worker_cpu_affinity)
  44. 2013-07-28  安装sendmail,使服务器能发邮件
  45. 2013-07-27  执行lnmp安装脚本可选择性的是否安装memcache,安装后默认启动memcached 并开启11211端口
  46. 2013-07-26  修复64位系统 ngx_pagespeed.sh 安装报错; 加入常用开源程序(wordpress、discuz)伪静态规则
  47. 2013-07-25
  48. 更新yum时,缺少-y参数,可能导致脚本无法自动下面安装;安装lnmp后,可添加ngx_pagespeed模块(执行/root/lnmp
  49. /ngx_pagespeed.sh安装模块),安装模块后用 /root/lnmp/vhost_ngx_pagespeed .sh
  50. 添加带这个功能的虚拟主机,不带执行原来脚本 /root/lnmp/vhost.sh 添加虚拟主机,ngx_pagespeed详情参考://blog.linuxeye.com/318.html
  51. 2013-07-24  利用nginx防止sql注入(url中含有特性字符)
  52. 2013-07-22  hostname -i如果不为127.0.0.1,sendmail会出现问题,修改探针不能连接MySQL问题
  53. 2013-07-21  修复php-5.5.x编译报错struct flock问题(解决方法://blog.linuxeye.com/342.html),至此脚本支持CentOS/RadHat 5/6 32/64bit
  54. 2013-07-19  版本更新php-5.5.1,  编译php-5.5.x CentOS 6 32位,报错checking for
  55. known struct flock definition… configure: error: Don’t know how to
  56. define struct flock on this system, set –enable-opcache=no
  57. 2013-07-18  版本更新nginx-1.4.2、ImageMagick-6.8.6-6; 脚本下载完后,检查所需源码包都是否下载,没有下载完,终止脚本,请联系我
  58. 2013-07-17  所有源码都更新到最新的stable版本(除imagick,php5.5需要3.1以上版本),增加vhost.sh ,方便添加虚拟主机,可以选择性的安装Pure-FTPd、phpMyAdmin
  59. 2013-07-16  将PHP版本更新到php-5.5.0、mysql-5.6.12
Fri Aug 28 10:02:00 CST 2015
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  1. avatarmichael 1

    顺便说一下,这个magento商城自带个貌似比较复杂的真对nginx的配置的simple文件,作者酌情可以考虑加在其中。

    # Magento Vars
    # set $MAGE_ROOT /path/to/magento/root;
    # set $MAGE_MODE default; # or production or developer
    #
    # Example configuration:
    # upstream fastcgi_backend {
    # # use tcp connection
    # # server 127.0.0.1:9000;
    # # or socket
    # server unix:/var/run/php5-fpm.sock;
    # }
    # server {
    # listen 80;
    # server_name mage.dev;
    # set $MAGE_ROOT /var/www/magento2;
    # set $MAGE_MODE developer;
    # include /vagrant/magento2/nginx.conf.sample;
    # }

    root $MAGE_ROOT/pub;

    index index.php;
    autoindex off;
    charset off;

    add_header ‘X-Content-Type-Options’ ‘nosniff’;
    add_header ‘X-XSS-Protection’ ‘1; mode=block’;

    location /setup {
    root $MAGE_ROOT;
    location ~ ^/setup/index.php {
    fastcgi_pass fastcgi_backend;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

    location ~ ^/setup/(?!pub/). {
    deny all;
    }

    location ~ ^/setup/pub/ {
    add_header X-Frame-Options “SAMEORIGIN”;
    }
    }

    location /update {
    root $MAGE_ROOT;

    location ~ ^/update/index.php {
    fastcgi_split_path_info ^(/update/index.php)(/.+)$;
    fastcgi_pass fastcgi_backend;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    include fastcgi_params;
    }

    # deny everything but index.php
    location ~ ^/update/(?!pub/). {
    deny all;
    }

    location ~ ^/update/pub/ {
    add_header X-Frame-Options “SAMEORIGIN”;
    }
    }

    location / {
    try_files $uri $uri/ /index.php?$args;
    }

    location /pub {
    location ~ ^/pub/media/(downloadable|customer|import|theme_customization/.*\.xml) {
    deny all;
    }
    alias $MAGE_ROOT/pub;
    add_header X-Frame-Options “SAMEORIGIN”;
    }

    location /static/ {
    if ($MAGE_MODE = “production”) {
    expires max;
    }
    location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
    add_header Cache-Control “public”;
    add_header X-Frame-Options “SAMEORIGIN”;
    expires +1y;

    if (!-f $request_filename) {
    rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
    }
    }
    location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
    add_header Cache-Control “no-store”;
    add_header X-Frame-Options “SAMEORIGIN”;
    expires off;

    if (!-f $request_filename) {
    rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
    }
    }
    if (!-f $request_filename) {
    rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
    }
    add_header X-Frame-Options “SAMEORIGIN”;
    }

    location /media/ {
    try_files $uri $uri/ /get.php?$args;

    location ~ ^/media/theme_customization/.*\.xml {
    deny all;
    }

    location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
    add_header Cache-Control “public”;
    add_header X-Frame-Options “SAMEORIGIN”;
    expires +1y;
    try_files $uri $uri/ /get.php?$args;
    }
    location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
    add_header Cache-Control “no-store”;
    add_header X-Frame-Options “SAMEORIGIN”;
    expires off;
    try_files $uri $uri/ /get.php?$args;
    }
    add_header X-Frame-Options “SAMEORIGIN”;
    }

    location /media/customer/ {
    deny all;
    }

    location /media/downloadable/ {
    deny all;
    }

    location /media/import/ {
    deny all;
    }

    location ~ cron\.php {
    deny all;
    }

    location ~ (index|get|static|report|404|503)\.php$ {
    try_files $uri =404;
    fastcgi_pass fastcgi_backend;

    fastcgi_param PHP_FLAG “session.auto_start=off \n suhosin.session.cryptua=off”;
    fastcgi_param PHP_VALUE “memory_limit=256M \n max_execution_time=600”;
    fastcgi_read_timeout 600s;
    fastcgi_connect_timeout 600s;
    fastcgi_param MAGE_MODE $MAGE_MODE;

    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

  2. avatarComeback 1

    我有CentOS的7 VPS和我有这样的错误信息:

    [quote]c++: internal compiler error: Killed (program cc1plus)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See for instructions.
    make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc.cc.o] Error 4
    make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
    make: *** [all] Error 2
    MySQL install failed, Please contact the author!
    Killed
    /bin/cp: cannot stat ‘/usr/local/mysql/support-files/mysql.server’: No such file or directory
    [root@7585 lnmp]# chmod: cannot access ‘/etc/init.d/mysqld’: No such file or directory
    error reading information on service mysqld: No such file or directory
    error reading information on service mysqld: No such file or directory
    include/mysql-5.7.sh: line 207: /usr/local/mysql/bin/mysqld: No such file or directory
    Redirecting to /bin/systemctl start mysqld.service
    Failed to start mysqld.service: Unit mysqld.service failed to load: No such file or directory.
    include/mysql-5.7.sh: line 216: /usr/local/mysql/bin/mysql: No such file or directory
    include/mysql-5.7.sh: line 217: /usr/local/mysql/bin/mysql: No such file or directory
    include/mysql-5.7.sh: line 218: /usr/local/mysql/bin/mysql: No such file or directory
    Redirecting to /bin/systemctl stop mysqld.service
    Failed to stop mysqld.service: Unit mysqld.service not loaded.[/quote]


上一篇:并发批量管理500台以上服务器脚本分享(shell版) 下一篇:Linux shell用法和技巧
猜你喜欢
各种观点
热门排行
精彩图文