安裝、組態並最佳化專屬網頁伺服器竟然可以如此輕鬆愜意。
依據預設,Webinoly 會安裝完整的 LEMP 套件,但也可以依據需求安裝個別套件。舉例來說,如果使用者只需要 HTML 網站,可以僅安裝 NGINX 網頁伺服器。
支援的網站:
- 簡易 HTML 網站
- PHP 網站
- 提供對 WordPress 網站的原生支援
- 反向 Proxy 網站
- 用於將 NGINX 置於應用程式/App 或網站的前端 (Java、Node、Angular、React、Vue 及 Django 等)
- 使用自有網域以存取如 S3 這類外部檔案存放庫
- 存放網站或別名
- 網域轉址
- 完整自訂網站 (使用專屬的 NGINX 自訂組態)
* 請參考下方的〈快速設定及命令範例〉一節。
1. 伺服器管理員是一項需要某些技能、知識及經驗的工作,Webinoly 已經盡力簡化這項工作,如果尚未準備好處理伺服器可能會發生的狀況,並且是超出 Webinoly 能處理的範圍,建議採用其他解決方案。
2. 警告:如果不習慣閱讀及了解為開發人員及和工程師撰寫的技術文件,那麼管理自有伺服器可能會相當惱人;如果不喜歡命令列,我們強烈建議改採其他解決方案。市場上有許多受管理的主機解決方案,可以為有需要的使用者提供一流的技術支援。
3. 注意事項:Webinoly 並不適合全部使用者。雖然我們專注於商務及企業使用者,但使用者可以,相信即使是最小型的網站,也可以安全順暢的代管於使用 Webinoly 的伺服器上。請注意,某些使用者、早期使用者,尤其是原本使用共享伺服器的使用者,會發現某些共享主機已發展成熟的功能,目前很難透過 Webinoly 達成。Webinoly 不提供對 WordPress 快取外掛的原生支援 (改採 FastCGI),也沒有提供不同目標項目使用不同 PHP 版本的功能 (這僅對共享伺服器有使用效益,但通常卻由廉價 VPS 主機商進行推廣),也不具備網頁式管理控制台 (我們提供 Datadog 原生整合功能)。如果對我們提供的功能感到窒礙難行,便不應該使用 Webinoly。
4. 如果你是熱愛 WordPress 的使用者/開發者,卻對系統管理員工作沒有任何經驗,便不該使用 Webinoly,除非你清楚了解正在進行的管理工作。
5. 安裝 Webinoly 前,請先參考〈常見問題集〉。
Webinoly 支援的 Linux 發行版本
- Ubuntu 24.04 及 22.04 (ARM 及 x86) * 需要 Bash Shell!
通訊埠組態
- 22/TCP (輸入/輸出)
- 25/TCP (輸出)
- 80/TCP (輸入/輸出)
- 443/TCP/UDP (輸入/輸出)
- 587/TCP (輸出) * SMTP 選用通訊埠
- 11371/TCP (輸出) * GPG 金鑰
- 22222/TCP (輸入) * 管理區域
* 進一步了解你的網站需要哪一種防火牆
使用我們提供的 Digital Ocean 聯盟行銷連結註冊,新使用者可獲得美金 200 元的免費使用額度!
* 如果需要了解目前的網站規劃需要使用哪一種伺服器,請參考這份完整的伺服器選擇指南。
快速安裝及命令範例
更新及升級目前主機使用的作業系統永遠是管理員該執行的第一步:建置網站主機上的網頁伺服器套件前,執行 sudo apt update && sudo apt -y upgrade
便能避免舊版套件帶來的風險。
命令範例 1:簡易 HTML 網站
# 使用 Webinoly 安裝 NGINX
wget -qO weby qrok.es/wy && sudo bash weby -nginx
# 建立 HTML 網站
sudo site example.com -html
# 為網站新增 SSL 憑證
sudo site example.com -ssl=on
# 啟用使用者 www-data 以透過 SFTP 上傳及修改檔案
sudo webinoly -login-www-data=on
命令範例 2:PHP 網站
# 使用 Webinoly 安裝 NGINX 及 PHP
wget -qO weby qrok.es/wy && sudo bash weby -php
# 建立 PHP 網站
sudo site example.com -php
# 為網站新增 SSL 憑證
sudo site example.com -ssl=on
# 啟用使用者 www-data 以透過 SFTP 上傳及修改檔案
sudo webinoly -login-www-data=on
命令範例 3:WordPress 網站
# 使用 Webinoly 安裝 LEMP
wget -qO weby qrok.es/wy && sudo bash weby
# 建立包含 FastCGI 快取的 WordPress 網站
sudo site example.com -wp -cache=on
# 為網站新增 SSL 憑證
sudo site example.com -ssl=on
# 造訪 https://example.com 並完成 WordPress 網站初始設定
# 為 HTTP 驗證建立使用者,便能讓 Webinoly 保護 WWordPress 網站的登入頁面 (wp-admin / wp-login)
sudo httpauth -add
# 啟用使用者 www-data 以透過 SFTP 上傳及修改檔案
sudo webinoly -login-www-data=on
命令範例 4:在 Java、Vue、React、Node、Angular 等應用程式/App/網站前端的 NGINX
# 使用 Webinoly 安裝 NGINX
wget -qO weby qrok.es/wy && sudo bash weby -nginx
# 建立反向 Proxy 網站 (將自有網域指向自有應用程式/App)
sudo site example.com -proxy=[localhost:8082]
# 為網站新增 SSL 憑證
sudo site example.com -ssl=on -root-path=/opt/app/web
命令範例 5:自訂組態
# 全新安裝 Webinoly
wget -qO weby qrok.es/wy && sudo bash weby -clean
# 變更 PHP 版本
sudo stack -php-ver=7.4
# 設定時區
sudo webinoly -timezone
# 在建置套件前依據需求變更組態 (以下是需求範例)
# 將 NGINX 分支變更為 mainline
# 將預設使用 MariaDB 改為預設使用 MySQL
# 變更 MariaDB 使用版本
# 等等...
sudo nano /opt/webinoly/webinoly.conf
# 使用自訂組態建置套件
# 這個命令範例使用 light 參數值,便只會安裝核心套件,而不會安裝附屬工具
# Let's Encrypt、Backups、Postfix、Redis、Memcached 及 phpMyAdmin 等工具都不會安裝
# 此外,也可以使用 basic 參數值,或依據需求個別安裝工具
sudo stack -lemp -build=light
# 建立 PHP 網站
sudo site example.com -php
…就是這樣!真的…就是這麼簡單!
以上所述以足敷一般專案所需。此外,我也請你參考我們提供的詳細文件,以便了解使用者使用 Webinoly 在伺服器上能達成哪些實用自訂功能,例如在伺服器上依據需求建置最進階的組態,尤其是大型專案所需要的特定調整。
* 如果需要更多進階案例,請閱讀完整的進階做法教學。
** 如果需要網頁伺服器相關的完整課程,請參考〈網頁伺服器管理介紹〉中的完整課程。
訂閱我們的電子報,便能在第一時間獲得更新資訊。
安裝命令
安裝命令可以使用某些參數及參數值,藉以輔助並自動化相關工作。
wget -qO weby qrok.es/wy && sudo bash weby <option> <version>
請依據想要代管的網站類型,選用必要的套件及其對應的參數及參數值。
- HTML (-nginx):僅會安裝 NGINX,因此僅支援 HTML 網站。
- PHP (-php):會安裝 NGINX 及 PHP。
- LEMP (-lemp):會安裝完整的 LEMP 套件,包含 NGINX、PHP、MySQL (MariaDB)。這是 WordPress 網站所需要最完整、必要的組態。(預設值)
- 稍後再安裝其他套件 (-clean):僅會安裝 Webinoly 而不會安裝其他套件,這能讓使用者使用
stack
命令手動安裝套件並自訂組態,同時這也是針對有自訂組態需求的建議安裝方式。
如果計畫為伺服器組態進行自訂變更 (例如變更 PHP 版本或資料庫引擎等),請不要使用預設參數 -lemp,而是使用上方命令範例 5 中的 -clean 參數。
命令範例:
完整安裝 LEMP:wget -qO weby qrok.es/wy && sudo bash weby -lemp
安裝 Webinoly 指定版本 (1.17.9 或更新版本):
wget -qO weby qrok.es/wy && sudo bash weby -lemp -ver=1.17.9
安裝特定版本有助於在自動化環境中 (例如整合了 Webinoly 的環境) 合宜的變更管理流程。在這類情況下,確保整個系統的穩定性至關重要;在採用不同版本之前,請務必對其進行測試。
先前的版本可能已過時或功能有限,因此建議使用這個應用程式的最新版本讓系統保持於最新狀態。
如果使用上有任何問題、建議、想法或意見,或是發現程式碼錯誤,請加入討論區一起討論。