LNMPA安裝
註:以下內容是https://lnmp.org/install.html網站關於lnmp1.8版本的安裝說明副本,安裝流程僅供參考,請以該網站的最新版本安裝程式和安裝說明為準。
1. 說明
1.1. 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程式。
1.2. 我們為什麼需要它?
編譯安裝需要輸入大量的命令,如果是配置生產環境需要耗費大量的時間。
不會Linux的站長或Linux新手想使用Linux作為生產環境……
1.3. 它有什麼優勢和功能?
無需一個一個的輸入命令,無需值守,編譯安裝優化編譯參數,提高效能,解決不必要的軟體間依賴,特別針對配置自動優化。
支援自定義Nginx、PHP編譯參數及網站和資料庫目錄、支援產生LetseEcrypt證書、LNMP模式支援多PHP版本、支援單獨安裝Nginx/MySQL/MariaDB/Pureftpd伺服器,同時提供一些實用的輔助工具如:虛擬主機管理、FTP使用者管理、Nginx、MySQL/MariaDB、PHP的升級、常用快取元件Redis/Xcache等的安裝、重置MySQL root密碼、502自動重啟、日誌切割、SSH防護DenyHosts/Fail2Ban、備份等許多實用指令碼。
1.4. 如何获取它?
你可以自由下載並使用它在VPS或獨立伺服器上,作為真正的生產環境或測試環境。
1.5. 我们为什么采用LNMPA这种架构?
採用Linux、PHP、MySQL的優點我們不必多說。
Nginx是一個小巧而高效的Linux下的Web伺服器軟體,是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,已經在一些俄羅斯的大型網站上執行多年,目前很多國內外的入口網站、行業網站也都在是使用Nginx,相當的穩定。
Nginx相當的穩定、功能豐富、安裝配置簡單、低系統資源……
Apache是一款老牌的Web伺服器軟體,在高併發時對佇列的處理比FastCGI更成熟,Apache的mod_php效率比php-cgi更高且更穩定、對偽靜態支援好,不需要轉換、多使用者多站點許可權等方面有著更好的效果……
2. 安裝
2.1. 系統需求:
- CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/Amazon/Mint Linux發行版
- 需要5GB以上硬碟剩餘空間,MySQL 5.7,MariaDB 10至少9GB剩餘空間
- 需要128MB以上記憶體(128MB小記憶體VPS,Xen需有SWAP,OpenVZ至少要有128MB以上的vSWAP或突發記憶體),注意小記憶體請勿使用64位系統!
- 安裝MySQL 5.6或5.7及MariaDB 10必須1G以上記憶體,更高版本至少要2G記憶體!。
安裝PHP 7及以上版本必須1G以上記憶體!。 - VPS或伺服器必須設定好可用的yum或apt-get源並確保能正常工作,離線安裝需要增加 CheckMirror=n 參數!
- Linux下區分大小寫,輸入命令時請注意!
- 如有通過yum或apt-get安裝的MySQL/MariaDB請自行備份數據等相關檔案!
- CentOS 5,Debian 6及之前版本其官網已經結束支援無法使用!
- Ubuntu 18+,Debian 9+,Mint 19+,Deepin 15.7+及所有新的Linux發行版只能使用1.7進行安裝!
- PHP 7.1.*以下版本不支援Ubuntu 19+、Debian 10等等非常新的Linux發行版!
- 阿里云Ubuntu 14.04系統模版有問題不要用!!!
- PHP 7.4升級或安裝必須CentOS 7+,Debian 8+,Ubuntu 16.04+且必須使用1.7!!!
- MySQL 8.0升級或安裝必須CentOS 8+,Debian 9+,Ubuntu 16.04+且必須使用1.7!!!
- LNMP一鍵安裝包 V1.7 已經在Vultr、遨遊主機、搬瓦工、LocVPS、Linode、vps2ez
- DigitalOcean、KVMLA、景文互聯、BuyVM、狗云、80VPS、騰訊云等眾多VPS的CentOS 6-8、RHEL 6-8、Fedora 21-32、Debian 7-10、Ubuntu 10.04-20.04等眾多Linux發行版的32位和64位系統上測試通過(CentOS 5,Debian 6及之前版本其官網已經結束支援無法使用,Debian9上Apache需選2.4.26版本以上
2.2. 安裝步驟:
使用putty或類似的SSH工具登陸VPS或伺服器;登陸后執行:screen -S lnmp。如果提示screen: command not found 可以先執行:apt-get install screen進行安裝。
下載並安裝LNMP一鍵安裝包。您可以選擇使用下載版(推薦美國及海外VPS或空間較小使用者使用)或者完整版(推薦國內VPS使用,國內使用者可用在下載中找國內下載地址替換),兩者沒什麼區別,只是完整版把一些需要的原始碼檔案預先放到安裝包里。
安裝LNMPA穩定版。
wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8 && ./install.sh lnmpa
如需要安裝LNMP或LAMP,將./install.sh 後面的參數lnmpa替換為lnmp或lamp即可。同時也支援單獨安裝Nginx或資料庫,命令為 ./install.sh nginx 或 ./install.sh db。如需更改網站和資料庫目錄、自定義Nginx參數、PHP參數模組、開啟lua等需在執行./install.sh 命令前修改安裝包目錄下的 lnmp.conf 檔案,詳細可以檢視lnmp.conf檔案參數說明。
如提示wget: command not found ,請先使用apt install wget 命令安裝wget再執行上述命令安裝。
執行上述LNMP安裝命令后,會出現類似的如下圖提示,選擇安裝的資料庫版本:
目前提供了較多的MySQL、MariaDB版本和不安裝資料庫的選項,需要注意的是MySQL 5.6,5.7及MariaDB 10必須在1G以上記憶體的更高配置上才能選擇!如僅需安裝資料庫在lnmp安裝包目錄下執行:./install.sh db
輸入對應MySQL或MariaDB版本前面的序號,回車進入下一步。
設定MySQL的root密碼(爲了安全不輸入直接回車將會設定為lnmp.org#隨機數字)如果輸入有錯誤需要刪除時,可以按住Ctrl再按Backspace進行刪除(個別情況下是隻需要Backspace鍵)。輸入后回車進入下一步,如下圖所示:
詢問是否需要啟用MySQL InnoDB,InnoDB引擎預設為開啟,一般建議開啟,直接回車或輸入 y ,如果確定確實不需要該引擎可以輸入 n,(MySQL 5.7+版本無法關閉InnoDB),輸入完成,回車進入下一步。
注意:選擇PHP 7+版本時需要自行確認PHP版本是否與自己的程式相容。
輸入要選擇的PHP版本的序號,回車進入下一步,選擇是否安裝記憶體優化:
可以選擇不安裝、Jemalloc或TCmalloc,輸入對應序號回車,直接回車為預設為不安裝。
如果是LNMPA或LAMP的話還會提示設定郵箱和選擇Apache。
"Please enter Administrator Email Address:",需要設定管理員郵箱,該郵箱會在報錯時顯示在錯誤頁面上。
再選擇Apache版本。
按提示輸入對應版本前面的數字序號,回車。
提示"Press any key to install...or Press Ctrl+c to cancel"后,按回車鍵確認開始安裝。
LNMP指令碼就會自動安裝編譯Nginx、MySQL、PHP、phpMyAdmin、Apache等軟體及相關的元件。
安裝時間可能會幾十分鐘到幾個小時不等,主要是機器的配置網速等原因會造成影響。
3. 安裝完成
如果顯示Nginx: OK,MySQL: OK,PHP: OK,Apache: OK
並且Nginx、MySQL、PHP都是running,80和3306埠都存在,並提示安裝使用的時間及Install lnmp V1.8 completed! enjoy it.的話,說明已經安裝成功。
某些系統可能會一直卡在Install lnmp V1.8 completed! enjoy it.不自動退出,可以按Ctrl+C退出。
安裝完成接下來開始使用就可以了,按新增虛擬主機教程,新增虛擬主機后可以使用sftp或ftp伺服器上傳網站程式碼,將域名解析到VPS或伺服器的IP上,解析生效即可使用。
4. 创建站点并添加证书
新增證書請參考https://lnmp.org/faq/letsencrypt-wildcard-ssl.html中的方式進行。
如果要啟用https訪問則需要為服務端新增證書。建議使用DNSAPI首先產生證書。
首先請向DNS的服務商獲取API Key與Secret,然後根據下方的圖中找到為您提供DNS解析的服務商的名稱,將所需的API參數結合您申請獲取到的Key以及Secret輸入控制檯作為變數。以阿里云爲例,輸入的內容樣式如下,注意要將其中的123456以及abcdef更改為服務商提供的API Key以及API Secret。
export Ali_Key="123456" export Ali_Secret="abcdef"
接下來輸入命令:lnmp onlyssl ali,這裡的ali為例子,表示您的域名服務商簡稱,如果是其他DNS服務商,參考鏈接中提供的內容進行更改。只不過在新增過程中不需要輸入網站目錄、是否開啟日誌等選項。
該模式下之建立SSL證書並不產生網站配置檔案,方便使用者在多個虛擬主機上使用同一個證書。自己可以使用 lnmp vhost add 或 lnmp ssl add 建立SSL站點配置檔案。