天天看點

LLStack - 基于LiteSpeed的一站式高性能PHP網站解決方案前言什麼是 LLStack ?LiteSpeed 介紹安裝

前言

自從 1 月 23 号接觸了 LiteSpeed 來實作 HTTP/3(QUIC)後就一直想寫個教程,結果自己不滿足于寫教程就去寫了一個一鍵包也就是 LLStack,來幫助大家快速實作基于 LIteSpeed 的高性能 PHP 網站。

後面我會在雲栖社群陸續更新基于 LLStack 的教程和玩法,幫助大家快速建設我們的高性能網站!

什麼是 LLStack ?

LLStack 全稱是 “Linux LiteSpeed Stack”,即在 Linux 上安裝 LiteSpeed + PHP + MySQL/MariaDB(可選)的高性能 Web 運作環境,特别适合運作 PHP 程式。

更多具體問題和安裝教程請看:

https://www.llstack.com/

LiteSpeed 介紹

LiteSpeed 即 LiteSpeed Web Server(簡稱 LSWS),是一款企業級商用 Web 服務軟體,可以完美的 Apache HTTPD 相容體驗,.htaccess 規則可以直接相容而不像 Nginx 需要重寫,并相容常用的mod擴充。得益于基于事件的架構優勢,靜态内容比Apache Httpd 快 5 倍 ,動态内容更是快 40 倍,HTTPS 通路快 3 倍并可以應用硬體加速器。

同時作為商業 Web 服務軟體,也率先研究并落地最新的 Web 技術,在 HTTP/2 和 HTTP/3(QUIC) 上均是第一個應用的 Web 服務軟體,可以直接無縫使用 Brotli、LSCahe 等新特性而無需像 Nginx 一樣需要額外配置非官方的擴充并擔心 API 相容性問題。

LiteSpeed 特性

更高性能

LiteSpeed Web Server使用事件驅動的體系結構,Apache是基于流程的。LiteSpeed Web Server及其事件驅動架構,可為幾乎沒有程序的所有連接配接提供服務,進而節省資源。

更加安全

同時 LiteSpeed 也支援 mod_Security,可以輕松實作基礎的 WAF 能力,在沒有極高的防禦需求的時候僅使用 LiteSpeed 則無需額外購買高昂的商業WAF。 同時針對一些 CC 和 DDOS 攻擊,LiteSpeed 也有做好優化和應對政策,可以降低攻擊造成的影響。

開箱即用

相比 Nginx、Apache 安裝一些高性能擴充,如 PageSpeed,Brotli,或者和 Varnish 這樣的記憶體級 Web 加速軟體,一些協定的支援上如TLS 1.3、QUIC,搭配都需要一定的經驗以及複雜的配置,而這些特性在 LiteSpeed 上都是開箱即用的。

可視化背景

不同于 Nginx、Apache HTTPD 黑底白字的配置檔案,LiteSpeed 即可以通過編輯配置檔案操作也可以通過可視化控制台進行操作,降低操作門檻。

Apache 相容

不僅僅是相容 Apache HTTPD 的特性和擴充,LiteSpeed 可以直接讀取 Apache HTTPD 配置檔案并轉化,并且在不停機條件下直接從 Apache HTTPD 上完成無縫遷移。

更多特性和 LiteSpeed 介紹請看:

LiteSpeed 介紹頁

安裝

注意

LLStack 僅适用于 RHEL 7 系作業系統及其衍生版,RHEL7、CentOS7、OracleLinux7、CloudLinux 7等。 RHEL 8 系正在測試中。

安全組/防火牆

安裝前務必要根據教程開啟伺服器安全組和防火牆中LLStack所依賴的端口。 教程:

安全組設定

安裝完 LLStack 後防火牆的設定請參考:

輕量版

LLStack 輕量版腳本隻提供 LiteSpeed 的圖形化面闆,其他 PHP、MySQL(MariaDB)的管理全部使用軟體預設的配置檔案,配置較為複雜,适合有經驗高手和不習慣面闆的同學使用。當然,也會更加簡潔高效,同時資源使用率和安全性也更高。

安裝腳本:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ivmm/LLStack/master/install.sh)" 2>&1 | tee llstack-all.log           
輕量版詳細教程 →

面闆版

面闆版是深度內建了非常好用且Web應用非強制性的 APPNode 面闆而來的版本,常見的伺服器元件如 PHP、MySQL、Redis、Memcached 都提供了圖形化支援,同時也提供軟體管家、防火牆、檔案管理、備份管理等衆多實用功能,适合新手使用,也适合有大量伺服器運維的同學使用。

INSTALL_AGENT=1 INIT_SWAPFILE=1 INSTALL_PKGS='php73' bash -c "$(curl -sS http://dl.appnode.com/install.sh)"
yum install appnode-app-mysqld appnode-app-php
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ivmm/LLStack/master/install-appnode.sh)" 2>&1 | tee llstack-all.log           
面闆版詳細教程 →

繼續閱讀