LNMP一鍵安裝包是一個用Linux Shell編寫的可以為CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或獨立主機安裝LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生產環境的Shell程式。
支援自定義Nginx、PHP編譯參數及網站和數據庫目錄、支援產生LetseEcrypt證書、LNMP模式支援多PHP版本、支援單獨安裝Nginx/MySQL/MariaDB/Pureftpd伺服器,同時提供一些實用的輔助工具如:虛擬主機管理、FTP使用者管理、Nginx、MySQL/MariaDB、PHP的升級、常用快取元件Redis/Xcache等的安裝、重置MySQL root密碼、502自動重啟、日誌切割、SSH防護DenyHosts/Fail2Ban、備份等許多實用指令碼。
- LNMP官網:https://lnmp.org
- 作者: licess admin@lnmp.org
- 問題反饋&技術支援論壇:https://bbs.vpser.net/forum-25-1.html
- 打賞捐贈:https://lnmp.org/donation.html
安裝前確認已經安裝wget命令,如提示wget: command not found ,使用yum install wget
或 apt-get install wget
命令安裝。
為防止掉線等情況,建議使用screen,可以先執行:screen -S lnmp 命令后,再執行LNMP安裝命令:
wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh {lnmp|lnmpa|lamp}
如斷線可使用screen -r lnmp
恢復。詳細安裝教程參考:https://lnmp.org/install.html
以下操作需在lnmp安裝包目錄下執行,如lnmp1.7
lnmp.conf配置檔案,可以修改lnmp.conf自定義下載伺服器地址、網站/數據庫目錄及新增nginx模組和php編譯參數;不論安裝升級都會呼叫該檔案里的設定(如果修改了預設的參數建議備份此檔案);
執行:./pureftpd.sh
安裝,可使用 lnmp ftp {add|list|del}
進行管理。
執行:./upgrade.sh
按提示進行選擇
也可以直接帶參數:./upgrade.sh {nginx|mysql|mariadb|php|phpa|m2m|phpmyadmin}
- 參數: nginx 可升級至任意Nginx版本。
- 參數: mysql 可升級至任意MySQL版本,MySQL升級風險較大,雖然會自動備份數據,依然建議自行再備份一下。
- 參數: mariadb 可升級已安裝的Mariadb,雖然會自動備份數據,依然建議自行再備份一下。
- 參數: m2m 可從MySQL升級至Mariadb,雖然會自動備份數據,依然建議自行再備份一下。
- 參數: php 僅適用於LNMP,可升級至大部分PHP版本。
- 參數: phpa 可升級LNMPA/LAMP的PHP至大部分版本。
- 參數: mphp 多PHP版本升級工具,只支援7.2.x-7.2.x類似小版本升級,大版本直接新裝即可;
- 參數: phpmyadmin 可升級phpMyadmin。
執行: ./addons.sh {install|uninstall} {eaccelerator|xcache|memcached|opcache|redis|apcu|imagemagick|ioncube}
以下為擴充套件外掛安裝使用說明
- 參數: xcache 安裝時需選擇版本和設定密碼,http://yourIP/xcache/ 進行管理,使用者名稱 admin,密碼為安裝xcache時設定的。
- 參數: redis 安裝redis
- 參數: memcached 可選擇php-memcache或php-memcached擴充套件。
- 參數: opcache 可訪問 http://yourIP/ocp.php 進行管理。
- 參數: eaccelerator 安裝。
- 參數: apcu 安裝apcu php擴充套件,支援php7,可訪問 http://yourIP/apc.php 進行管理。 請勿安裝多個快取類擴充套件模組,多個可能導致網站出現問題 !
- imageMagick安裝解除安裝執行:
./addons.sh {install|uninstall} imageMagick
imageMagick路徑:/usr/local/imagemagick/bin/。
- IonCube安裝執行:
./addons.sh {install|uninstall} ionCube
。
- 可選1,多PHP版本安裝執行:
./install.sh mphp
可以安裝多個PHP版本 ,只支援LNMP模式,lnmp vhost add時進行選擇或使用時需要將nginx虛擬主機配置檔案里的include enable-php.conf替換為 include enable-php5.6.conf 即可前面的5.6換成你剛才安裝的PHP的大版本號5.* 或7.0之類的。 - 可選2,數據庫安裝執行:
./install.sh db
可以直接單獨安裝MySQL或MariaDB數據庫。 - 可選3,Nginx安裝執行:
./install.sh nginx
可以直接單獨安裝Nginx。 以下工具在lnmp安裝包tools目錄下可拷貝到其他目錄下執行 - 可選4,執行:
./reset_mysql_root_password.sh
可重置MySQL/MariaDB的root密碼。 - 可選5,執行:
./check502.sh
可檢測php-fpm是否掛掉,502報錯時重啟,配合crontab使用。 - 可選6,執行:
./cut_nginx_logs.sh
日誌切割指令碼。 - 可選7,執行:
./remove_disable_function.sh
執行此指令碼可刪掉禁用函式。
無人值守命令產生工具:https://lnmp.org/auto.html
- 設定如下環境變數即可完全無人值守安裝
變數名 | 變數值含義 |
---|---|
LNMP_Auto | 啟用無人值守自動安裝 |
DBSelect | 數據庫版本序號 |
DB_Root_Password | 數據庫root密碼(不可為空),不安裝數據庫時可不加該參數 |
InstallInnodb | 是否安裝Innodb引擎,y 或 n ,不安裝數據庫時可不加該參數 |
PHPSelect | PHP版本序號 |
SelectMalloc | 記憶體分配器版本序號 |
ApacheSelect | Apache版本序號,僅LNMPA和LAMP模式需新增該參數 |
ServerAdmin | 管理員郵箱,僅LNMPA和LAMP模式需新增該參數 |
RHELRepo | (非必選)設為 local 時,RHEL使用本地源,不設定源為163 centos源 |
CheckMirror | (非必選)安裝時不檢查下載映象,方便無網路安裝 |
- 各程式版本對應序號
MySQL版本 | 對應序號 | PHP版本 | 對應序號 | 記憶體分配器 | 對應序號 | Apache版本 | 對應序號 |
---|---|---|---|---|---|---|---|
MySQL 5.1 | 1 | PHP 5.2 | 1 | 不安裝 | 1 | Apache 2.2 | 1 |
MySQL 5.5 | 2 | PHP 5.3 | 2 | Jemalloc | 2 | Apache 2.4 | 2 |
MySQL 5.6 | 3 | PHP 5.4 | 3 | TCMalloc | 3 | ||
MySQL 5.7 | 4 | PHP 5.5 | 4 | ||||
MySQL 8.0 | 5 | PHP 5.6 | 5 | ||||
MariaDB 5.5 | 6 | PHP 7.0 | 6 | ||||
MariaDB 10.1 | 7 | PHP 7.1 | 7 | ||||
MariaDB 10.2 | 8 | PHP 7.2 | 8 | ||||
MariaDB 10.3 | 9 | PHP 7.3 | 9 | ||||
MariaDB 10.4 | 10 | PHP 7.4 | 10 | ||||
不安裝數據庫 | 0 |
- 以LNMP模式,預設選項安裝MySQL 5.5、MySQL root密碼設定為lnmp.org、啟用InnoDB、PHP 5.6、不安裝記憶體分配器為例,先執行(建議先執行screen),再下載解壓lnmp安裝包:
wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7
然後設定無人值守參數並安裝:
LNMP_Auto="y" DBSelect="2" DB_Root_Password="lnmp.org" InstallInnodb="y" PHPSelect="5" SelectMalloc="1" ./install.sh lnmp
(如果缺失參數的話還是會有要求選擇缺失選項的提示)。
- 解除安裝LNMP、LNMPA或LAMP可執行:
./uninstall.sh
按提示選擇即可解除安裝。
- LNMP/LNMPA/LMAP狀態管理:
lnmp {start|stop|reload|restart|kill|status}
- Nginx狀態管理:
lnmp nginx或/etc/init.d/nginx {start|stop|reload|restart}
- MySQL狀態管理:
lnmp mysql或/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
- MariaDB狀態管理:
lnmp mariadb或/etc/init.d/mariadb {start|stop|restart|reload|force-reload|status}
- PHP-FPM狀態管理:
lnmp php-fpm或/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
- PureFTPd狀態管理:
lnmp pureftpd或/etc/init.d/pureftpd {start|stop|restart|kill|status}
- Apache狀態管理:
lnmp httpd或/etc/init.d/httpd {start|stop|restart|graceful|graceful-stop|configtest|status}
- 新增:
lnmp vhost add
- 刪除:
lnmp vhost del
- 列出:
lnmp vhost list
- 數據庫管理:
lnmp database {add|list|edit|del}
- FTP使用者管理:
lnmp ftp {add|list|edit|del|show}
- SSL新增:
lnmp ssl add
- 萬用字元/泛域名SSL新增:
lnmp dnsssl {cx|ali|cf|dp|he|gd|aws}
需依賴域名dns api
- PHPMyAdmin:http://yourIP/phpmyadmin/
- phpinfo:http://yourIP/phpinfo.php
- PHP探針:http://yourIP/p.php
- Xcache管理界面:http://yourIP/xcache/
- Zend Opcache管理界面:http://yourIP/ocp.php
- apcu管理界面:http://yourIP/apc.php
- Nginx:/usr/local/nginx/
- MySQL:/usr/local/mysql/
- MariaDB:/usr/local/mariadb/
- PHP:/usr/local/php/
- 多PHP目錄:/usr/local/php5.6/ 版本號隨安裝版本不同而不同
- PHP擴充套件外掛配置檔案目錄:/usr/local/php/conf.d/
- PHPMyAdmin:/home/wwwroot/default/phpmyadmin/
- 預設虛擬主機網站目錄:/home/wwwroot/default/
- Nginx日誌目錄:/home/wwwlogs/
- Nginx主配置檔案:/usr/local/nginx/conf/nginx.conf
- MySQL/MariaDB配置檔案:/etc/my.cnf
- PHP配置檔案:/usr/local/php/etc/php.ini
- PHP-FPM配置檔案:/usr/local/php/etc/php-fpm.conf
- PureFtpd配置檔案:/usr/local/pureftpd/etc/pure-ftpd.conf
- Apache配置檔案:/usr/local/apache/conf/httpd.conf
參數名稱 | 參數介紹 | 例子 |
---|---|---|
Download_Mirror | 下載映象 | 一般預設,如異常可修改下載映象 |
Nginx_Modules_Options | 新增Nginx模組或其他編譯參數 | --add-module=/第三方模組原始碼目錄 |
PHP_Modules_Options | 新增PHP模組或編譯參數 | --enable-exif 有些模組需提前安裝好依賴包 |
MySQL_Data_Dir | MySQL數據庫目錄設定 | 預設/usr/local/mysql/var |
MariaDB_Data_Dir | MariaDB數據庫目錄設定 | 預設/usr/local/mariadb/var |
Default_Website_Dir | 預設虛擬主機網站目錄位置 | 預設/home/wwwroot/default |
Enable_Nginx_Openssl | Nginx是否使用新版openssl | 預設 y,建議不修改,y是啟用並開啟到http2 |
Enable_PHP_Fileinfo | 是否安裝開啟php的fileinfo模組 | 預設n,根據自己情況而定,安裝啟用的話改成 y |
Enable_Nginx_Lua | 是否為Nginx安裝lua支援 | 預設n,安裝lua可以使用一些基於lua的waf網站防火墻 |
Enable_Swap | 是否新增SWAP | 預設y,當記憶體不足時可提高編譯安裝成功概率 |