IsoFace 開 2022-08-09, 週二
類別: 技術專欄

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. 系統需求:
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站點配置檔案。

發表評論