Photo by Thom Holmes on Unsplash
Webinoly 是 LNMP (LEMP) 自動安裝的一個程序,簡單、快速在您的 VPS 主機,並且自動配置和優化您自己的 VPS 伺服器;Linux Ubuntu + Nginx + MariaDB + PHP 7.3 是您的網站的最可靠配置之一,通過 Webinoly 一步安裝完成。
在 Webinoly 1.5.0 版本時,可以說是 EasyEngine 3.X 的一個分支,當初是為了 EasyEngine 遲遲未推出 V4 版本,而且 3.X 版就太久沒有更新之下,才孕育出 Webinoly LEMP 來。
經過作者 Qrokes 長期用心的經營,Webinoly 目前是一套比 EasyEngine 更好用的 LEMP 安裝程序。
Webinoly 的 Qrokes 作者介紹
內容目錄:
- Webinoly 安裝之前
- Webinoly 安裝
- Webinoly 安全配置
最早之前我有寫過一篇 Webinoly 安裝教學文章,但經過版本一直更新,加入了不少好用的功能,所以再寫一篇 Webinoly 安裝詳細配置教學。
網路上有不少的 VPS 一鍵安裝程序,我為什甚麼會選擇 Webinoly,有下面幾點自己的心得:
- 小記憶體 VPS 主機也有不錯的效能。
- 針對 WordPress 程序,有很好的優化配置。
- 對 WordPress 有很好的安全保護。
- 支援 FastCGI Cache + Redis。
- 作者 Qrokes 有長期更新計劃。
Webinoly 安裝之前
Webinoly 可適用在目前大家熟知的 VPS 託管商、雲端主機,如:Linode、Vultr、DigitalOcean、GCP VM、Amazon 等等,建議最小的 VPS 主機記憶體為 1G RAM,再小的記憶體主機就不推薦了;如果是大記憶體的 VPS 主機當然更好,Webinoly 會自動配置 nginx.conf 最佳化。
有安裝防火牆的主機,請打開下列連接阜:
- 22 / TCP (Inbound/Outbound)
- 25 / TCP (Outbound)
- 80 / TCP (Inbound/Outbound)
- 443 / TCP (Inbound/Outbound)
- 11371 / TCP (Outbound)
- 22222 / TCP (Inbound)
更新 Linux Ubuntu 18.04 到最新:
sudo apt update
apt list --upgradable
sudo apt -y upgrade
sudo apt -y autoremove
Webinoly 安裝
wget -qO weby qrok.es/wy && sudo bash weby 3
也可以自定義安裝:
wget -qO weby qrok.es/wy && sudo bash weby <tools-port/version>
- (1) HTML – 僅安裝 Nginx,它只支持 HTML 網站。
- (2) PHP – 將安裝 Nginx 和 PHP。
- (3) LEMP- 完成 LEMP 安裝,Nginx + Php + MySQL (MariaDB),這是 WordPress 網站最完整和必要的配置。
- (0) 之後再配置 – 在沒有安裝任何軟件包的情況下安裝 Webinoly,它允許您使用該命令進行手動和個性化安裝 stack。
以同樣的方式可以更改 admin-tools 訪問端口,默認情況下配置端口為 22222,但您可以選擇您選擇的任何端口 (從 0 – 65535)。
例如:在前面的示例中,一個完整安裝 (3) LEMP,並且 admin-tools 端口 19816 自動配置為訪問可用工具。
wget -qO weby qrok.es/wy && sudo bash weby 3 19816
或,安裝指定 Webinoly 版本
wget -qO weby qrok.es/wy && sudo bash weby 3 -ver=1.7.2
安裝過程,依您的 VPS 效能不同有所快慢,差不多 10 分鐘就可以安裝完畢,記得,將最後 SSH 顯示的 MySQL 帳號、密碼複製下來。
安裝完成後,一些擴充的指令,務必執行:
指定 VPS 主機的時區:
sudo webinoly -timezone=Asia/Taipei
其他的時區查詢:
https://www.php.net/manual/en/timezones.php
更改 PHP 版本 (預設安裝為 7.3 版,請依您的網站需求更改版本):
sudo stack -php-ver=7.2
關閉 Yoast 外掛配置 (預設安裝 yoast 外掛配置,請依您的網站需求關閉或開啟):
sudo webinoly -yoast-sitemap=off
打開 HTTP Authentication:
HttpAuth 命令允許 HTTP 身份驗證方法保護的頁面的權限,以及控制工具訪問頁面 (例如:PhpMyAdmin 和 wp-admin 或 wp-login)。
也就是說,沒有設置 HttpAuth 帳號、密碼,您無法進入 WordPress 管理員控制台和 admin-tools 管理頁面,指令如下。
sudo httpauth -add
開啟 SFTP 功能及設置密碼:
sudo webinoly -login-www-data=on
sudo passwd www-data
完成以上命令後,我們可以開始設置一個 WordPress 網站:
sudo site example.com -wp -cache=on
sudo site example.com -ssl=on
上面命令是設置一個 Nginx FastCGI 快取的網站,並且安裝 SSL (Let’s Encrypt) 免費證書,這是作者認為最好的 WordPress 配置,利用主機本身的 FastCgi Cache 作快取,不需要再安裝任何快取外掛。
目前我自己測試下來,是可以達成不錯的速度,建議搭配外掛:
WordPress + FastCgi Cache + Autoptimize + ShortPixel
更好的搭配:
WordPress + FastCgi Cache + Redis + Autoptimize + ShortPixel + Perfmatters
FastCgi Cache + Nginx Helper 正確設定方法:
如果,你不喜歡 FastCgi Cache 配置,可以換成以下命令:
sudo site example.com -wp
sudo site example.com -ssl=on
這是一個正常的配置,不使用主機本身的快取,建議搭配快取外掛:
WordPress + Cache Enabler + Autoptimize
Webinoly 1.8.0 版本之後,創建網站的方式更為簡易,與之前的版本會有所不同,以下補充說明。
例如,使用以下的指令,創建一個 WordPress 網站,不會再詢問您是否要創建資料庫,也不會顯示資料庫帳號、密碼、資料表前輟等資料。
sudo site example.com -wp
如果,您要「自訂義」這些資料庫帳號、密碼、資料表前輟等資料,請使用下的指令。
sudo site example.com -wp=custom
加入 Nginx 快取
sudo site example.com -wp=custom -cache=on
Webinoly 1.8.0 版本之後,也修正了孤兒 SSL 證書的問題,也就是說,您刪除了一個網站,但是當初申請的 Let’s Encrypt 證書文件還遺留在主機中。
1.8.0 版本之後,您可以強制將這些孤兒 Let’s Encrypt 證書刪除,指令如下。
sudo site domain.com -delete=force -revoke=on
Webinoly 安全配置
Webinoly 在之後的幾個版本中,一直加強 WordPress 的安全配置,如果您只是部落格或官網式的網站,請不要關閉 HTTP 網頁驗證的功能,他可以阻擋有效 wp-login.php 暴力攻擊;即使您是店商購物車網站,Webinoly 也有預設的 Nginx limit_req 限制用戶請求速率,以防止高速率對您的網站的請求。
幾個常用到的安全命令:
阻止和拒絕 IP 地址 (可將 IP 加入黑名單):
sudo webinoly -blockip=123.456.78.90
禁止訪問您的主機 IP 地址:
sudo webinoly -default-site=blackhole
保護您的 admin-tools:22222 網頁:
Webinoly 的 admin-tools 網頁,是由您的 IP:22222 而進入,他可以查看 PHP 狀態及進入 phpMyadmin 控制台,Webinoly 可以綁訂一個 SSL 域名而保護 admin-tools:22222 網頁安全。
先由 DNS 設置一個子域名,A 紀錄指向您的主機 IP 地址。例如:tools.example.com
sudo site tools.example.com -html
sudo site tools.example.com -ssl=on
將 IP:22222 綁定到這個子域名 tools.example.com
sudo webinoly -tools-site=tools.example.com
下次您要進入 admin-tools:22222 網頁時,就要鍵入 tools.example.com:22222 才行,使用 IP 123.456.78.90:22222 進入就會被阻擋了。
結語
這一篇是延續我之前的「Webinoly 安裝 VPS 教學」,其他的 VPS 主機優化部分,請參考這一篇文章,這邊就不贅述了。
踏入 VPS 這個領域,使用 Webinoly LEMP 就非常足夠了,指令不多也不難懂,其實不需要再安裝 VPS 面板來管理您的網站,避免造成主機的多餘負載或漏洞。
Webinoly 1.8.0 版本之後修正了許多的指令,這一篇如有遺漏的部分,歡迎到 Webinoly support 討論。
參考資料:
2019/04/15 補充:
Webinoly 安裝時,會針對您的 VPS 的 CPU、RAM 進行優化配置,如果當初是用 2G VPS 安裝的,現在想原機升級到 4G 或 8G RAM VPS 主機,當初的配置可能不適用在升級後的主機上,請執行下面的命令,讓 Webinoly 重新對新的主機進行優化配置。
sudo webinoly -server-reset
目前這個指令還無法重新調整 SWAP 的大小,作者計劃在 v1.9.0 版本時加入 SWAP 調整。
發佈留言