安裝 LNAMP Server + phpMyAdmin 在 Linux 系統上輕鬆架設網站


LNAMPLinux系統上的開源架站組合,從名稱來看,「L」表示「Linux作業系統,「N」表示「nginx網頁伺服器,「A」表示「Apache網頁伺服器,「M」表示「MySQL資料庫,「P」表示「PHP程式語言,而phpMyAdmin則是以PHP作為基礎的資料庫管理工具。使用效能較佳的nginx來處理靜態檔案、反向代理、資源分配,搭配成熟的Apache來處理動態網頁程式,可以比單純使用nginx作為網頁伺服器來的更穩定、更容易擴充,也比單純使用Apache網頁伺服器還要來的高效。

以往架設LNAMP的方式通常是一個套件慢慢安裝、慢慢設定。但現在有一些不錯的開源項目出來,可以直接用現成的script來快速架設LNAMP。在這篇文章中,將會使用以下這個在GitHub上的開源項目來架設LNAMP Server + phpMyAdmin,另外還附加快取以及記憶體優化的機制。

https://github.com/lj2007331/lnmp

選擇這套script的原因在於,作者將會用到的套件原始碼都整合進script內了,因此可以直接使用這個script在本機內快速編譯安裝這些套件原始碼,就不需再到處尋找這些離散的套件,十分省事。

在開始架設LNAMP Server + phpMyAdmin之前,您必須要先有CentOS/RedHat 5以上、Debian 6以上或是Ubuntu 12以上的Linux作業系統。這篇文章使用的Linux作業系統Ubuntu Server 16.04,可以參考這邊文章來安裝:

https://magiclen.org/ubuntu-server-16-04/

由於這個script需要花費不少的時間來編譯原始碼,所以如果要透過SSH來操作這個script,建議使用screen來執行,如此一來就算ssh連線斷掉,script也還是可以繼續執行。Debian或是其它基於DebianLinux發行版可以使用以下的指令來安裝screen套件:

sudo apt install screen

lnamp

script會使用到python,如果系統內尚未安裝python,可用以下指令來安裝python套件:

sudo apt install python

lnamp

下載LNAMP Script與原始碼包

下載script前,先將工作目錄移動到家目錄中。接著輸入以下指令,使用wget來下載script:

wget http://mirrors.linuxeye.com/lnmp-full.tar.gz

若擔心網路不穩,可以加上「-c」參數來支援續傳。

lnamp

輸入以下指令,使用tar來解壓縮

tar xzf lnmp-full.tar.gz

lnamp

安裝LNAMP + phpMyAdmin

在家目錄輸入以下指令,將工作目錄移動到解壓縮出來的「lnmp」目錄:

cd lnmp

lnamp

用以下的screen指令建立名稱為「lnmp」的session:

screen -S lnmp

lnamp

SSH斷線,重新連線後可以使用以下指令來恢復session:

screen -r lnmp

接著輸入以下指令,執行安裝的script:

sudo ./install.sh

lnamp

一開始可以設定SSH連線的連接埠,為了安全性的考量,建議更改,不要使用預設的「22」。

lnamp

選擇要安裝的網頁伺服器,在此選擇「nginx」。另一個「Tengine」,是淘寶從「nginx」發展出來的另一套網頁伺服器,有許多更進階的功能,可以運用在大型的網站。而「OpenResty」是整合「nginx」和「LuaJIT」,以及許多高品質nginx模組的網頁平台。

lnamp

選擇要安裝的Apache Server,選擇最新版本的Apache即可。

lnamp

選擇要安裝的資料庫,選擇最新版本的MySQL即可。其餘還有延續MySQL開源宗旨的「MariaDB」,以及擁有高效能InnoDB的「Percona」。

lnamp

接著設定資料庫的密碼,要注意別打錯了。

lnamp

選擇要安裝的PHP版本,選擇最新的版本即可。

lnamp

選擇PHP要使用的解譯碼快取(opcode cache),選擇「Zend OPcache」即可。

lnamp

選擇處理圖片的工具,選擇「ImageMagick」即可。另一個「GraphicsMagick」,是從ImageMagick分支出來的,發展到現在,兩套軟體互有見長,但ImageMagick還是比較被廣泛使用。

lnamp

安裝Pure-FTPphpmyAdmin來遠端管理伺服器上的檔案和資料庫

lnamp

不需要安裝Redis。有關Redis的安裝與介紹可以參考以下文章:

https://magiclen.org/ubuntu-redis-php/

lnamp

安裝memcached替伺服器做快取

lnamp

選擇要安裝的記憶體管理技術,選擇「jemalloc」即可。另一個「tcmalloc」,記憶體管理的方式跟jemalloc差異不大,但jemalloc的效能應該會好一點點。

lnamp

不要安裝HHVM,只有CentOS能支援。

lnamp

接著等待script完成所有編譯與安裝設定的工作。

lnamp

lnamp

工作結束後,重新啟動系統,完成安裝。

lnamp

預設路徑

nginx目錄:

/usr/local/nginx

Apache目錄:

/usr/local/apache

各個虛擬主機的根目錄:

/data/wwwroot

預設主機的根目錄:

/data/wwwroot/default

記錄檔存放目錄:

/data/wwwlogs

可以將常用的目錄添加至環境變數中,方便管理。筆者會編輯家目錄中的「.bashrc」檔案,加上以下指令。

lnamp

測試伺服器工作狀態

可以使用網頁瀏覽器用http協定開啟伺服器的IP,若能看得到預設的網頁,表示nginx運作正常。

lnamp

也可以連到「phpinfo.php」這個檔案,若能看到phpinfo輸出的結果,表示Apache運作正常。

lnamp

連結「phpMyAdmin」目錄,若能成功登入資料庫管理後台,表示資料庫運作正常。

lnamp

若有出現「configuration storage is not completely configured...」的訊息,請參考這篇文章來解決:

https://magiclen.org/phpmyadmin-config/

啟動、停止或重新啟動網頁伺服器

在修改伺服器的設定檔之後,需要重新啟動伺服器服務來套用設定。

若要 啟動/停止/重啟 nginx服務,可以使用以下指令:

sudo service nginx start/stop/restart

若要 啟動/停止/重啟 Apache服務,可以使用以下指令:

sudo service httpd start/stop/restart

添加虛擬主機(Virtual Host)

如果想要將不同的網域綁定在同一台實體主機上,並且分別連結到不同的網站,可以使用虛擬主機的功能。先將工作目錄移動到script的根目錄,然後輸入以下指令:

sudo ./vhost.sh

lnamp

不要使用SSL。如果有SSL連線需求的話,建議後來再手動設定會比較清楚一點。

lnamp

設定網域名稱

lnamp

設定別的網域名稱(可以多個網域連接到同一個虛擬主機)。

lnamp

設定虛擬主機的根目錄路徑,使用預設值即可。

lnamp

視需求決定是否要使用Hotlink Protection,來保護網站資源不會被其他人盜用。

lnamp

允許nginxApache寫入存取記錄,方便維護伺服器。

lnamp

lnamp

完成設定後,即可設定網域的DNS,直接用A記錄對應實體主機的IPnginx會判斷連入的網域來對應連結至指定的虛擬主機

lnamp

移除虛擬主機(Virtual Host)

先將工作目錄移動到script的根目錄,然後輸入以下指令:

sudo ./vhost.sh del

lnamp

script會列出目前使用的虛擬主機網域名稱,填入想要移除的虛擬主機的網域名稱

lnamp

再按下鍵盤任意鍵,即可移除指定的虛擬主機

lnamp

lnamp

管理FTP帳號

先將工作目錄移動到script的根目錄,然後輸入以下指令:

sudo ./pureftpd_vhost.sh

lnamp

再來就可以開始管理FTP帳號了。

lnamp

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章