這個腳本是使用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,提供多個PHP版本(PHP-7.1,PHP-7.0,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
jemalloc優化MySQL、Nginx 提供添加、刪除虛擬主機腳本
提供Nginx/Tengine、MySQL/MariaDB/Percona、PHP、Redis、phpMyAdmin升級腳本
提供CentOS 6、7下HHVM安裝
Github地址:https://github.com/lj2007331/lnmp
帶JAVA版本請訪問:http://oneinstack.com/
提交問題請訪問: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 #阿里云內網下載
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/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}
如何更新版本?
./upgrade.sh
跨大版本升級(如php):http://oneinstack.com/question/oneinstack-downgrade-if-php-version/
如何卸載?
./uninstall.sh
如何重裝?
./uninstall.sh # 請先備份數據好數據后再卸載,丟失數據概不負責
./install.sh # 再次安裝
更新日志
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驅動 (可參考://blog.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,參考://blog.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分支,參考://blog.linuxeye.com/352.html)
2013-08-09 初始化腳本加入 htop (參考://blog.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詳情參考://blog.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問題(解決方法://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位,報錯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