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

脚本特性

持续不断更新,支持交互、无人值守安装
源码编译安装,大多数源码是最新stable版,并从官方网址下载
提供多个数据库版本(MySQL-8.0, MySQL-5.7, MySQL-5.6, MySQL-5.5, MariaDB-10.3,MariaDB-10.2,MariaDB-10.1,MariaDB-5.5,Percona-8.0, Percona-5.7, Percona-5.6, Percona-5.5,AliSQL-5.6,PostgreSQL, MongoDB)
提供多个PHP版本(PHP-7.3,PHP-7.2,PHP-7.1,PHP-7.0,PHP-5.6, PHP-5.5,PHP-5.4,PHP-5.3)
提供Nginx、Tengine、OpenResty和nginx waf功能
提供多个Apache版本(Apache-2.4,Apache-2.2)
提供多个Tomcat版本(Tomcat-9,Tomcat-8,Tomcat-7,Tomcat-6)
提供多个JDK版本(JDK-11.0,JDK-1.8,JDK-1.7,JDK-1.6)
根据自己需求安装PHP缓存加速器,提供ZendOPcache、xcache、apcu、eAccelerator。及php加解密工具ionCube、ZendGuardLoader
根据自己需求安装Pureftpd、phpMyAdmin
根据自己需求安装Memcached、Redis
jemalloc优化MySQL、Nginx
提供添加虚拟主机脚本
提供Nginx/Tengine/OpenResty/Apache、PHP、Redis、Memcached、phpMyAdmin升级脚本
提供本地备、远程(rsync)、阿里云OSS、腾讯云COS、又拍云、七牛云、亚马逊S3、Google Drive和Dropbox备份脚本
提供CentOS 6、7下HHVM安装
Github地址:https://github.com/oneinstack/lnmp

强烈推荐使用(带java,其余一样):http://oneinstack.com/

安装步骤
80997-omtcamm7a54s4i.png
yum -y install wget screen #for CentOS/Redhat

apt-get -y install wget screen #for Debian/Ubuntu

wget http://mirrors.linuxeye.com/lnmp-full.tar.gz
tar xzf lnmp-full.tar.gz

tar xzf lnmp.tar.gz

cd lnmp # 如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件
screen -S lnmp # 如果网路出现中断,可以执行命令screen -R lnmp重新连接安装窗口
./install.sh
lnmp、lamp、lnmpa一键安装包(Updated: 2019-02-17)
如何添加虚拟主机?
91734-ns0wbw0yrblw61or.png
~/lnmp/vhost.sh
lnmp、lamp、lnmpa一键安装包(Updated: 2019-02-17)
如何删除虚拟主机?
48907-vj9av9ut71cbx1or.png
~/lnmp/vhost.sh --del
lnmp、lamp、lnmpa一键安装包(Updated: 2019-02-17)
如何管理ftp账号?
54299-2e7rigsoyap2e29.png
~/lnmp/pureftpd_vhost.sh
lnmp、lamp、lnmpa一键安装包(Updated: 2019-02-17)
数据备份

~/lnmp/backup_setup.sh # 备份参数设置
~/lnmp/backup.sh # 立即执行备份
crontab -e # 可添加到计划任务,如每天凌晨1点自动备份
0 1 * cd ~/lnmp/backup.sh > /dev/null 2>&1 &
备份参数设置如下图:
28280-zmrudulvxgjeb3xr.png
lnmp、lamp、lnmpa一键安装包(Updated: 2019-02-17)
如何管理服务?

Nginx/Tengine/OpenResty:

service nginx {start|stop|status|restart|reload|configtest}
MySQL/MariaDB/Percona:

service mysqld {start|stop|restart|reload|status}
PHP:

service php-fpm {start|stop|restart|reload|status}
Apache:

service httpd {start|restart|stop}
HHVM:

service supervisord {start|stop|status|restart|reload}
注:hhvm进程交给supervisord管理,了解更多请访问《Supervisor管理hhvm进程》

Pure-Ftpd:

service pureftpd {start|stop|restart|status}
Redis:

service redis-server {start|stop|status|restart|reload}
Memcached:

service memcached {start|stop|status|restart|reload}
如何更新版本?
54314-w883ovhh5mutbj4i.png
~/lnmp/upgrade.sh
lnmp、lamp、lnmpa一键安装包(Updated: 2019-02-17)
跨大版本升级(如php):http://oneinstack.com/question/oneinstack-downgrade-if-php-version/

如何卸载?
61779-wbskwbmilra7cik9.png
~/lnmp/uninstall.sh
lnmp、lamp、lnmpa一键安装包(Updated: 2019-02-17)
如何重装?

~/lnmp/uninstall.sh # 请先备份数据好数据后再卸载,丢失数据概不负责
~/lnmp/install.sh # 再次安装
更新日志

2019-02-17 V2.0版本发布,更多参考:https://oneinstack.com/changelog/
2018-03-18 新增阿里云COS、腾讯云COS备份;启用acme.sh支持通配符,禁用certbot;常规软件版本更新
2017-12-17 新增PostgreSQL、MongoDB、PHP7.2;Apache升级功能; 新增xdebug扩展;新增oneinstack更新;优化vhost.sh
2017-08-13 iptables可选; 新增pathinfo
2017-07-01 支持Debian9;PHP编译使用openssl1.0.2版本
2017-06-02 增加MariaDB 10.2
2017-05-15 增加腾讯云COS v4备份功能
2017-02-14 Nginx添加更多模块参数;新增Nginx magento2伪静态;Apache2.4 ssl默认开启http2
2016-11-02 增加AliSQL;默认启用jemalloc,去除tcmalloc
2016-10-15 数据库支持二进制或源码编译;PHP7支持ioncube、apcu;优化脚本格式
2016-08-21 增加./addons.sh
2016-06-16 Nginx默认使用openssl-1.0.2h;增加Apache SSL功能
2016-04-28 修复Ubuntu 16.04下php-5.3编译错误;V1.2版本发布
2016-04-12 增加OpenResty; 增加Percona-5.7;php编译增加–with-config-file-scan-dir参数,简化php扩展模块载入方式
2016-02-03 优化代码;修复《Apache mod_deflate压缩模块bug》;默认php编译--enable-intl --with-xsl参数
2016-01-10 Apache默认使用worker MPM模式; php-7.0支持gmagick扩展插件;卸载功能重写,可卸载单独模块
2015-12-07 PHP-7.0.0支持redis、memcached、imagick扩展插件
2015-12-02 PHP-7.0.0发布;增加MariaDB-10.1;vhost.sh增加https(默认自签名证书,需购买ssl证书替换);v1.0版本发布
2015-10-25 增加MySQL-5.7;vhost.sh增加thinkphp伪静态;源码更新到最新稳定
2015-08-31 使用hhvm自建yum仓库,修复一般用户远程备份问题
2015-08-07 添加虚拟主机删除功能
2015-08-04 代码重构优化,删除options.conf中web_install_dir db_install_dir db_data_dir参数
2015-07-16 删除vpn_centos.sh,添加SS服务器端安装脚本;提供数据库升级脚本;更改数据库默认字符集为utf8mb4,旧版本支持数据库升级请参考:《MySQL/MariaDB/Percona数据库升级》
2015-07-01 升级脚本合并成一个入口;添加数据库root密码重装脚本;源码包更新到最新稳定版;包含JAVA版本请访问OneinStack
2015-05-18 Pure-FTPd更改为PureDB(不依赖php和MySQL),提供添加FTP虚拟账号管理脚本
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即可;源码包更新到最新稳定版
2015-03-15 php mysql驱动默认为mysqlnd,删除libmysql驱动;软件包更新到最新稳定版
2014-06-09 提供本地备份和远程备份(服务器之间rsync)脚本
2014-05-30 增加ionCube,软件包更新到最新稳定版
2014-05-03 可选择mysqlnd驱动或libmysql驱动 (可参考://linuxeye.com/395.html),软件包更新到最新稳定版
2014-04-07 添加mariadb-10.0支持,软件包更新到最新稳定版
2014-03-02 添加apcu支持,php-5.5版本可选择项opcode cache
2014-02-27 软件包更新到最新稳定版;修复由php bug(opcache引起:https://bugs.php.net/bug.php?id=66597,在php.ini中加入opcache.optimization_level=0)的502错误
2014-01-18 提供Redis、phpMyAdmin升级脚本
2013-11-08 添加Apache-2.4,Apache-2.2,你可以自由组合安装LNMP、LAMP、LANMP
2013-10-23 php-5.4、php5.3支持ZendGuardLoader;添加PHP缓存加速器(zendOpcache、eAccelerator)控制面板,方便查看命中数
2013-10-18 软件包更新到最新稳定版,提供Nginx/Tengine、PHP升级脚本
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
2013-09-10 添加php5.4 5.3可选xcache
2013-09-07 更新phpMyAdmin-4.0.6
2013-09-04 支持Debian;提供Tengine
2013-08-29 可选择使用tcmalloc或者jemalloc优化MySQL、Nginx,参考://linuxeye.com/355.html
2013-08-28 脚本模块化,提供多个版本选择;国内服务器使用163 yum(CentOS)
2013-08-22 支持Redis
2013-08-21 lnmp支持Ubuntu 12+
2013-08-17 更新php-5.5.2;防止断网中断安装过程(安装前执行screen -S lnmp),如果断网可通过 screen -r lnmp 重新连接
2013-08-16 更新ImageMagick-6.8.6-8;一些目录的变更和一些小bug
2013-08-13 添加数据库MariaDB,脚本可以选择安装MySQL还是MariaDB(MariaDB是MySQL分支,参考://linuxeye.com/352.html)
2013-08-09 初始化脚本加入 htop (参考://linuxeye.com/350.html)
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
2013-08-04 加入防盗链功能(添加虚拟主机可选项)
2013-08-01 更新MySQL-5.6.13
2013-07-29 更新phpMyAdmin-4.0.4.2;优化nginx参数(参考:nginx利用多核cpu配置参数worker_cpu_affinity)
2013-07-28 安装sendmail,使服务器能发邮件
2013-07-27 执行lnmp安装脚本可选择性的是否安装memcache,安装后默认启动memcached 并开启11211端口
2013-07-26 修复64位系统 ngx_pagespeed.sh 安装报错; 加入常用开源程序(wordpress、discuz)伪静态规则
2013-07-25
更新yum时,缺少-y参数,可能导致脚本无法自动下面安装;安装lnmp后,可添加ngx_pagespeed模块(执行/root/lnmp
/ngx_pagespeed.sh安装模块),安装模块后用 /root/lnmp/vhost_ngx_pagespeed .sh
添加带这个功能的虚拟主机,不带执行原来脚本 /root/lnmp/vhost.sh 添加虚拟主机,ngx_pagespeed详情参考://linuxeye.com/318.html
2013-07-24 利用nginx防止sql注入(url中含有特性字符)
2013-07-22 hostname -i如果不为127.0.0.1,sendmail会出现问题,修改探针不能连接MySQL问题
2013-07-21 修复php-5.5.x编译报错struct flock问题(解决方法://linuxeye.com/342.html),至此脚本支持CentOS/RadHat 5/6 32/64bit
2013-07-19 版本更新php-5.5.1, 编译php-5.5.x CentOS 6 32位,报错checking for
known struct flock definition… configure: error: Don’t know how to
define struct flock on this system, set –enable-opcache=no
2013-07-18 版本更新nginx-1.4.2、ImageMagick-6.8.6-6; 脚本下载完后,检查所需源码包都是否下载,没有下载完,终止脚本,请联系我
2013-07-17 所有源码都更新到最新的stable版本(除imagick,php5.5需要3.1以上版本),增加vhost.sh ,方便添加虚拟主机,可以选择性的安装Pure-FTPd、phpMyAdmin
2013-07-16 将PHP版本更新到php-5.5.0、mysql-5.6.12

最后修改:2020 年 02 月 07 日
如果觉得我的文章对你有用,请随意赞赏