前言
为了更加快速的节约时间,我选择用shell脚本一键执行!
这个脚本是使用shell编写,为了快速在生产环境上部署lnmp / lamp /lnmpa 。
(Linux、Nginx/Tengine MySQL /MariaDB /Percona、PHP),适用于CentOS5~7(包括redhat)Debian 6~8、
Ubuntu 12.04~15.04的 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-5.3, php-5.4, php-5.5,php-5.6,php-7)
提供Nginx、Tengine
提供多个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)脚本
提供CentOS6、7下HHVM安装
Github地址:https://github.com/lj2007331/lnmp
Java版本请访问:http://oneinstack.com/
提交问题请访问: http://oneinstack.com/qa/
安装步骤
yum -y install wget screen python#for CentOS/Redhat
#apt-get -y install wget screen python# for Debian/Ubuntu
wget http://aliyun-oss.linuxeye.com/lnmp-full.tar.gz #阿里云内网下载
wget http://mirrors.linuxeye.com/lnmp-full.tar.gz # 包含源码,国内外均可下载
wget http://mirrors.linuxeye.com/lnmp.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 # 请勿sh install.sh或者bash install.sh这样执行
看看安装结果!
如何添加虚拟主机?
-
./vhost.sh
如何删除虚拟主机?
-
./vhost.sh del
如何管理ftp账号?
./pureftpd_vhost.sh
数据备份
cd ~/lnmp # 必须进入lnmp目录下执行
./backup_setup.sh # 备份参数设置
./backup.sh # 立即执行备份
crontab -e # 可添加到计划任务,如每天凌晨1点自动备份
-
0 1 * * * cd ~/lnmp;./backup.sh > /dev/null 2>&1 &
备份参数设置如下图:
如何管理服务?
Nginx/Tengine:
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}
service redis-server {start|stop|status|restart|reload}
Memcached:
service memcached {start|stop|status|restart|reload}
如何更新版本?
-
./upgrade.sh
跨大版本升级(如php):http://oneinstack.com/question/oneinstack-downgrade-if-php-version/
如何卸载?
-
./uninstall.sh
如何重装?
./uninstall.sh # 请先备份数据好数据后再卸载,丢失数据概不负责
./install.sh # 再次安装
更新日志?
2017-11-20 优化代码;修复《Apache mod_deflate压缩模块bug》;默认php编译--enable-intl --with-xsl参数
2017-11-10 Apache默认使用worker MPM模式; php-7.0支持gmagick扩展插件;卸载功能重写,可卸载单独模块
2017-11-07 PHP-7.0.0支持redis、memcached、imagick扩展插件
2017-11-02 PHP-7.0.0发布;增加MariaDB-10.1;vhost.sh增加https(默认自签名证书,需购买ssl证书替换);v1.0版本发布
2016-10-25 增加MySQL-5.7;vhost.sh增加thinkphp伪静态;源码更新到最新稳定
2016-08-31 使用hhvm自建yum仓库,修复一般用户远程备份问题
2016-08-07 添加虚拟主机删除功能
2016-08-04 代码重构优化,删除options.conf中web_install_dir db_install_dir db_data_dir参数
2016-07-16 删除***_centos.sh,添加Shadowsocks服务器端安装脚本;提供数据库升级脚本;更改数据库默认字符集为utf8mb4,旧版本支持数据库升级请参考:《MySQL/MariaDB/Percona数据库升级》
2016-07-01 升级脚本合并成一个入口;添加数据库root密码重装脚本;源码包更新到最新稳定版;包含JAVA版本请访问OneinStack
2016-05-18 Pure-FTPd更改为PureDB(不依赖php和MySQL),提供添加FTP虚拟账号管理脚本
-
2016-05-12 可 自定义Nginx/Apache/PHP-FPM运行用户(安装前修改options.conf中run_user参数);取消子模块依赖,如需重装、更 新大版本php,如果之前已经安装,先删除已经安装目录(或者重命名,如mv /usr/local/php /usr/local/php_bk),再 执行./install.sh php处选y,其余选择n即可;源码包更新到最新稳定版
总结!好事多磨!!!