這個(gè)腳本是使用shell編寫襟齿,為了快速在生產(chǎn)環(huán)境上部署lnmp/lamp/lnmpa(Linux、Nginx/Tengine/OpenResty枕赵、MySQL/MariaDB/Percona猜欺、PHP),適用于CentOS 5~7(包括redhat)拷窜、Debian 6~8开皿、Ubuntu 12~16的32位和64位。
腳本特性
持續(xù)不斷更新
源碼編譯安裝篮昧,大多數(shù)源碼是最新stable版赋荆,并從官方網(wǎng)址下載
提供多個(gè)數(shù)據(jù)庫版本(MySQL-5.7,MySQL-5.6, MySQL-5.5, MariaDB-10.1, MariaDB-10.0,
MariaDB-5.5,提供多個(gè)PHP版本(PHP-7.1,PHP-7.0,PHP-5.6,
PHP-5.5,PHP-5.4,PHP-5.3) 提供Nginx、Tengine懊昨、OpenResty提供多個(gè)Apache版本(Apache-2.4窄潭,Apache-2.2)
根據(jù)自己需求安裝PHP緩存加速器,提供ZendOPcache酵颁、xcache嫉你、apcu月帝、eAccelerator。及php加解密工具ionCube幽污、ZendGuardLoader
根據(jù)自己需求安裝Pureftpd嚷辅、phpMyAdmin
根據(jù)自己需求安裝memcached、redis
jemalloc優(yōu)化MySQL距误、Nginx 提供添加簸搞、刪除虛擬主機(jī)腳本
提供Nginx/Tengine、MySQL/MariaDB/Percona准潭、PHP趁俊、Redis、phpMyAdmin升級腳本
提供CentOS 6惋鹅、7下HHVM安裝
Github地址:https://github.com/lj2007331/lnmp
帶JAVA版本請?jiān)L問:http://oneinstack.com/
提交問題請?jiān)L問:http://oneinstack.com/qa/
安裝步驟
yum -y install wget screen curl python#for CentOS/Redhat
#apt-get -y install wget screen curl python# for Debian/Ubuntu
wget http://aliyun-oss.linuxeye.com/lnmp-full.tar.gz #阿里云內(nèi)網(wǎng)下載
wget http://mirrors.linuxeye.com/lnmp-full.tar.gz # 包含源碼则酝,國內(nèi)外均可下載
wget http://mirrors.linuxeye.com/lnmp.tar.gz # 不包含源碼,建議僅國外主機(jī)下載
tar xzf lnmp-full.tar.gz
#tar xzf lnmp.tar.gz
cd lnmp # 如果需要修改目錄(安裝闰集、數(shù)據(jù)存儲(chǔ)沽讹、Nginx日志),請修改options.conf文件
screen -S lnmp # 如果網(wǎng)路出現(xiàn)中斷武鲁,可以執(zhí)行命令`screen -r lnmp`重新連接安裝窗口
./install.sh # 請勿sh install.sh或者bash install.sh這樣執(zhí)行
如何添加虛擬主機(jī)爽雄?
./vhost.sh
如何刪除虛擬主機(jī)
./vhost.sh del
如何管理ftp賬號(hào)?
./pureftpd_vhost.sh
數(shù)據(jù)備份
cd ~/lnmp # 必須進(jìn)入lnmp目錄下執(zhí)行
./backup_setup.sh # 備份參數(shù)設(shè)置
./backup.sh # 立即執(zhí)行備份
crontab -e # 可添加到計(jì)劃任務(wù)沐鼠,如每天凌晨1點(diǎn)自動(dòng)備份
0 1 * * * cd ~/lnmp;./backup.sh > /dev/null 2>&1 &
備份參數(shù)設(shè)置如下圖:
如何管理服務(wù)挚瘟?
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進(jìn)程交給supervisord管理,了解更多請?jiān)L問《Supervisor管理hhvm進(jìn)程》
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}
如何更新版本饲梭?
./upgrade.sh
跨大版本升級(如php):http://oneinstack.com/question/oneinstack-downgrade-if-php-version/
如何卸載乘盖?
./uninstall.sh
如何重裝?
./uninstall.sh # 請先備份數(shù)據(jù)好數(shù)據(jù)后再卸載憔涉,丟失數(shù)據(jù)概不負(fù)責(zé)
./install.sh # 再次安裝
更新日志
2017-02-14 Nginx添加更多模塊參數(shù)订框;新增Nginx magento2偽靜態(tài);Apache2.4 ssl默認(rèn)開啟http2
2016-11-02 增加AliSQL兜叨;默認(rèn)啟用jemalloc穿扳,去除tcmalloc
2016-10-15 數(shù)據(jù)庫支持二進(jìn)制或源碼編譯;PHP7支持ioncube国旷、apcu矛物;優(yōu)化腳本格式
2016-08-21 增加./addons.sh
2016-06-16 Nginx默認(rèn)使用openssl-1.0.2h;增加Apache SSL功能
2016-04-28 修復(fù)Ubuntu 16.04下php-5.3編譯錯(cuò)誤跪但;V1.2版本發(fā)布
2016-04-12 增加OpenResty履羞; 增加Percona-5.7;php編譯增加–with-config-file-scan-dir參數(shù),簡化php擴(kuò)展模塊載入方式
2016-02-03 優(yōu)化代碼吧雹;修復(fù)《Apache mod_deflate壓縮模塊bug》骨杂;默認(rèn)php編譯--enable-intl --with-xsl參數(shù)
2016-01-10 Apache默認(rèn)使用worker MPM模式; php-7.0支持gmagick擴(kuò)展插件涂身;卸載功能重寫雄卷,可卸載單獨(dú)模塊
2015-12-07 PHP-7.0.0支持redis、memcached蛤售、imagick擴(kuò)展插件
2015-12-02 PHP-7.0.0發(fā)布丁鹉;增加MariaDB-10.1;vhost.sh增加https(默認(rèn)自簽名證書悴能,需購買ssl證書替換)揣钦;v1.0版本發(fā)布
2015-10-25 增加MySQL-5.7;vhost.sh增加thinkphp偽靜態(tài)漠酿;源碼更新到最新穩(wěn)定
2015-08-31 使用hhvm自建yum倉庫冯凹,修復(fù)一般用戶遠(yuǎn)程備份問題
2015-08-07 添加虛擬主機(jī)刪除功能
2015-08-04 代碼重構(gòu)優(yōu)化,刪除options.conf中web_install_dir db_install_dir db_data_dir參數(shù)
2015-07-16 刪除vpn_centos.sh炒嘲,添加SS服務(wù)器端安裝腳本宇姚;提供數(shù)據(jù)庫升級腳本;更改數(shù)據(jù)庫默認(rèn)字符集為utf8mb4夫凸,舊版本支持?jǐn)?shù)據(jù)庫升級請參考:《MySQL/MariaDB/Percona數(shù)據(jù)庫升級》
2015-07-01 升級腳本合并成一個(gè)入口浑劳;添加數(shù)據(jù)庫root密碼重裝腳本;源碼包更新到最新穩(wěn)定版夭拌;包含JAVA版本請?jiān)L問OneinStack
2015-05-18 Pure-FTPd更改為PureDB(不依賴php和MySQL)魔熏,提供添加FTP虛擬賬號(hào)管理腳本
2015-05-12 可自定義Nginx/Apache/PHP-FPM運(yùn)行用戶(安裝前修改options.conf中run_user參數(shù));取消子模塊依賴鸽扁,如需重裝蒜绽、更新大版本php,如果之前已經(jīng)安裝桶现,先刪除已經(jīng)安裝目錄(或者重命名躲雅,如mv /usr/local/php /usr/local/php_bk),再執(zhí)行./install.sh php處選y巩那,其余選擇n即可吏夯;源碼包更新到最新穩(wěn)定版
2015-03-15 php mysql驅(qū)動(dòng)默認(rèn)為mysqlnd,刪除libmysql驅(qū)動(dòng)即横;軟件包更新到最新穩(wěn)定版
2014-06-09 提供本地備份和遠(yuǎn)程備份(服務(wù)器之間rsync)腳本
2014-05-30 增加ionCube噪生,軟件包更新到最新穩(wěn)定版
2014-05-03 可選擇mysqlnd驅(qū)動(dòng)或libmysql驅(qū)動(dòng) (可參考://blog.linuxeye.com/395.html),軟件包更新到最新穩(wěn)定版
2014-04-07 添加mariadb-10.0支持东囚,軟件包更新到最新穩(wěn)定版
2014-03-02 添加apcu支持跺嗽,php-5.5版本可選擇項(xiàng)opcode cache
2014-02-27 軟件包更新到最新穩(wěn)定版;修復(fù)由php bug(opcache引起:https://bugs.php.net/bug.php?id=66597,在php.ini中加入opcache.optimization_level=0)的502錯(cuò)誤
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)控制面板,方便查看命中數(shù)
2013-10-18 軟件包更新到最新穩(wěn)定版巴元,提供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優(yōu)化MySQL恢总、Nginx,參考://blog.linuxeye.com/355.html
2013-08-28 腳本模塊化箩退,提供多個(gè)版本選擇离熏;國內(nèi)服務(wù)器使用163 yum(CentOS)
2013-08-22 支持Redis
2013-08-21 lnmp支持Ubuntu 12+
2013-08-17 更新php-5.5.2;防止斷網(wǎng)中斷安裝過程(安裝前執(zhí)行screen -S lnmp)戴涝,如果斷網(wǎng)可通過 screen -r lnmp 重新連接
2013-08-16 更新ImageMagick-6.8.6-8滋戳;一些目錄的變更和一些小bug
2013-08-13 添加數(shù)據(jù)庫MariaDB,腳本可以選擇安裝MySQL還是MariaDB(MariaDB是MySQL分支啥刻,參考://blog.linuxeye.com/352.html)
2013-08-09 初始化腳本加入 htop (參考://blog.linuxeye.com/350.html)
2013-08-08 php-5.5內(nèi)嵌PDO_MYSQL(預(yù)編譯時(shí)加參數(shù)--with-pdo-mysql)奸鸯,刪除擴(kuò)展包PDO_MYSQL-1.0.2.tgz (官方說明:http://pecl.php.net/package/PDO_MYSQL);更新phpMyAdmin-4.0.5
2013-08-04 加入防盜鏈功能(添加虛擬主機(jī)可選項(xiàng))
2013-08-01 更新MySQL-5.6.13
2013-07-29 更新phpMyAdmin-4.0.4.2可帽;優(yōu)化nginx參數(shù)(參考:nginx利用多核cpu配置參數(shù)worker_cpu_affinity)
2013-07-28 安裝sendmail娄涩,使服務(wù)器能發(fā)郵件
2013-07-27 執(zhí)行l(wèi)nmp安裝腳本可選擇性的是否安裝memcache,安裝后默認(rèn)啟動(dòng)memcached 并開啟11211端口
2013-07-26 修復(fù)64位系統(tǒng) ngx_pagespeed.sh 安裝報(bào)錯(cuò); 加入常用開源程序(wordpress映跟、discuz)偽靜態(tài)規(guī)則
2013-07-25
更新yum時(shí)蓄拣,缺少-y參數(shù),可能導(dǎo)致腳本無法自動(dòng)下面安裝努隙;安裝lnmp后球恤,可添加ngx_pagespeed模塊(執(zhí)行/root/lnmp
/ngx_pagespeed.sh安裝模塊),安裝模塊后用 /root/lnmp/vhost_ngx_pagespeed .sh
添加帶這個(gè)功能的虛擬主機(jī)荸镊,不帶執(zhí)行原來腳本 /root/lnmp/vhost.sh 添加虛擬主機(jī)咽斧,ngx_pagespeed詳情參考://blog.linuxeye.com/318.html
2013-07-24 利用nginx防止sql注入(url中含有特性字符)
2013-07-22 hostname -i如果不為127.0.0.1堪置,sendmail會(huì)出現(xiàn)問題,修改探針不能連接MySQL問題
2013-07-21 修復(fù)php-5.5.x編譯報(bào)錯(cuò)struct flock問題(解決方法://blog.linuxeye.com/342.html)张惹,至此腳本支持CentOS/RadHat 5/6 32/64bit
2013-07-19 版本更新php-5.5.1, 編譯php-5.5.x CentOS 6 32位舀锨,報(bào)錯(cuò)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; 腳本下載完后宛逗,檢查所需源碼包都是否下載坎匿,沒有下載完,終止腳本拧额,請聯(lián)系我
2013-07-17 所有源碼都更新到最新的stable版本(除imagick碑诉,php5.5需要3.1以上版本),增加vhost.sh 侥锦,方便添加虛擬主機(jī),可以選擇性的安裝Pure-FTPd德挣、phpMyAdmin
2013-07-16 將PHP版本更新到php-5.5.0恭垦、mysql-5.6.12
轉(zhuǎn)載自:https://blog.linuxeye.cn/31.html