Skip to content
forked from tcisme/lnmp

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程序。

License

Notifications You must be signed in to change notification settings

sillydanny/lnmp

 
 

Repository files navigation

LNMP一鍵安裝包 - Readme

LNMP一鍵安裝包是什麼?

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程式。

LNMP一鍵安裝包有哪些功能?

支援自定義Nginx、PHP編譯參數及網站和數據庫目錄、支援產生LetseEcrypt證書、LNMP模式支援多PHP版本、支援單獨安裝Nginx/MySQL/MariaDB/Pureftpd伺服器,同時提供一些實用的輔助工具如:虛擬主機管理、FTP使用者管理、Nginx、MySQL/MariaDB、PHP的升級、常用快取元件Redis/Xcache等的安裝、重置MySQL root密碼、502自動重啟、日誌切割、SSH防護DenyHosts/Fail2Ban、備份等許多實用指令碼。

LNMP安裝

安裝前確認已經安裝wget命令,如提示wget: command not found ,使用yum install wgetapt-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編譯參數;不論安裝升級都會呼叫該檔案里的設定(如果修改了預設的參數建議備份此檔案);

FTP伺服器

執行:./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

相關圖形界面

LNMP相關目錄檔案

目錄位置

  • 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

lnmp.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,當記憶體不足時可提高編譯安裝成功概率

技術支援

技術支援論壇:https://bbs.vpser.net/forum-25-1.html

About

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程序。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 92.6%
  • PHP 4.4%
  • C 2.5%
  • Other 0.5%