☟為了讓這裡能夠永續經營,請容許一點點的廣告☟

以下內容更新於 — 2020-07-04 的 06:04

雲端主機〔Cloud Hosting〕與共享主機〔Shared Hosting〕最大的差異並不只在於速度與效能,而是對主機的控制權,也就是最高管理員權限〔root〕!而這個最高管理員權限可以自由變更主機的設定:小至修改php設定與記憶體的處理限制,大至安裝配套軟體與程序。

Cloudways的平台服務,提供圖形化的介面,不需要碰觸程式指令,也能將網站託管於VPS與雲端主機;節省大把的時間摸索主機設定,也不用擔心安全防護以及任何設定錯誤而產生停機的風險。

cloudways-code-sidebar

讓用戶鱉腳的共享主機

這篇文章要介紹的則是如何在CLOUDWAYS中變更php與資料庫的限制以及版本更新,還有安裝redis、Elasticsearch與Supervisord這些附加的程序。

尤其是php的設定,像是〔EXECUTION LIMIT〕、〔MEMORY LIMIT〕以及〔MAX INPUT VARIABLES〕,這些可說是託管於共享主機用戶的痛處!

因為有些主題、外掛與編輯器,都需要更高的數值才能正常運作,而共享主機商為了避免濫用,所以預設的數值比較保守,用戶也沒有變更這些數值的權限;甚至,有些共享主機商也不允許用戶提出更改的要求。

而這些設定的修改,在VPS或雲端主機中,可說是小菜一碟!最大的問題反而會是,該如何調整這些數值,才能讓網站獲得最有效率的工作吧(笑)。

cloudways-post-2

雖然在Cloudways平台中,我們沒有〔Root〕最高管理權限,但是我們還是可以在【SETTINGS & PACKAGES】的介面,自訂php與MySQL的設定參數,以及管理一些軟體與程序。

SETTINGS & PACKAGES|伺服器設定

SETTINGS & PACKAGES-final

這裡包含主機的基本設定〔BASIC〕、進階設定〔ADVANCED〕、軟體安裝〔PACKAGES〕以及設定伺服器的維護時間〔MAINTENANCE〕。

操作時間 1 minute

STEP 1|進入伺服器設定頁面

SETTINGS-PACKAGES-STEP-1

點擊CLOUDWAYS首頁〔Login〕
輸入註冊Cloudways的Email、密碼,點擊綠色按鈕〔LOGIN NOW〕登入。
在〔服務器列表〕中,點擊需要設定的服務器。
圖片中的主機列表顯示只有一台服務器。
在主機設定頁面中的左邊選單中,點擊〔Setting & Packages〕,進入伺服器管理頁面。

☟為了讓這裡能夠永續經營,請容許一點點的廣告☟

STEP 2|BASIC設定

SETTINGS-PACKAGES-STEP-2.php設定

這裡是主機的基本設定。其中,編號❶〔EXECUTION LIMIT〕以及編號❸〔MEMORY LIMIT〕就是某些主題或編輯器需要足夠的數值才能正常運作。
.
圖片中顯示的都是CLOUDWAYS預設的數值,而這個數值都是我們一開始安裝主機與網站的時候,CLOUDWAYS已經幫我們配套好的數值,可以滿足WordPress網站的大多數需求。
.
但是,CLOUDWAYS不曉得我們是否還會安裝哪些主題或外掛;所以,如果發現在WordPress操作某些主題、外掛或編輯器的時候,一直發生錯誤訊息,很有可能是因為php設定值不足。
這時候可以到主題或外掛的設定頁面,檢查它們各自的需求,確認好之後就可以到這裡來調整,直到一切運行正常為止。

❶【EXECUTION LIMIT】
這是允許php腳本可執行的最大時間,單位是秒(sec)。
一旦允許的時間太短,就會造成某些主題或外掛的工作來不及做完就被取消而發生錯誤!相反的,如果允許的時間太長,也會讓某些外掛佔用太多的CPU與RAM,影響網站前端的等待時間,甚至是網站崩潰。
所以,要設定一個最合適的數值,既能夠滿足網站需求又不會讓主機崩潰。
.
因為共享主機的規格通常不敷使用,所以不太讓用戶去修改這個數值,避免被濫用;但是,有些主題或編輯器就是需要較多的執行時間,尤其〔匯入〕或〔匯出〕的時候。
.
CLOUDWAYS預設的數值為〔60 sec〕,這個數值通常可以滿足大多數WordPress網站中的各種操作。
但是,像AVADA主題就要求最低要〔180 sec〕,通常是為了要〔匯入版型〕,或者是使用〔Fusion Live〕編輯的時候,會需要較長的執行秒數。
.
如果不是經常需要使用這些操作,那可以等到要操作的時候,再到CLOUDWAYS後台修改也不遲。

❷【UPLOAD SIZE】
這是單一檔案上傳的大小限制,單位是〔MB〕。 CLOUDWAYS預設的數值為〔10 MB〕,我沒有去修改這個數值,因為我上傳的檔案都很小,如果有需要,可以到這裡來修改這個數值。

❸【MEMORY LIMIT】
每當網站對主機發出請求時,php就得工作,而這個就是限制php在工作時,最多能使用的記憶體總量,單位也是〔MB〕而CLOUDWAYS預設的數值為〔128 MB〕。
限制這個是因為除了php之外,還有其他的軟體或程序也需要用到記憶體,所以不可以把所有的記憶體都分配給php,通常會建議限制在可用記憶體的25%~50%之間。
.
但是也不可以太低,因為一旦記憶體分配地太少,可能會導致某些外掛的工作被中斷,甚至是發生500錯誤!
像是Slider Revolution要求需要〔256 MB〕,而Elementor Pro更貪心,它要求至少要〔300 MB〕。所以,如果在操作Elementor的時候發生各種莫名其妙的錯誤,可以檢查看看是否是因為php被分配的記憶體不足。
.
大家可以評估主機規格的可用記憶體,再到WordPress後台操作看看運作的效能之後再去增減;比如說,我的主機規格為RAM〔1GB〕,那這裡的限制設定為256MB或512MB,都在安全範圍內。
當然,如果你使用的主題與外掛本身的要求就不高,一切都運行地很好,其實CLOUDWAYS預設的〔128 MB〕就能滿足WordPress網站的需求。

❹【DISPLAY ERROR】
這裡是選擇是否需要顯示php執行腳本的錯誤訊息,可以從右邊的下拉選單中選擇〔Yes〕或〔No〕。
CLOUDWAYS預設為〔No〕,但是如果你是網站開發人員,的確可以選擇〔Yes〕,便能在CLOUDWAYS平台上檢視php錯誤日誌。
如有需要,還可以在網站設定的頁面中,變更【php fpm】的設定
即使不懂程式語言,也看不懂錯誤日誌,還是可以將它設置為〔Yes〕,方便CLOUDWAYS的線上客服協助檢查!

❺【ERROR REPORTING】
這是【DISPLAY ERROR】的進階設定,從下拉選單中可以選擇php錯誤日誌的報告級別。
如果你和我一樣,不是網站開發人員,維持預設的【Default – [E_ALL & ~E_DEPRECATED & ~E_STRICT]】即可。

❻【PHP TIMEZONE】
這裡是選擇php時區,如果你也是在台灣,可以從右邊的下拉選單中選擇【(GMT+08:00) Taipei】。

❼【SAVE CHANGES】
如果在這裡變更了任何設定,一定要點擊綠色按鈕【SAVE CHANGES】保存更改。

STEP 3|ADVANCED設定

SETTINGS-PACKAGES-STEP-3.MySQL/php設定

這裡是進階設定,包含了編號❶~❺是【php設定】、編號❻~⓬是【MySQL設定】、編號⓭是【Apache設定】、編號⓯【NGINX快取保存時間的設定】、編號⓱是【系統語言設定】以及編號⓲【VARNISH快取保存時間的設定】。
.
圖片中顯示的都是CLOUDWAYS預設的數值,而這個數值都是我們一開始安裝主機與網站的時候,CLOUDWAYS已經幫我們配套好的數值,可以滿足WordPress網站的大多數需求。
如果你對於調整這些數值還沒有把握的話,也可以請CLOUDWAYS協助評估調整,尤其是有關記憶體的進階設定。

|php|
❶【MAX INPUT VARIABLES】
這個是php對每一個〔post〕的請求,限制可輸入的最大變量。
因為有一些主題或外掛,在執行特定的工作時,會需要更高數值;如果未達需求,可能會遺漏資料造成一些功能或小部件〔widgets〕無法使用。
AVADA主題的最低需求為〔1632〕,但是大多數的共享主機通常都只設置為〔1000〕,匯入版型的時候就會出現以下的錯誤訊息:
『Warning: parse_str() [function.parse-str]: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in/home/user/public_html/path/t0/file/causing/this/error.php on line 389.』
.
如果要修改〔MAX INPUT VARIABLES〕的數值,通常會在根目錄(html_public)底下的〔.htaccess〕或〔php.ini〕文件中編輯或添加〔MAX INPUT VARIABLES〕的數值來進行更改。
但是在CLOUDWAYS平台中,一切都變得相當容易,這裡就可以直接修改,減少修改〔.htaccess〕的麻煩與可能的失誤!
.
圖片中顯示的是CLOUDWAYS預設的數值〔2500〕,已經遠超過AVADA主題的需求,所以我就維持預設數值。
如果你的網站中有其他的主題或外掛需要更高的變量,就可以來這裡直接修改唷~

❷【MAX INPUT TIME】
這個是限制每一個請求最多可執行的時間,單位是〔秒/sec〕,而〔請求〕則是包含了〔get〕以及〔post〕。
當請求的執行時間超過限制的時間就會被取消,於是在網站的操作就會失敗、發生錯誤…等等。
Cloudways預設數值為〔60 sec〕,我自己的網站使用也足夠,所以就維持預設值即可。

❸【APC MEMORY】
這是APC加速器可使用的最大記憶體限制,以〔MB〕為單位。
CLOUDWAYS預設數值為〔32 MB〕,雖然我沒有在WordPress後台啟用APC,理應是享受不到APC的效能;但是APC是捆綁在php裡面的程序,建議維持預設數值即可,以免網站發生錯誤。
我曾經很白目地以為我不需要它,於是把數值改為〔0 MB〕(不想在它身上浪費記憶體),然後網站就503了(哈哈哈哈哈~),這時候不用擔心,再改回來馬上就好了。
問過CLOUDWAYS客服才知道,這是伺服器端的設定,建議最低也要保持在預設值以上!我真的很敢亂玩耶~

❹【OPCACHE MEMORY】
OPCACHE一樣是php加速器,而這裡則是限制OPCACHE可使用的最大記憶體,一樣以〔MB〕為單位。
CLOUDWAYS預設數值為〔64 MB〕,建議不需要去變更這個設置;如果有需要,可以請CLOUDWAYS客服協助評估後再調整。

❺【SHORT OPEN TAG】
〔SHORT OPEN TAG〕是命令php解析資料的時候,可以直接使用< ? = ? >這類型的短標籤來編譯。
CLOUDWAYS預設為〔關閉/Off〕,表示禁用〔SHORT OPEN TAG〕。
如果有需要修改php文件,而且會使用短標籤來編輯php文件,那這裡的選項就必須〔啟用/On〕,否則php會無法識別短標籤。
然而,對於從來不需要去修改php文件,以及不需要使用短標籤來修改php文件的人來說,無論是開啟或關閉都毫無影響,維持預設的〔關閉/Off〕即可。

|MySQL|
如果有需要修改【MySQL】區塊中的數值,最好先將整個伺服器備份之後再調整數值
以下編號❻都是MySQL的設定,那到底MySQL是什麼?

❻【TIMEZONE】
這是資料庫的時區設置,從右邊的下拉選單可以選擇。
如果你和我一樣都在台灣,就選擇〔(GMT+08:00) Taipei〕吧!

❼【ENCODING】
這是資料庫的編碼語言。
如果你和我一樣,網站中的檔案都會使用到中文字,那就從右邊的下拉選單中,選擇進化版的可變長度字元編碼〔UTF-8 Unicode〕吧!

❽【MAX CONNECTIONS LIMIT】
這裡是限制資料庫最大連線數量。
CLOUDWAYS預設的數值為〔150〕,而MySQL自己本身的預設值則是〔151〕。
撰寫這篇文章的時候,CLOUDWAYS客服幫我調整為〔350〕!但是,網站真的需要這麼高的資料庫連線數量嗎?
允許太高的連線數量,對於小記憶體的主機來說,反而會讓速度變慢!我認為原本的〔150〕其實也足夠了!
.
如果主機的記憶體高達3~6GB,會比較能支撐〔350〕的連線數量;像我這種只有1GB的,盡量壓在〔150~300〕之間會比較理想。
.
無論如何,可連線數量要看網站的需求以及主機負荷量,當網站的連線需求增加時,的確是需要調高;不過,一旦調高了可連線的數量,變成是要考慮主機是否能夠負荷龐大的連線作業,如果無法負荷,就得考慮升級主機規格囉~

❾【BUFFER POOL SIZE】
這是限制資料庫快取暫存區的記憶體使用量,單位是〔MB〕,而CLOUDWAYS的預設值為〔64 MB〕,雖然圖片中只顯示了〔Default MB〕。
撰寫這篇文章的時候,我還特地詢問了CLOUDWAYS客服,他們是建議可調整與【STEP 2】的【編號❸】的【MEMORY LIMIT】一樣,比如說,我的【MEMORY LIMIT】是〔256 MB〕,那【BUFFER POOL SIZE】可以也設定為〔256 MB〕。
.
其實MySQL預設的數值為〔8 MB〕,真的蠻少的!
如果發現網站處理的速度比較慢,的確是可以將數值調高,看看是否能夠改善網站的處理速度。
.
需要注意的則是,調高的數值盡可能控制在可用記憶體的25%~50%以內,因為要留給其他的程序使用,否則,即使網站處理速度變快了,但是記憶體卻嚴重不足,網站反而會崩潰!
★後面會介紹BUFFER POOL SIZE是什麼?

❿【KEY BUFFER SIZE】
這是限制MySQL中的MyISAM緩衝區,可使用的記憶體的用量,單位是〔MB〕。
CLOUDWAYS的預設值一樣是〔Default MB〕,我問過CLOUDWAYS客服,其實是〔32 MB〕。
.
增加MyISAM緩衝區可使用的記憶體,的確可以加速網站的處理速度,但是這並不是可以無限增加,要考慮的反而是伺服器可使用的記憶體的總量,以及MyISAM可緩衝的數據尺寸;否則,可緩存的數據沒那麼多,多給它記憶體也是浪費,別人要用也用不到。
再者,增加的用量也要控制在伺服器可使用的記憶體的25%~50%之間,才不會讓記憶體不足。
★後面會介紹KEY BUFFER SIZE是什麼?

⓫【LOCK WAIT TIMEOUT】
這是設定資料庫發送資料可接受等待時間,單位是〔秒/sec〕。
CLOUDWAYS預設值為〔30 sec〕,但是我將它更改為〔50 sec〕。
.
何時需要更改?
如果發現網站前端經常遇到502或504錯誤的時候,或者是正在WordPress後台處理較耗時的設定時,比如說變更或匯入主題、備份、還原、掃描…等等,的確是可以試著將等待秒數增加到〔100 sec〕,甚至是更高,避免因為超時等待而發生中斷或錯誤。
★後面會介紹LOCK WAIT TIMEOUT是什麼?

⓬【WAIT TIMEOUT】
這是設定資料庫將等待多久的閒置時間之後就斷開,不再佔用記憶體,單位也是〔秒/sec〕。
CLOUDWAYS預設值一樣是〔30 sec〕。
.
因為MySQL的預設值為〔28800 sec〕,也就是8小時!我覺得是可以讓它休息,不要老是和記憶體依依不捨…
這是什麼意思呢?
打個比方好了,對於一個新網站來說,可能4個小時才會有一個新的請求呼喊資料庫工作,如果說我將〔WAIT TIMEOUT〕設定為〔30 sec〕,當資料庫處理完當前工作,並且等待了30秒都沒有新的工作進來,它就會關閉,直到4個小時後的下一個新工作進來之前,都不會佔用記憶體,以達到節省記憶體用量的目的。
但是對於一個高流量的國際網站來說,可能24小時、365天都不斷有世界各地的請求出現,大概就不用特別去設置〔WAIT TIMEOUT〕了,因為資料庫大概不會有任何的閒置時間,或許設置〔1 sec〕也是一個不錯的選擇吧!

|Apache|
⓭【DEFAULT APPLICATION】
這裡是設定伺服器預設的網站。
當伺服器中架設了二個以上的網站時,可以在這裡選擇由哪個網站來擔任Apache的預設網站。
★延伸閱讀☞Apache是什麼?
被設定的那個網站,將會對應到伺服器的IP位置;也就是說,除了原本的網域(比如說miriammibao.com)之外,可以透過伺服器的IP位置直接連上被指定的那個網站。
★延伸閱讀☞IP位置是什麼?

⓮【ACCESS APPLICATION VIA IP】
這裡是設定是否要透過伺服器的IP直接連上預設的應用程序的那個網站。
CLOUDWAYS的預設是〔啟用/Enable〕,除非你很清楚使用目的以及未來的結果,否則,最好將它往左邊切換到〔禁止/Disable〕
.
延續〔編號⓭〕的設定,當我們指定某個網站作為預設的應用程序之後,就可以直接使用伺服器的IP位置連上被指定的那個網站。
但是,考量到伺服器安全與負載問題,我們最好不要公開伺服器IP,以避免各種可能的攻擊;再者,域名總是比IP位置更好記憶,也有利於SEO,所以這裡最好選擇〔禁止/Disable〕,不讓伺服器的IP位置可直接連到網站。

|NGINX|
⓯【STATIC CACHE EXPIRY】
這裡是設置NGINX靜態快取保存的時間,單位是〔分鐘/min〕,預設為〔43200 min〕,也就是一個月。
我認為一個月也還算理想,因為網站中的靜態內容通常不會經常更改,將它們保存在網站與伺服器的中間,當網站需要這些靜態內容的時候,不但可以更快速交付,還不用麻煩資料庫,減輕CPU與RAM的工作量。
★延伸閱讀☞NGINX是什麼?

⓰【WAF MODULE】
這裡是設定在CLOUDWAYS所部署的防火牆環境下,要透過哪個機制來檢視訪客的真實IP。
CLOUDWAYS預設是〔禁止/Disable〕,從右邊的下拉選單中,可選擇要透過〔CLOUDFLARE〕或是〔SUCURI〕。
.
事情是這樣子的,因為在CLOUDWAYS所部署的防火牆環境中,訪客的IP位置都會變成〔127.0.0.1〕,這樣就無法分辨個別訪客的IP位置(如果有這方面需求的話)。
.
我是選擇透過〔CLOUDFLARE〕,因為我有使用CLOUDFLARE的CDN服務來減輕伺服器的負荷以及Dos攻擊,另一方面則是我的域名是透過CLOUDFLARE來管理域名伺服器,搬家的時候DNS指向速度較快。
如果你沒有其他付費的CDN服務或防火牆代理,CLOUDFLARE的免費方案是一個堪用的選擇。
如果要選擇〔CLOUDFLARE〕,前提是必須先擁有CLOUDFLARE的免費帳戶,並且將域名的名稱服務器託管於CLOUDFLARE,然後再將A紀錄指向CLOUDWAYS的伺服器IP位置,之後再來這裡選擇〔CLOUDFLARE〕才有意義。
★延伸閱讀☞如何在CLOUDFLARE創建A紀錄指向Cloudways

|SYSTEM|
⓱【LOCALES】
這裡是設定系統的語言環境,預設的〔English_US〕是不可改的,但是可以在這裡增加其他的語言環境。
如果你的網站和我一樣都是以中文居多,那就可以從右邊的下拉選單,選擇增加〔Chinese (Taiwan)〕。

|VARNISH|
⓲【CACHE LIFETIME】
這裡是設置VARNISH快取保存的時間,從右邊的下拉選單中,有四個時間可選☞〔4 hours〕、〔8 hours〕、〔14 hours〕、〔24 hours〕。
CLOUDWAYS預設為〔4 hours〕,但是我覺得太短了!
因為VARNISH可快取靜態與動態資源,但是網站的內容不一定天天更新;比如說,我不是天天都有新文章可發布,所以我選擇了最長的〔24 hours〕。
★延伸閱讀☞VARNISH是什麼?
.
CLOUDWAYS平台中還有一個監視器,可以監控VARNISH快取被有效運用的情形,設置較長的快取保存時間,能讓VARNISH快取更有機會被訪客運用。
如果你每天都會發布多則文章,或是經常在WordPress後台變更設定,那就可以按照變更頻率去調整快取資料的保存時間。
另外,因為VARNISH可以快取動態內容,這對購物車來說,反而是個困擾!但是在CLOUDWAYS的平台中,一切變得相當簡單,只需要在電子商務網站的應用程序設定中,將購物車排除在VARNISH的快取對象之外即可。

⓳【SAVE CHANGES】
如果在這裡變更了任何設定,一定要點擊綠色按鈕【SAVE CHANGES】保存更改。

VPS與雲端主機有趣的地方就在這裡,可以依照網站的使用需求,自由調適伺服器、資料庫、擴充軟體與程序的用量與配置,以達到更高效率的處理速度。

☟為了讓這裡能夠永續經營,請容許一點點的廣告☟

STEP 4|PACKAGES管理/安裝軟體

SETTINGS-PACKAGES-STEP-4.redis

CLOUDWAYS這個雲端主機管理平台真的是程式語言門外漢的福祉,他讓我們不需要透過終端機就能管理伺服器的設定,避免代碼錯誤而造成指令失效,甚至是其他的問題,還能按照需求安裝其他軟體與程序。而這裡,就是我們可以管理的軟體與程式。

❶|php|
噢!又是php,前面二個步驟是設定php的相關數值,這裡則是選擇php的版本。
在我寫這篇文章的時候,CLOUDWAYS幫新部署的伺服器安裝的版本是〔php 7.1〕;如果有需要更新的版本,可以點擊右邊的〔鉛筆圖案〕,選好需要的版本之後,再點擊右邊的綠色按鈕〔SAVE〕即可。
.
但是請注意,在這裡只能升級,不能降級,所以,在升級前,請先確認自己的WordPress版本,是否與要升級的那個php版本相容;如果在升級php版本之後才發現WordPress版本配不上,那也沒關係,再將WordPress也升級就好囉~
.
寫這篇文章的時候,官方釋出最新的版本為〔php 7.4〕,可相容於WordPress 4.3.x及更高版本。
無論如何,做任何升級與更新之前,請先備份伺服器與網站,並且先測試是否與WordPress網站中的主題與外掛是否能正常運作!

❷|MySQL |
因為MySQL應該是不會再為免費使用者繼續維護,所以從2019/9/12之後的新用戶,CLOUDWAYS已預設安裝〔MariaDB 10.1〕。
而這裡則是選擇資料庫的版本,點擊右邊的鉛筆圖案查看可選擇的版本,一樣是只能升級不能降級,選好需要的版本之後,再點擊右邊的綠色按鈕〔SAVE〕即可。

❸|Elasticsearch |
如果你擁有一個大型的網站,可能是電子商務網站、論壇、知識庫…等等的大量內容的網站,那Elasticsearch會是一個超棒的軟體。
而且,在CLOUDWAYS中可以一鍵安裝!不需要自己去操作任何終端機與程式碼,非常方便又不怕出錯。
★後面會介紹Elasticsearch有什麼好?
圖片中我沒有啟用Elasticsearch,因為我的網站並沒有太大量的內容。
如果需要使用Elasticsearch,可點擊右邊的〔鉛筆圖案〕,會出現可安裝的版本,選好以後點擊右邊的綠色按鈕〔SAVE〕,這樣就完成安裝了。
安裝好了之後,再回到WordPress後台,安裝ElasticPress這套免費的外掛,就可以在WordPress網站中使用智慧型的搜尋功能了。

❹|Redis |
Redis也是一種快取程序,詳細功能介紹在這裡☞Redis是什麼?
如果需要啟用Redis,可以點擊右邊的白色按鈕〔INSTALL〕,一樣是一鍵安裝,不需要碰觸終端機。
.
一鍵安裝雖然很方便,但是這還沒結束唷~不過後面的操作也很簡單,大家應該都駕輕就熟:
在CLOUDWAYS安裝Redis之後,再到WordPress後台安裝Redis Object Cache外掛,就能將WordPress網站連結到伺服器端的Redis快取程序。

❺|Supervisord|
Supervisor是一個進程管理工具,可以管理以及自訂單一或多個進程的〔啟動〕、〔重啟〕以及〔關閉〕。
比如說,當伺服器發生問題而導致所有的網站崩潰,Supervisord就能同時啟動所有的應用程序,而不是逐一重啟。
雖然說Supervisord在CLOUDWAYS平台中也是一鍵安裝,但是還需要透過SSH終端將Redis配置為網站的驅動程序。然而,只要一扯到終端機我就擔心出錯,所以我沒有啟用Supervisord服務。
如果有需要,也了解終端機操作的人,在安裝Supervisord之前,必須先安裝Redis,再安裝Supervisord,接著再到終端機配置Redis;配置完成了之後,就可以在應用程序的設定〔Application Settings〕中,新增進程作業以及運作程序。

STEP 5|MAINTENANCE伺服器維護時間

SETTINGS-PACKAGES-STEP-5.MAINTENANCE

這裡是排定主機維護的時間表,預設的維護時間為〔Thursday UTC 05:00〕。
主機維護包含了安全維護、更新以及補丁,這是必須的排程工作。
雖然說維護的過程中,網站可能會短暫中斷(只是可能,不是一定),但還是得挑一個最合適的時間,讓CLOUDWAYS做這件事!
所以,通常會挑網站最少訪客的時間,(可參考Google Analytics的分析)。
.
但是,請注意!這裡的時區是UTC,也就是世界標準時間;換算台灣的時間,大約是慢8小時
也就是說,假設預設的維護時間為週四的〔UTC 05:00〕,實際上則是台灣時間的週四〔下午1點〕!
對於訪客大多在台灣的網站來說,可能不太理想,所以要先換算一下:
假設我的網站訪客最少的時段為週四的清晨6點,那就要往前推8個小時,也就是週三的晚上10點,所以這裡就選〔Wednesday 22: 00〕,以此類推…
換算好之後,從下拉選單中選擇〔Wednesday/週三〕以及〔22: 00〕,如此便能讓維護時間變成台灣時間的週四清晨6點,選擇後別忘了點擊綠色按鈕〔SAVE〕以保存設定。


以下是一些名詞解釋,我嘗試用白話文的方式簡單說明

【BUFFER POOL SIZE】是什麼?
BUFFER POOL SIZE

〔innodb_buffer_pool_size〕是MySQL的重要配置,它像是一個緩衝區,負責緩存資料結構、索引〔indexes〕、表〔tables〕、快取〔caches〕、資料〔row-data〕…等等的InnoDB的資料,讓資料庫的數據可以更有效地被運用。
而這些緩存的工作仰賴的是記憶體,所以必須根據可用的記憶體〔RAM〕進行配置,盡量控制在可用記憶體的25%~50%之間。

【KEY BUFFER SIZE】是什麼?
KEY BUFFER SIZE

〔key-buffer-size〕是MySQL用來配置MyISAM的關鍵緩衝區〔key buffer〕的大小。
MySQL預設的情況下只有一個key buffer,配置的記憶體大小也只有8MB。
如果有需要,可以創建多個key buffer,但是MyISAM本身只緩存索引〔indexes〕,不緩存數據。
如果你的資料庫大部分表都是MyISAM,那的確可以幫key buffer配置較多的記憶體。
如果需要為它分配較多的記憶體時,除了不要超過數據庫中MyISAM的大小以外,最好限制用量不要超過整個伺服器的記憶體的25%~50%,因為不是只有資料庫會使用到記憶體,要留給其他軟體以及伺服器本身使用。

【LOCK WAIT TIMEOUT】是什麼?
LOCK WAIT TIMEOUT

按照字面翻譯就是〔鎖定等待超時〕!
可是,到底是鎖定了什麼?又要等待什麼?
我想用白話文的方式解釋,大家就不去糾結於那些程式語言以及專有名詞與動詞囉!

〔鎖定/LOCK〕什麼?
LOCK

當資料庫在處理網站前端發來的請求時,如果先後遇到有4個人都要討同一份資料,就會先發給第一個人,等到第一個人收到了以後,第2、3、4個人才能開始接收!
這意味著,同一份資料被前面的那個人〔鎖定/LOCK〕的意思。

〔等待/WAIT〕什麼?
WAIT

那等待呢?
因為MySQL預設的等待時間為50秒,這意味著,如果當資料庫花了20秒才讓第一個人收到資料,第2個人再花20秒收到,那第3個人就會等了10秒之後收到錯誤通知了,而第4個人則是連等都不用等直接收到錯誤通知!
這是因為資料庫在處理同一條請求時,只給予50秒的執行時間,也就是所謂的〔等待/WAIT〕時間。
當網站流量較大,或者是我們自己在WordPress後台處理較大型的修改設定時,資料庫會需要較長的工作時間,這時候MySQL預設的50秒就不夠用,建議可以按照需求調高數值為100秒甚至是更高。

【Elasticsearch 】是什麼?
Elasticsearch

因為WordPress內建的搜尋系統不太靈活!說不太靈活其實頗委婉,因為對於擁有大量內容的網站來說,應該要說太不智能會更貼切!
而Elasticsearch是一個很靈活、很智能、有條理、又支援多語言的搜尋系統。
在主機裡安裝Elasticsearch,會建立一套有系統的索引,而這些索引能夠加速資料庫查找效率,還能減少伺服器的負擔;接著,在到WordPress後台安裝能與Elasticsearch接軌的外掛,比如說免費的ElasticPress或付費的WPSolr,就能讓網站透過Elasticsearch的索引,更快速地也更多元地交付搜尋結果。


參考資料|Reference
①14.8.3.1 Configuring InnoDB Buffer Pool Size-MySQL 5.7 Reference Manual/DOCUMENTATION/MySQL
②8.10.2 The MyISAM Key Cache-MySQL 8.0 Reference Manual/DOCUMENTATION/MySQL
③5.1.8.3 Structured System Variables/MySQL 5.6 Reference Manual/DOCUMENTATION/MySQL
Apache > HTTP Server > Documentation > Version 2.5
⑤CLOUDWAYS/Support/Knowledge Base


php與MySQL的相關設定以及其他程序的安裝就介紹到這裡了!如果有任何問題,歡迎在下方的留言板討論指教囉~

對於不懂程式語言的我來說,寫這篇文章主要是想幫助許多第一次接觸雲端主機的人們…
撰寫的過程中,大概是每遇到一個功能,就打擾客服一次的節奏;當然,這麼多的功能,自己也還在摸索中,似懂非懂地且戰且走,其實自己也獲得了不少唷~

或許你還想看更多CLOUDWAYS相關教學?

好嘛好嘛…臨走前幫我拍拍手嘛
如果你願意免費幫助我,請在下方圓形按鈕幫我拍拍手,最多可以按5下,那就幫我按5下吧!算我求你啦啦啦~~~謝謝你、我愛你❤
臉書或Google帳號都可以快速登入喲…

facebook留言板|文章相關問題歡迎留言討論唷~
IMG_2349-miriammibao-100px

▍關於作者|MiriamMibao温唯

2019.02.11,我開始了這裡…
不懂css、不懂php,當然-也不知道誰是Nginx、誰又是Apache…
硬要WordPress架站,一切自己來,所有的細節,從0開始,自己架站會遇到的問題,遇到了才知道!這一路走來,跌跌撞撞,摸索過國內外能夠解決問題的資料…
是不是該好好紀錄這一段跌跌撞撞的探索日記?或許,也能帶給你們一些幫助...

咖啡贊助計畫

buy me a coffee-icon

我願意《將我所知道的一切,仔細地、真實地分享給你》
你願意《請我喝咖啡》嗎?
你的一杯咖啡,是我最溫暖的支持❤
用實際行動支持我創作更多好作品吧