Nginx反向代理負載均衡的容器化部署

首先,在home目錄創建microservices目錄,開啟第一篇章。

cd ~ && mkdir microservices && cd microservices

創建nginx目錄,在目錄下分別創建三個節點目錄:nginx01nginx02nginx03,目的是使nginx01作為反向代理服務器,將請求均衡轉發到nginx02nginx03

mkdir -p ./nginx/nginx01 ./nginx/nginx02 ./nginx/nginx03

展示效果如下所示。

nginx
├── nginx01
└── nginx02
└── nginx03

將nginx鏡像中的配置文件拷貝到各子目錄中,以便做掛載,方法是創建一個臨時容器,將配置文件拷貝至宿主機目錄,再刪除臨時容器。

docker run --name tmpnginx -d nginx:latest
docker cp tmpnginx:/etc/nginx/nginx.conf ~/microservices/nginx/nginx01
docker cp tmpnginx:/etc/nginx/nginx.conf ~/microservices/nginx/nginx02
docker cp tmpnginx:/etc/nginx/nginx.conf ~/microservices/nginx/nginx03
docker cp tmpnginx:/etc/nginx/conf.d ~/microservices/nginx/nginx01
docker cp tmpnginx:/etc/nginx/conf.d ~/microservices/nginx/nginx02
docker cp tmpnginx:/etc/nginx/conf.d ~/microservices/nginx/nginx03
docker rm -f tmpnginx

此時nginx目錄如下所示。

nginx
├── nginx01
│   ├── conf.d
│   │   └── default.conf
│   └── nginx.conf
├── nginx02
│   ├── conf.d
│   │   └── default.conf
│   └── nginx.conf
└── nginx03
    ├── conf.d
    │   └── default.conf
    └── nginx.conf

在根目錄創建文件docker-compose.yml,創建三個web服務,配置文件分別映射到容器中的對應文件。

version: '3'

services:
  web01:  #服務名稱
    image: nginx:latest #鏡像
    container_name: web01 #容器名稱
    ports:  #映射端口號,前者宿主機端口,後者容器端口
      - 8080:80
    volumes: #映射的目錄或文件,前者宿主機目錄,後者容器目錄
      - ./nginx/nginx01/nginx.conf:/etc/nginx/nginx.conf #配置文件
      - ./nginx/nginx01/conf.d:/etc/nginx/conf.d #擴展配置目錄
      - ./nginx/html:/usr/share/nginx/html #html存放目錄

  web02:
    image: nginx:latest
    container_name: web02
    volumes:
      - ./nginx/nginx02/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/nginx02/conf.d:/etc/nginx/conf.d
      - ./nginx/html:/usr/share/nginx/html

  web03:
    image: nginx:latest
    container_name: web03
    volumes:
      - ./nginx/nginx03/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/nginx03/conf.d:/etc/nginx/conf.d
      - ./nginx/html:/usr/share/nginx/html

打開nginx/nginx01/conf.d/default.conf,在文章頂部加入upstream配置,web02與web03是docker-compose.yml中定義的容器名稱container_name

upstream backend {
    server web02:80;
    server web03:80;
}

location /中加入proxy_pass以便將請求轉發給backend

location / {
    root   /usr/share/nginx/html;
    index  index.html index.htm;
    proxy_pass http://backend;  #追加該行
}

配置完成后,執行以下命令將容器跑起來。

cd ~/microservices
docker-compose up

提示以下內容即成功。

Recreating microservices_web01_1 ... done
Recreating microservices_web02_1 ... done
Recreating microservices_web03_1 ... done
Attaching to web02, web01, web03

此時microservices目錄結構如下,nginx目錄下多出了一個html文件夾,可以在html目錄下創建一個index.html,輸入Hello world!,重新跑一下。

microservices
├── docker-compose.yml
└── nginx
    ├── html
    │   └── index.html
    ├── nginx01
    │   ├── conf.d
    │   │   └── default.conf
    │   └── nginx.conf
    ├── nginx02
    │   ├── conf.d
    │   │   └── default.conf
    │   └── nginx.conf
    └── nginx03
        ├── conf.d
        │   └── default.conf
        └── nginx.conf

現在做個測試,在瀏覽器中訪問localhost:8080,觀察終端打印的日誌。

web01    | 172.24.0.1 - - [26/Jun/2019:01:48:28 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" "-"
web02    | 172.24.0.2 - - [26/Jun/2019:01:48:28 +0000] "GET / HTTP/1.0" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" "-"

上述內容表示本次請求通過web01轉發到了web02。

web01    | 172.24.0.1 - - [26/Jun/2019:04:42:36 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" "-"
web03    | 172.24.0.2 - - [26/Jun/2019:04:42:36 +0000] "GET / HTTP/1.0" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" "-"

再次刷新,可以看到請求通過web01轉發到了web03,到目前為止,基本的負載均衡部署就已經完成了,上述的web01是將請求均衡轉發到web02、web03的,這種方法叫輪詢法,下篇文章介紹幾種其他的負載算法。

【精選推薦文章】

自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

C#爬蟲與反爬蟲–字體加密篇

       爬蟲和反爬蟲是一條很長的路,遇到過js加密,flash加密、重點信息生成圖片、css圖片定位、請求頭…..等手段;今天我們來聊一聊字體;
那是一個偶然我遇到了這個網站,把價格信息全加密了;瀏覽器展示:

查看源碼后是這樣:

當時突然恍然大悟,以為不就是把價格換成 &#xxxxx: .. 字符實體了嘛 我轉下就行了;(注:大家可能對轉義字符(實體名稱)比較熟悉 比如雙引號對應" ,字符實體呢就 &#開頭 ; 結尾 中間那些是ASCII碼 ;我這個示例中又有點不一樣的是 以x開頭 表明是16進制的 ASCII碼;詳解:http://www.w3school.com.cn/html/html_entities.asp 和
http://www.w3school.com.cn/tags/html_ref_ascii.asp) ;於是開始了轉碼。。。。

 這是什麼鬼,難道我的判斷有誤。當我打開瀏覽器調試界面發現

也是亂碼,我在界面上copy金額黏貼到記事本看看

也是亂碼說明上面的推斷是沒有錯的,他應該就是在显示上做了什麼處理;
       在找找發現一段鬼鬼祟祟的代碼;給price設置了一個叫zhongshugui的字體,但是好好的字體為啥要用base64 不用 http加載,http加載貌似可以用瀏覽器緩存的不是更好,base64 的話我每次瀏覽一個網頁不都是要重新加載一下;莫非他不想緩存就是每次加載都不一樣,經各種刷新后發現確實每次都生成不同文件;

既然感覺字體有問題 那我們就解析出來看看是啥,

這些0~9正好和界面上的html字符實體編碼一一對應;所以這個加密方式就是 html寫對應的HTML實體並與字體里的ASCII對應,自定義字體文件 以base64的方式內嵌到html里 ;每個頁面隨機生成不同的字體(就是字體里的ASCII);上面那個是為了寫帖子自己仿造原網站做的例子;
C#解析字體的類在System.Windows.Media命名空間下Fonts類:
https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.media.fonts?view=netframework-4.8

   好睏。午休去了;

【精選推薦文章】

智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

想知道網站建置、網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計及後台網頁設計

帶您來看台北網站建置台北網頁設計,各種案例分享

廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

如何挑選一個適合你的虛擬主機服務?我參考的七個比較項目

如果你還有印象,幾個月前在無名小站與 Yahoo! 部落格宣布即將關閉服務後,我寫了一系列的無名小站專題,其中除了以圖文教學來引導讀者如何將無名小站的資料備份匯出外,更重要的是希望引導有心架站的使用者,可以用最快、最簡單的方式「轉移陣地」,妥善的保存你人生點滴,也倡導自行架站的重要性。

我不斷強調的兩個重點:一、註冊一個自己的網址二、使用 WordPress 來架設網站或部落格非常簡單。這當中需要投注一點資金,但以一個過來人的經驗來說是非常划算的。詳細教學和說明可以參考這幾篇文章:

  • 從無名小站搬家前,你應該先註冊一個自己的網址!四個推薦的網域名稱註冊商
  • 無名搬家到自架 WordPress,我推薦的五個虛擬主機服務
  • 自架 WordPress 虛擬主機租用教學,將網誌備份匯出、匯入到新家

在寫完無名小站搬家專題一系列文章後,我收到不少讀者的來信,其中有些人對於虛擬主機感到疑惑,或許對從沒租用使用過虛擬主機的使用者來說,很難從密密麻麻的網站文宣裡,找出什麼是真正重要、也符合自己需求的虛擬主機空間。

目前全世界的虛擬主機服務相當多。以美國的虛擬主機為例,因為競爭激烈,價格都已經降價到難以想像(每月 $10 美元以下),在規格和方案不斷提升的情況下,其中也暗藏不少問題。所以在價格外,我們應該要去深入了解幾個面向,來看看自己的虛擬主機可用與否。

思考過後,決定寫一篇以「如何挑選適合你的虛擬主機空間?」為主題的文章,這是我在多年使用下所得到的經驗,嘗試用很簡單扼要的方式分享出來,提供挑選網站空間的朋友作為參考。如果你有任何的疑問,也歡迎在下面留言討論。

一、穩定性(Uptime)

在價格、空間、流量限制或客戶服務前,最重要的就是虛擬主機的穩定性,通常參考依據為正常運作時間(Uptime)。這個數字以百分比表示,顯示出來的是主機正常運作時間比例,一般虛擬主機都會有一個 Uptime 保證,例如 99.5% 或 99.9%,如果當月沒有到達保證時間,使用者是可以要求退費或當月免費的(以該虛擬主機服務的使用條例為主)。

為什麼要注意虛擬主機的 Uptime 呢?如果你的虛擬主機一個月有 0.1% 時間無法連線,換算下來當月就有 40 分鐘時間,是沒有人連得上你的網站的,造成金錢損失不說,更可能在無形中失去訪客甚至是搜尋引擎對你網站的信心。

人家常說要挑選速度快的虛擬主機,我倒認為「不如挑選一個穩定性高的虛擬主機」,不過速度是很客觀的,從台灣連線速度慢,不代表在其他地區的連線速度也是如此。如果可以,當然最好還是能找到速度快(對你網站大部分訪客來說)、且穩定性高的虛擬主機商。

備註:大部分的虛擬主機服務都有提供「不滿意全額退費保證」,時間區間可能是 30 天,甚至最長到 90 天以上,在付款租用並將網站上線後,就能開始測試並持續追蹤網站的穩定性和速度。如果遇到成效不彰的虛擬主機,別客氣,趕快取消帳戶並要求對方退款,才是保障自已權益的最佳方法。

二、網站空間(Disk Space)

一般來說,網站空間(Disk Space)也會是我挑選虛擬主機的參考項目之一,因為虛擬主機上需要儲存你的網站資料,勢必要選擇一個放得下、也有足夠彈性供你後續成長的空間。不過如果你的網站檔案不多,或者是單純以 WordPress 來架設網站的話,那所需要的空間不用太大,1 GB 內就綽綽有餘。

有些虛擬主機會限制使用者的「檔案數量」,可能是 10 萬個、20 萬個不等,一般情況下都不會超過此限,若你有特殊需求,也記得要先參考虛擬主機的使用條例再進行租用。

三、流量限制(Bandwidth)

流量是大部分使用虛擬主機服務的站長們最重視的規格。無論是要上傳檔案,或者讓使用者可以瀏覽你的網站內容,在傳輸的過程中都會計算到流量裡,網站的規模也會受流量所限制。

現階段的虛擬主機服務,預設提供的網站空間和流量限制都已經是無限制(Unlimited),不過要注意「無限制」並不是真正讓你無限使用,而是在「合理的使用情況下不會限制你」。也就是說如果你是一般正常架站的使用者,那就不用擔心因為某個月網站訪客量爆衝,而需要更換空間或是額外付費。

在租用虛擬主機前,務必要了解該服務商對於流量限制所採取的政策。有些會在你額外超過流量時酌收費用,或者限制你不可以把空間作為下載站、檔案託管(File Hosting)用途,只要嚴守虛擬主機的使用條例,多半都可以安心使用。

四、控制台(Control Panel)

虛擬主機會使用控制台,讓使用者可以快速存取某項功能,例如管理資料庫、網域名稱或是安裝應用程式等等,常見的如 cPanel、Plesk 都有提供包含中文在內的多國語言支援。不過有些虛擬主機商會使用自行開發的控制台系統,就看你對於操作或熟悉上有沒有障礙,應該都不會太難使用。

選擇控制台系統也會影響到你在備份或資料移轉的難度,例如 cPanel 和 cPanel 間可以很方便、快速的移轉資料,減少在搬家時的時間。在尋找虛擬主機服務前,也記得要挑選一個適合你使用習慣,未來資料也能備份移轉的系統。

五、客戶服務和技術支援(Customer Support)

虛擬主機商能否提供優質且快速的客戶支援,也是選擇虛擬主機的重要參考項目。事實上大部分的國外虛擬主機,都有提供 24/7 全年無休的線上客戶服務,無論是技術、帳務或購買前諮詢上皆有很好的團隊在負責回應。如果你本身無法以英文進行溝通,其實只要搭配 Google 翻譯等工具,也是能和國外的虛擬主機服務進行文字對談。

若你真的需要中文的客戶服務和技術支援,那就選擇中文服務的虛擬主機商吧!但一般來講價格會較國外高一些。

六、付款方式(Payment)

對於剛接觸虛擬主機的朋友來說,最讓人卻步的一個原因,就是不熟悉其付款方式。大部分的虛擬主機都是以信用卡或 Paypal 方式來付款,所以擁有一張信用卡(或是 Visa 金融卡之類的)就變得非常重要,否則除非你的 Paypal 帳戶裡有餘額,不然大部分都會用到信用卡來付款。

目前網路服務在交易這方面已經相當安全,就我多年的使用經驗,也未曾發生過信用卡被盜刷等情況。有些虛擬主機在使用者訂購並刷卡付款後,會要求提供身分證明,來驗證這次的交易是否為本人,雖然在程序上略顯麻煩,但換個角度想也是保證顧客的權益。

如果你無法使用信用卡或 Paypal 來支付款項,那同前面所說的,你可以選擇中文的虛擬主機商,一般都會有 ATM 轉帳或匯款等我們較為熟悉的付款方式。

七、口碑(Reputation)

選擇虛擬主機的另一項參考指標,就是網路上的名聲好或不好,例如虛擬主機服務曾發生過大規模的個資外洩,甚至是系統遭到破解等等,就需要特別留意一下是否要選擇它作為你網站的基地。我的經驗是上 Google 或是一些大型的虛擬主機論壇,例如 Web Hosting Talk 來查找其他用戶的使用評價。

以上是我在選擇虛擬主機服務時,一定會列入比較的重點項目。或許不一定適合所有人,還是可以在租用網站空間前作為參考。把握一個原則「多不一定用得到,便宜也不一定好」,盡量以自己的需求,找尋最符合自己的虛擬主機,才能把最少的資金做最有效的運用。

  • 按一下以分享至 Facebook(在新視窗中開啟)
  • 分享到 Twitter(在新視窗中開啟)
  • 分享到 LinkedIn(在新視窗中開啟)
  • 分享到 Pinterest(在新視窗中開啟)
  • 分享到 Pocket(在新視窗中開啟)

相關文章

本站聲明:網站內容來源免費資源網路社群https://free.com.tw,如有侵權,請聯繫我們,我們將及時處理

【精選推薦文章】

自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

WordPress.com 帶來 2013 年度回顧,一年的部落格成就總評量

如果你跟 Pseric 一樣喜愛書寫部落格,或是以 WordPress 來經營網站、架站,WordPress.com 在一年的最後帶來了為你設計的年度回顧,要與你一同檢視部落格一年來的成就表現。若你是用 WordPress.com 平台,或者有在 WordPress 上安裝「Jetpack」外掛,且有開啟 WordPress.com Stats 統計功能,應該都可以收到 WordPress 寄來的通知,告訴你他們已經把你專屬的年度回顧準備好了。

稍早我已經介紹過 Facebook 帶你回顧今年的 20 個重大時刻,還有 Spotify 推出 2013 年度風雲榜等活動,國外似乎蠻流行類似的活動,在一年的最後,邀請你一同來見證今年所走過的幾個時刻,對於部落格來說,你可能會想知道一些資訊,例如今年寫過幾篇文章、累積幾篇文章、多少訪客以及最熱門的文章等等,在 Your 2013 year in blogging 裡都能看到。

範例鏈結:http://jetpack.me/annual-report/1101591/2013/ (預設報表為私人,可以公開、取得開放鏈結)

從 Your 2013 year in blogging 裡得知 2013 年免費資源網路社群裡最熱門的文章為 Hamachi 、PDFOnline、中文字型、IE9 以及 MP3jam ,也會清楚列出迴響數和發佈日期。

訪客都從那裡而來?搜尋了那些關鍵字進入網站呢?在報表裡也有這些資料喔!

如果你的部落格與讀者間的互動性很高,平常也有不少人來留言的話,在年度回顧裡可以看到前五名最常留言的使用者,以及最多人留言的文章。

想知道你的讀者都來自那些國家嗎?嘿,在年度回顧頁面也有清楚呈現。

因為這些數據都是來自於 WordPress.com Stats 統計,若你的 WordPress 沒有使用,或者利用 Google Analytics 的話,就不會收到年度回顧通知,當然也沒有報表可以看囉!因為 Pseric 中途有停止使用 Jetpack 一段時間,收集到的數據也不是那麼準確,但還是很有參考價值啦!(至少 WordPress 的年度回顧頁面設計得非常好看)。

新年快樂!

  • 按一下以分享至 Facebook(在新視窗中開啟)
  • 分享到 Twitter(在新視窗中開啟)
  • 分享到 LinkedIn(在新視窗中開啟)
  • 分享到 Pinterest(在新視窗中開啟)
  • 分享到 Pocket(在新視窗中開啟)

相關文章

本站聲明:網站內容來源免費資源網路社群https://free.com.tw,如有侵權,請聯繫我們,我們將及時處理

【精選推薦文章】

智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

想知道網站建置、網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計及後台網頁設計

帶您來看台北網站建置台北網頁設計,各種案例分享

廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

Photon 免費 CDN 圖片分流、加速服務,每個 WordPress 用戶都該開啟的外掛

使用 WordPress 架站的朋友一定知道,要如何節省流量、提高網站載入速度,一直是個棘手的問題,尤其有些網站又很常用到圖片(而且檔案都還不小),當頻寬用量愈大,連帶會影響到開銷、伺服器負載,也會降低讀者開啟網站的速度,如果不得不使用圖片時,找個 CDN 來分散你的主機用量就是個不錯的解決方案。

以往我會去尋找其他主機來放圖片,或許能在增加一些些額外費用的前提下獲得不錯的效果,但後來發現如果圖片要分開來放,在管理上會是一個很大的麻煩,所以我仍選擇把圖片上傳到 WordPress 媒體庫。

若你想在 WordPress 裡放入圖片,又希望減少流量消耗,WordPress 提供一個免費 CDN 服務來解決此問題,這項外掛功能名為 Photon,開啟後會自動把網站上的圖片鏈結改以 Photon CDN 載入,當網站上的圖片被讀取後會自動於 CDN 建立一個快取檔(Cache),下個訪客再讀取時便會直接從 Photon CDN 來提供圖片。

Photon CDN 使用限制

  • 無快取失效時間:目前的圖片快取時間為「永久」,如果你想更新某張圖片,必須重新命名圖片。
  • 這項服務只支援 JPG、GIF、PNG 三種圖片格式,且 Port 為 80 的鏈結。
  • 無法放大圖片,如果你的圖片原始寬度為 1000px,我們不會提供你 5000px 的圖片大小。
  • 如果你的伺服器回應時間超過 10 秒以上,Photon 會放棄連線,可能會出現破圖情形。若有此情形,可以試著把圖片縮小。

另外,若你的網站不是使用 WordPress.com,或 WordPress 未使用 Jetpack 外掛,不允許使用 Photon CDN 服務,違反使用規定有可能使你的網站被 WordPress.com 封鎖。

外掛名稱:Jetpack by WordPress
外掛鏈結:http://jetpack.me/

使用教學

開啟你的 WordPress 控制台,從「外掛」裡選擇「安裝外掛」,然後搜尋「Jetpack」,找到第一個搜尋結果「Jetpack by WordPress.com」將它安裝到網站裡。

啟動後,左邊選單會多出一個 Jetpack 選項,點擊進去可以看到許多由 Jetpack 提供的功能。

但在使用前,請先點擊「連結 WordPress.com」按鈕,登入你的 WordPress.com 帳戶(沒有的話可以免費申請一個),讓網站與 WordPress.com 完成連結。

連結後回到 Jetpack ,往下拖曳找到 Photon 功能,點擊「啟用」即可在你的網站開啟 Photon CDN 功能。

開啟後如何確定 Photon 有正確運作呢?

你可以試著複製網站內的圖片鏈結,看看它的鏈結最前面是不是改為 i0.wp.comi1.wp.comi2.wp.com,如果是的話,表示 Photon CDN 已經接手你網站的圖片服務工作。通常 CDN 鏈結後面會接原始圖片鏈結,試著觀察一段時間,就能發現網站的頻寬流量有減少的情形,而網頁開啟速度也會比以往來得更快、更順暢。

如果你是使用 WordPress 來架設網站、部落格,Pseric 在二月底也出版了一本新書《WordPress Plugins 百大外掛精選》,收錄 100 個精選外掛,可以讓你在架站上更得心應手,歡迎參考選購。

  • 按一下以分享至 Facebook(在新視窗中開啟)
  • 分享到 Twitter(在新視窗中開啟)
  • 分享到 LinkedIn(在新視窗中開啟)
  • 分享到 Pinterest(在新視窗中開啟)
  • 分享到 Pocket(在新視窗中開啟)

相關文章

本站聲明:網站內容來源免費資源網路社群https://free.com.tw,如有侵權,請聯繫我們,我們將及時處理

【精選推薦文章】

自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

Jetpack Monitor 免費 24/7 網站監測服務,WordPress 無法連線自動發送提醒

上個月我介紹過 Jetpack 外掛的其中一項功能:Photon 免費 CDN 圖片分流服務,可以透過 WordPress 提供的內容傳遞網路來減少流量消耗、增加圖片載入速度,如果你已經在自己的 WordPress 上安裝了 Jetpack,那不妨也順便把另一個很值得使用的 Monitor 功能給開啟。

Monitor 是一個網站監測功能,24/7 全天候監測你的 WordPress 網站,每 5 分鐘自動由 Jetpack 的伺服器進行檢查,以確保你的網站是在可以正常運作的狀態,一旦發生問題,例如網站打不開、主機伺服器無法連線,或是開啟速度過慢(大於 10 秒鐘),Jetpack 便會自動發送 Email 通知來提示網站管理者,讓你可以在第一時間就掌握狀況。

一般類似的監控服務都是必須要付費的,如果是免費服務,通常監測的間隔時間也會超過 10 分鐘以上(愈短的時間代表監測頻率愈高),既然 Jetpack 已經內建這麼棒的功能,不打開真是太可惜了。

外掛名稱:Jetpack for WordPress
外掛鏈結:http://jetpack.me/

使用教學

Monitor 是 Jetpack 外掛裡的一項模組,開啟 WordPress 控制台,從「外掛」裡選擇「安裝外掛」,搜尋「Jetpack」後找到第一個搜尋結果「Jetpack by WordPress.com」,將它安裝到網站裡。

啟動後,從左邊選單開啟 Jetpack 功能。

第一次使用時,請先點擊「連結 WordPress.com」按鈕,登入你的 WordPress.com 帳戶,或是免費註冊一個帳戶,讓網站與 WordPress.com 完成連結。

點擊 Monitor 下方的「啟用」按鈕,就能啟動這項功能。啟用後按下「設定」,可以調整接收通知的 Email。

當你的網站無法連線時,會收到來自 [email protected] 的 Email 通知,提醒使用者網站目前無法連線,請儘速聯絡你的主機商進行處理,而 Jetpack 也會持續監測。

第一封郵件會在網站被監測到無法正常開啟、連線時發送,如果持續超過一個小時都無法連線,Jetpack Monitor 會再寄送第二封郵件,直到網站可以連線,會再收到網站已經恢復連線的通知。

如果你是使用 WordPress 來架設網站、部落格,Pseric 在二月底也出版了一本新書《WordPress Plugins 百大外掛精選》,收錄 100 個精選外掛,可以讓你在架站上更得心應手,歡迎參考選購。

  • 按一下以分享至 Facebook(在新視窗中開啟)
  • 分享到 Twitter(在新視窗中開啟)
  • 分享到 LinkedIn(在新視窗中開啟)
  • 分享到 Pinterest(在新視窗中開啟)
  • 分享到 Pocket(在新視窗中開啟)

相關文章

本站聲明:網站內容來源免費資源網路社群https://free.com.tw,如有侵權,請聯繫我們,我們將及時處理

【精選推薦文章】

智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

想知道網站建置、網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計及後台網頁設計

帶您來看台北網站建置台北網頁設計,各種案例分享

廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

架站更上一層樓,我推薦的五個虛擬專屬主機(VPS)服務

去年底因為無名小站停止服務,許多人紛紛興起將資料備份、匯出,轉換平台另起爐灶的念頭,我也寫了一系列的無名小站搬家專題,來幫助使用者從無到有,從註冊網域名稱、租用虛擬主機到架設 WordPress,一步步克服架站恐懼(我想很多人是卡在英文問題、或是付款方式),許多朋友也依循這個方式成功完成了可能是人生中第一次自行架站。

有鑑於這系列文章獲得相當不錯的迴響,我計畫繼續擴充內容,讓讀者能「更上一層樓」,先前推薦過五個虛擬主機服務,如果你覺得虛擬主機已無法滿足你的需求,或是無法負荷你日漸增加的訪客人數,我會在本文介紹五個「虛擬專屬主機」(Virtual Private Server, 簡稱 VPS)。

虛擬專屬主機價格比虛擬主機稍微高一些,但能使用的資源更多,例如 CPU、記憶體和頻寬都能讓你用足,而不是像虛擬主機必須和其他人共享資源,這也表示如果你的網站需要承載更多的訪客人數,升級至 VPS 就是必要的,另外,VPS 的價格大約介於虛擬主機和獨立主機之間。

什麼是虛擬專屬主機?

虛擬專屬主機有點像是虛擬主機的進階版,一樣是將一台主機切割成好幾個「虛擬主機」,但每個部分皆為獨立、相互隔離,擁有各自的 CPU、記憶體、硬碟空間,如果你有使用過電腦上的虛擬機器,例如 VMWare、VirtualBox 等等,就可以大略知道 VPS 的原理其實跟他們很類似。

使用者可以在虛擬專屬主機內獲取最高權限,也就能在 VPS 安裝自己所需要的作業系統。

VPS 或獨立主機?

如果你本身沒有使用過獨立主機,或者沒有管理主機的經驗,要使用一台獨立主機來架站可能會稍嫌困難,而 VPS 介於虛擬主機和獨立主機之間,利用控制台可以很輕鬆安裝 OS、架站或是進行管理(獨立主機的控制台必須自行安裝),在使用上會比較輕鬆、簡單,而且價格也不像獨立主機需要龐大的開支。

一般來說,VPS 跟虛擬主機都支援不滿意全額退款保證(Money Back Guarantee),如果在使用上不滿意,或是操作上覺得不順手,想要退回使用虛擬主機,可以提交服務單給客服人員,只要在試用期間內取消,原則上都可以退回款項。

VPS 可以升級嗎?

是的,VPS 就如同虛擬主機,依照不同規格(CPU、記憶體、硬碟空間、頻寬)來區分售價,若你發現系統資源不敷使用,可以從 VPS 提供商尋求升級,例如增加記憶體、空間等等,所以在自由度方面並不會輸給獨立主機。

另外,VPS 的虛擬化技術還分為諸多分支,例如常見的 Xen 和 OpenVZ,在租用 VPS 時會看到類似說明,它們使用了不同的虛擬化技術,在性能或資源管理上也有不一樣的表現。

VPS 分為全管理和無管理

一般來說,VPS 不像虛擬主機,有提供完整的軟硬體管理,大多數可能是無管理(Unmanaged VPS)的銷售方式,也就是除了硬體發生問題外,其餘作業系統、軟體等部分發生問題時都是使用者必須自行解決的,然而,全管理(Fully Managed VPS)也不是包山包海全部都會幫你處理,有些 VPS 業者仍會依照支援的層級來酌收支援費用,全管理和無管理的差別主要在於有無提供線上的技術支援服務。

如果對於 VPS 服務不是那麼熟悉,我會建議選擇含管理的 VPS 業者(Managed VPS),遇到問題時就能尋求支援。

租用虛擬專屬主機需要準備什麼?

若你要租用國內外的 VPS 服務,我會建議至少要有一張可以在線上刷卡的信用卡,或者擁有一個 Paypal 帳戶(綁定信用卡),才能讓你順利付款、使用,不過並不是每個業者都支援 Paypal ,如果你手邊沒有信用卡,那可以考慮選擇國內的虛擬專屬主機業者,可能會提供其他的付款方式。

另外,你可能需要準備一個網域名稱作為 VPS 設定使用。

推薦使用的五個 VPS 虛擬專屬主機

在看完 VPS 說明後,你可能已經躍躍欲試,想租賃一台虛擬專屬主機來玩玩,我接下來會介紹五個 VPS 虛擬專屬主機服務,其中有幾家也是我親自使用過的,其實你只要比較這些服務的規格和價錢差異,找出自己覺得最理想、也能夠負擔的 VPS 服務即可。

DigitalOcean

DigitalOcean 是一家評價很不錯的 VPS 提供商,價格跟同業相較之下其實不貴,而且本身的機器穩定,在美國擁有三個資料中心,加上兩個位於阿姆斯特丹,以及今年才開啟的新加坡資料中心,其實規模相當龐大,從亞洲地區的連線速度也很不錯。

DigitalOcean 採用 SSD 高速硬碟,價格從每月 $5 美元開始,搭配上優惠券可以享受更多折扣。特別的是 DigitalOcean 還提供以「小時」計價方式,如果你是短暫租用主機,那麼這個計價方案或許會讓你省下一些開銷。

DigitalOcean 支援信用卡和 Paypal 付款,會在使用完一個週期(一個月)後進行收費,沒有提供退款項目。

Sugarhosts

Sugarhosts 是來自英國的主機商,成立於 2009 年,網站有提供中文介面,計價方式也是以台幣為主,本身有提供中文的客戶支援服務(24/7)。Sugarhosts 在美國、德國等地區擁有資料中心,從台灣連線的速度、穩定性都很不錯。

Sugarhosts 支援以月付、年付,提供傳統 VPS、SSD VPS 和 Windows VPS 三種主機方案,能以信用卡、Paypal、支付寶和比特幣來付款。

Hostigation

Hostigation 是以低價格為賣點的主機商,提供獨立主機、KVM VPS、OpenVZ VPS、虛擬主機等服務項目,不過因為非常難以搶購(每次只要出現名額就會立即被搶購一空),也是許多人推薦的 VPS 業者。

KnownHost

KnownHost 是免費資源網路社群早期使用過的 VPS 服務之一,提供 Fully Managed VPS(含傳統 VPS 和 SSD VPS),本身價格相較於前面介紹的服務要貴一些,但客戶支援不錯、主機連線速度快、品質穩定,有三種控制台可以選擇,包含 cPanel/WHM、Plesk 或 DirectAdmin,所有方案皆有 30 天不滿意退款保證。

Media Temple

常被戲稱為貴族主機的 Media Temple,以連線品質穩定、客戶支援服務快而著稱,當然本身價格也不像一般的服務這麼親民,VPS 空間從 $30 美元 / 月起跳,如果單純想要架設 WordPress 的話,另外,(mt) 有提供 WordPress 專屬主機,價格每月是 $22 美元,適合用於以 WordPress 架站的使用者。

接下來,佈署你的第一個 VPS 伺服器…

如果你不知道要如何租賃 VPS,或是安裝第一個作業系統、控制台,讓它成為你的網路空間,我會在繼續撰寫其他的教學文件,在下一篇文章我會教大家如何申請、註冊一個 VPS 空間,以及快速架設一個 WordPress,在這之前,你可以參考我先前寫的其他教學:

  • 無名搬家到自架 WordPress,我推薦的五個虛擬主機服務
  • 自架 WordPress 虛擬主機租用教學,將網誌備份匯出、匯入到新家
  • 如何挑選一個適合你的虛擬主機服務?我參考的七個比較項目
  • 按一下以分享至 Facebook(在新視窗中開啟)
  • 分享到 Twitter(在新視窗中開啟)
  • 分享到 LinkedIn(在新視窗中開啟)
  • 分享到 Pinterest(在新視窗中開啟)
  • 分享到 Pocket(在新視窗中開啟)

相關文章

本站聲明:網站內容來源免費資源網路社群https://free.com.tw,如有侵權,請聯繫我們,我們將及時處理

【精選推薦文章】

自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

安裝 WordPress 後你應該做的 25 件事

本文參考資料為 Things You Should Do After Installing WordPress, 已取得原作者 Amit Agarwal 授權。

在你安裝完 WordPress 後,你可能會調整一些設定來最佳化 WordPress 效能和安全性。這裡有一份安裝完 WordPress 後你應該做的最佳化指南。安裝 WordPress 只需要兩個簡單的步驟,但你可能要調整一些預設的設定值,來改善、最佳化 WordPress 網站的效能和增強安全性。

如何最佳化你的 WordPress 網站?

這些建議只針對自架的 WordPress 網站,不適用於 WordPress.com。另外,我假設你是在 Apache 上架設 WordPress 的。讓我們開始吧:

1. 變更預設的媒體上傳目錄

WordPress 預設會將你的所有圖片、文件和其他上傳的檔案儲存於 wp-content/uploads 目錄。

將你的圖片儲存於 WordPress 目錄之外是個不錯的作法,最好在一個子網域底下。這有幾個優點,你的圖片網址會更加簡短,每日的 WordPress 備份會更有彈性,而且最重要的是,從不同的伺服器載入圖片將有助於改善網頁開啟速度。

WordPress 3.5(或更新版本)已經沒有提供變更預設媒體上傳目錄的選項,但可以使用外掛來開啟這項設定。同時取消選擇該選項–“將我所上傳的檔案安排為以「月」及「年」為基準的目錄”。

2. 從你的 WordPress 網站移除不必要的 meta-data

如果你檢視過你的 WordPress 網站原始碼,你可以發現有些 meta 標籤不是必要的。例如,你使用的 WordPress 版本會顯示於原始碼。

<meta name="generator" content="WordPress 3.5.1" />

這項資訊對於一些尋找使用舊版或低安全性版本 WordPress 網站攻擊的黑客來說是個不錯的提示。從你的 WordPress 原始碼完整移除掉版本號和其他非必要的 meta-data,只要把把這段程式碼加入佈景主題的 functions.php 檔案即可。

remove_action( 'wp_head', 'wp_generator' ) ; 
remove_action( 'wp_head', 'wlwmanifest_link' ) ; 
remove_action( 'wp_head', 'rsd_link' ) ;

WLW-Manifest 函式(第二行)是 Windows Live Writer 用於下載你 WordPress 部落格的樣式、佈景主題。Windows Live Writer 使用者不使用即時預覽功能,故可以將此函式關閉。

3. 防止使用者直接瀏覽你的 WordPress 目錄結構

如果你不希望任何人直接瀏覽你 WordPress 檔案和資料夾清單,將以下代碼加入你 WordPress 內現有的 .htaccess 檔案中。

Options All -Indexes

並確認 wp-content/themes 和 wp-content/plugins 目錄下包含空白的 index.php 檔案。

4. 停用 WordPress 迴響的 HTML 功能

WordPress 的迴響留言框是一個小型的 HTML 編輯器,留言者可以使用一些標準的 HTML 語法像是 <b>、<a>、<i> 來為自己的留言加入格式。他們甚至能夠在留言裡加入超連結。如果你想在 WordPress 迴響裡停用 HTML 功能,只要把以下程式碼加入你的 functions.php 檔案即可。

add_filter( 'pre_comment_content', 'wp_specialchars' );

5. 關閉 WordPress 文章版本功能

WordPress 內建一個實用的文章版本功能,讓你可以追蹤變化,以便隨時回復到文章先前的版本。文章版本也會增加 WordPress 裡 wp_posts 資料表的大小,因為每次修訂都會增加新的內容。

要停用 WordPress 裡文章版本的功能,開啟你 WordPress 目錄下的 wp-config.php 然後加入以下程式碼:

define( 'WP_POST_REVISIONS', false);

另外,如果你想保留文章版本功能,你可以只限制 WordPress 儲存於 MySQL 資料庫裡的修訂數,在 wp-config.php 加入以下程式碼:(3 為要保留的文章版本數量)

define( 'WP_POST_REVISIONS', 3);

6. 變更文章自動儲存的時間間隔

當你在 WordPress 內建的編輯器編輯部落格文章時,它會自動儲存你的草稿,當瀏覽器不幸當掉時,有助於你快速恢復先前輸入的內容。草稿預設會每分鐘自動儲存,但你可以加入以下程式碼來將自動儲存的時間間隔變更為 120 秒(或 2 分鐘):

define( 'AUTOSAVE_INTERVAL', 120 );

7. 隱藏其他 WordPress Feeds 網址

你的 WordPress 包含多個 RSS Feeds–部落格、文章、迴響、分類、彙整等頁面皆有 feeds–它們會使用 <link> 標籤顯示於你部落格的原始碼內。

如果你只想宣傳你的主要 RSS Feeds,那將以下程式碼加入你的 functions.php 檔案裡:

remove_action( 'wp_head', 'feed_links', 2 ); 
remove_action( 'wp_head', 'feed_links_extra', 3 );

8. 將所有 Feeds 重新導向至你的主要 RSS Feed

在上一個步驟,我們只有從網頁內移除掉不必要的 RSS Feeds,但這些 RSS Feeds 依然存在。如果你想要單獨使用一個 RSS Feed 例如 FeedBurner,並停用所有其他的 Feeds,將以下程式碼加入你的 .htaccess 檔案。記得把 feed URL 替換為你自己的網址。

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC]
 RewriteRule ^feed/?.*$ http://feeds.freegroup.org/freegroup [L,NC,R=301]
</IfModule>

9. 隱藏 WordPress 登入畫面的錯誤訊息

當你輸入一個不存在的使用者名稱,或是錯誤密碼來登入 WordPress 時,它會顯示相當詳細的錯誤訊息,來告訴你使用者名稱錯誤,或是密碼錯誤,這是很糟糕的。

將以下程式碼加入 functions.php 檔案來隱藏所有登入相關的錯誤提示。

function no_errors_please(){
 return 'GET OFF MY LAWN !! RIGHT NOW !!';
}
add_filter( 'login_errors', 'no_errors_please' );

10. 啟用二階段驗證功能

強烈建議開啟二階段驗證。如果有人取得了你 WordPress 帳號密碼,他們仍需要你的手機才能夠登入 WordPress 控制台。

不像 Dropbox 或 Google,WordPress 並沒有內建二階段驗證功能,但你可以使用外掛來將它加入。Authy 是相當受歡迎的二階段驗證外掛,雖然我喜歡的是 Authenticator,因為它可以搭配 Google 官方的 Authenticator 應用程式使用。

11. 變更固定網址結構

不要使用 WordPress 預設的固定網址結構,因為這不利於 SEO。

前往 WordPress 控制台的設定 -> 固定網址來變更你的 WordPress 固定網址結構。從搜尋引擎最佳化及效能來看,建議使用的結構為:

/%post_id%/%postname%

12. 加入遺失的 favicon 及 touch icons

你的 WordPress 佈景主題可能沒有包含網站圖示(favicon.ico)或 Apple touch icons,但網頁瀏覽器和 RSS 閱讀器仍然可能向你的伺服器要求這些檔案。最好的辦法是提供這些檔案,而不是回傳 404 錯誤。

在你的網站根目錄放置一個 16×16 的 favicon.ico 和 144×144 的 apple-touch.png 檔案。然後在你的 .htaccess 加入以下程式碼來重新檔向所有 Apple touch icon 的請求至特定檔案。

RedirectMatch 301 /apple-touch-icon(.*)?.png http://example.com/apple-touch.png

13. 禁止索引 WordPress 程式

你希望 Google 和其他搜尋引擎可以抓取你的部落格文章,但不會希望索引你用於 WordPress、外掛和佈景主題的程式。

開啟你 WordPress 主目錄底下的 robots.txt 並加入以下代碼,來阻止搜尋引擎索引 WordPress 後台的元件。

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /feed/
Disallow: */feed/

14. 把 Admin 權限設為讀者

如果你的 WordPress 帳號是”admin”,建立一個新的使用者名稱並給他系統管理員權限。接著登出 WordPress,以新的帳號登入,將 “admin” 權限從系統管理員設定為讀者。

你也許可以考慮把帳號 “admin” 刪除,然後將現有的任何文章、頁面轉移給新帳號。這對於安全性來說是相當重要的一個步驟,因為我們不希望讓任何人有機會猜測具有 WordPress 管理員權限的使用者名稱。

15. 對搜尋引擎隱藏你的 XML Sitemaps

XML Sitemaps 可以幫助搜尋引擎更好地抓取你的網站內容,但你不會希望搜尋引擎在搜尋結果頁面顯示你的網站地圖。

將以下程式碼加入你的 .htaccess 來防止 XML Sitemals 被搜尋引擎索引:

<IfModule mod_rewrite.c>
 <Files sitemap.xml>
 Header set X-Robots-Tag "noindex"
 </Files>
</IfModule>

16. 不要使用 WordPress 內建的搜尋功能

確認你的網站搜尋功能是由 Google 自訂搜尋所提供,不要使用 WordPress 內建的搜尋功能。

WordPress 搜尋通常會傳回不相關的結果,另一個好處是這麼做能降低你的 WordPress 伺服器、資料庫負載,因為搜尋查詢將透過 Google 來進行處理。

另外,如果你打算繼續使用 WordPress 內建的搜尋功能,那就使用 Nice Search 外掛吧!它能為你的 WordPress 搜尋頁面建立更好的固定網址(/search/tutorials vs /s?tutorials)。

17. 以密碼保護你的 wp-admin 目錄

你可以簡單地為 WordPress 增加額外的安全防護,例如以密碼來保護 wp-admin 目錄。你必須要記住兩組密碼才能夠登入至 WordPress – 包括你的 WordPress 密碼,以及保護 wp-admin 目錄的密碼。

18. 在 Google 分析記錄 404 錯誤

404 錯誤會錯失使用者進入網站的機會。你可以使用 Google 分析來記錄你的 404 錯誤,包含從何而來等細節資料。

將以下程式碼加入你的 Google 分析追蹤代碼,於 _gaq.push 函式之後:

<? if (is_404()) { ?>
 _gaq.push(['_trackEvent', '404', document.location.pathname + document.location.search, document.referrer, 0, true]);
<? }

19. 刪除所有沒用到的佈景主題和 WordPress 外掛

未使用的外掛和佈景主題不會影響你的 WordPress 網站效能,但我們的目標是盡可能減少伺服器上可執行的程式碼。停用並刪除所有你不需要的東西。

20. 停止 WordPress 猜測網址功能

WordPress 有一個會猜測網址的奇怪功能,且在大多數情況下會造成錯誤。讓我解釋一下,如果一位訪客要存取 freegroup.org/hello 網址,但這個頁面並不存在,WordPress 可能會把使用者重新導向至 freegroup.org/hello-world 只因為這網址有一些常用詞彙。

如果你希望 WordPress 停止猜測網址,並以 404 找不到網頁的錯誤訊息來取代,將以下程式碼加入 functions.php:

add_filter('redirect_canonical', 'stop_guessing');
function stop_guessing($url) {
 if (is_404()) {
 return false;
 }
 return $url;
}

21. 為靜態內容設定過期時間

儲存於你 WordPress 網站的靜態內容–像是圖片、CSS、JavaScript、.txt 等等–不會經常改變,你可以設定過期時間讓它們快取於使用者的瀏覽器中。因此,在稍後訪問網站的過程裡,你的網站就能更快載入 JS 和 CSS ,因為是從本機的快取中被載入。

請參閱 HTML5 模版的 .htaccess 檔案,來了解設定過期時間的細節。如果你是使用像是 W3 Total Cache 之類的快取外掛,快取控制本身是由外掛來做管理。

ExpiresActive On
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"

22. 強化你的 WordPress 部落格安全性

我在早先已經詳細討論過 WordPress 安全性。大意是你應該把密鑰加入你的 wp-config.php 檔案,安裝檔案監控外掛,然後使用 Limit Login 來防止暴力密碼攻擊。

23. 停用 WordPress 內的檔案編輯功能

當你以系統管理員權限登入你的 WordPress 控制台,你可以輕鬆地編輯任何 WordPress 外掛及佈景主題。如果你想刪除文件的編輯功能(一個缺少的分號可能讓你的 WordPress 網站掛掉),將以下程式碼加入 wp-config.php 檔案中:

define( 'DISALLOW_FILE_EDIT', true );

24. 從網址中移除多餘的查詢參數

如果你的 WordPress 網站網址是 abc.com,如果使用者在網址加入一些查詢參數,仍然可以到達你的網站。例如,abc.com/?utm=ga 或 abc.com/?ref=feedly 就是,從技術上來說,完全不同的網址也可以進入相同的頁面。

但對於鏈結權重(SEO)來說是不好的,在理想的情況下,你應該讓所有網址指向同一個 Canonical URL。將以下程式碼加入 .htaccess 來移除掉不必要的查詢參數:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{QUERY_STRING} !=""
 RewriteCond %{QUERY_STRING} !^p=.*
 RewriteCond %{QUERY_STRING} !^s=.*
 RewriteCond %{REQUEST_URI} !^/wp-admin.*
 RewriteRule ^(.*)$ /$1? [R=301,L]
</IfModule>

最後,安裝 WordPress 後必做的 30 件事

在原文中,作者 Amit Agarwal 只列出了 24 條,但在計算時跳過第 22 項,誤植為 25 項,於是我加入最後一個、也是我之前所寫的文章,有興趣的朋友可以參考這個鏈結。

如果你還不知道如何架設 WordPress,或者不確定從何開始,也可參考以下幾篇文章:

  • 無名搬家到自架 WordPress,我推薦的五個虛擬主機服務
  • 架站更上一層樓,我推薦的五個虛擬專屬主機(VPS)服務
  • 從無名小站搬家前,你應該先註冊一個自己的網址!四個推薦的網域名稱註冊商
  • 如何挑選一個適合你的虛擬主機服務?我參考的七個比較項目
  • 自架 WordPress 虛擬主機租用教學,將網誌備份匯出、匯入到新家
  • 按一下以分享至 Facebook(在新視窗中開啟)
  • 分享到 Twitter(在新視窗中開啟)
  • 分享到 LinkedIn(在新視窗中開啟)
  • 分享到 Pinterest(在新視窗中開啟)
  • 分享到 Pocket(在新視窗中開啟)

相關文章

本站聲明:網站內容來源免費資源網路社群https://free.com.tw,如有侵權,請聯繫我們,我們將及時處理

【精選推薦文章】

智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

想知道網站建置、網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計及後台網頁設計

帶您來看台北網站建置台北網頁設計,各種案例分享

廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

8 個實用的 WordPress 程式碼(Code Snippets)

本文參考資料為 Eight Useful Code Snippets for WordPress, 已取得原作者 Kevin Muldoon 授權。

網路上仍有一些 WordPress 網站尚未做任何修改。增強或修改網站功能最常見的作法是安裝 WordPress 外掛,然而功能也可以直接被加入佈景主題檔案中。事實上,大多數 WordPress 佈景主題包含 functions 檔案可以修改 WordPress 某些現有的功能。

原始碼片段(Code Snippets)是一小段的程式碼,可以直接加入到你的佈景主題檔案中。有時候它們包含了完整功能,其他時候它們可以用來修改一些現有功能。

在這篇文章裡,我想告訴你八個實用且能增強 WordPress 功能的原始碼片段。我已在預設的佈景主題 Twenty Fourteen 側試過所有的原始碼,皆能正常運作,請注意,如果你的佈景主題已經過大量修改(特別當它是一個框架),有些功能可能就無法正常使用。

1. 清空你的回收桶

為了安全起見,WordPress 會保存所有你刪除的文章、頁面和迴響;除非你進入回收桶功能,將它們永久刪除。回收桶的運作方式類似於 Windows 裡的資源回收桶。

WordPress 每隔三十天會自動清理你的回收桶,將以下程式碼加入你的 wp-config.php 檔案可以調整時間間隔(這個檔案位於你的 WordPress 根目錄):

define ('EMPTY_TRASH_DAYS', 7);

如果你想進一步最佳化你的資料庫,避免將不要的項目儲存在資料庫裡,你可以透過以下的程式碼來停用回收桶功能,一樣是加入 wp-config.php 檔案:

define ('EMPTY_TRASH_DAYS', 0);

來源

 

2. 減少文章版本

WordPress 文章版本功能(Revision)會在使用者每次儲存文章和頁面草稿時自動產生一個版本。這個功能對於部落客來說很重要,因為它可以隨時返回到早先的草稿,即便是你在編輯時發生任何錯誤。

不幸的是,WordPress 預設的文章版本並沒有總量限制,過多的草稿將會佔用你資料庫許多容量。這也意味著當長篇大論被儲存一百次時,也會佔用資料表一百行的空間。

為了解決這個問題,你可以將以下程式碼加入 wp-config.php 來減少文章版本的數量,給它一個合理的數量:

define( 'WP_POST_REVISIONS', 3 );

如果你希望完全停用文章版本功能,只需要將以下程式碼加入 wp-config.php 檔案:

define( 'WP_POST_REVISIONS', false );

來源

此外,WordPress 會每 60 秒自動儲存你的文章和頁面,透過以下程式碼可以修改自動儲存的時間間隔,一樣是把它加入你的 wp-config.php 檔案:

define( 'AUTOSAVE_INTERVAL', 160 ); // 秒數

 

3. 搬移你的 WP-Content 目錄

wp-content 目錄包含你的佈景主題、外掛和上傳的圖片。某些外掛,例如快取外掛,也會使用 wp-content 目錄來儲存資料。

有鑑於此,wp-content 目錄時常成為黑客下手的目標,特別是插入惡意程式碼至你的佈景主題。你可以將 wp-content 目錄搬移到其他地方,使它更難以被找到。

如果你想要簡單地將 wp-content 目錄移動到其他路徑,你可以將以下程式碼加入你的 wp-config.php 檔案:

* 注意:wp-content 目錄結尾沒有斜線。

define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/newlocation/wp-content' );

如果你願意,你也可以使用 URL 來定義新的路徑:

define( 'WP_CONTENT_URL', 'http://www.yourwebsite.com/newlocation/wp-content' );

WordPress 也允許你重新命名你的 wp-content 目錄:

define ('WP_CONTENT_FOLDERNAME', 'newfoldername');

重新命名你的 wp-content 目錄可以使 WordPress 網站更加安全,但很不幸的是並非 100% 可行,因為很多 WordPress 外掛開發者已將 “wp-content” 路徑寫死在外掛的程式碼裡。如果安全是首要目標,那還是值得一試的,但必須知道有些外掛的程式碼可能必須要手動更新(而且必須在每次更新外掛時重新做一次)。

來源

 

4. 將作者頁面鏈結重新導向「關於」頁面

作者彙整頁面鏈結會列出該作者曾經寫過的所有文章,並顯示於同一個頁面裡。有時候作者的「關於我」也會一併顯示於頁面頂部。

如果你運行的是單人部落格,那麼無須使用作者頁面來顯示和分類或彙整頁面相同的內容。更好的作法是直接把作者頁面鏈結連結到你的「關於」頁面。

你可以將以下程式碼加入佈景主題的 functions.php 檔案:

add_filter( 'author_link', 'my_author_link' );
function my_author_link() {
return home_url( 'about' );
}

來源

 

5. 當搜尋結果只有一篇文章時自動連到文章

每當執行搜尋時,WordPress 會列出所有與搜尋關鍵字相關的文章和頁面列表。使用者可以點選他們想閱讀的內容。

如果搜尋結果只有一個,那搜尋結果頁面是多餘的。乾脆直接把讀者重新導向至該篇文章。

你可以將以下程式碼加入佈景主題的 functions.php 檔案:

add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
 if (is_search()) {
 global $wp_query;
 if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) {
 wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
 exit;
 }
 }
}

來源

 

6. 將頁面從 WordPress 搜尋結果排除

典型的部落格可能有數百篇甚至是數千篇的文章,但只有少數幾個頁面。這些頁面往往是你網站的重要內容,例如關於頁面或是聯繫頁面;總會顯示於側邊欄或是網頁底部。因此,在搜尋結果裡可以排除頁面,因為這可能不是讀者想要搜尋的內容。

將頁面從搜尋結果移除也是對訪客隱藏私人頁面的方法。舉例來說,你的郵件訂閱頁面或你的電子書下載頁面。

將以下程式碼加入佈景主題的 functions.php 檔案,搜尋結果就只會顯示文章:

function filter_search($query) {
 if ($query->is_search) {
 $query->set('post_type', 'post');
 }
 return $query;
}
add_filter('pre_get_posts', 'filter_search');

 

7. 從你的迴響表單移除網址欄位

我最近提到如何減少 WordPress 垃圾留言。這裡提供另外一個技巧,你可以用它來減少人工垃圾迴響:移除網址欄位。這麼做將可以大幅降低部落格收到品質低落的迴響。

要移除網址欄位,你必須做的是將以下程式碼加入佈景主題的 functions.php 檔案:

function remove_comment_fields($fields) {
 unset($fields['url']);
 return $fields;
}
add_filter('comment_form_default_fields','remove_comment_fields');

來源

 

8. 為迴響內容設定最少字數限制

另一個惱人的事情是有些迴響者會留下簡短、毫無意義的回覆。例如 “謝謝”、”好文”和”真棒!”之類的內容,這些內容對於討論並沒有幫助。如果你不希望從你的迴響表單移除網址欄位,你也許可以為迴響內容設定最少字數限制。

你可以透過將以下程式碼加入佈景主題的 functions.php 檔案來實現這項功能。請務必將 $minimalCommentLength 後方的數字改為你想自訂的最少字元數。(編按:不確定中文有沒有問題。)

add_filter( 'preprocess_comment', 'minimal_comment_length' );
function minimal_comment_length( $commentdata ) {
 $minimalCommentLength = 20;
 if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength ){
 wp_die( '所有留言必須大於 ' . $minimalCommentLength . ' 個字元長度。' );
 }
 return $commentdata;
}

來源

我希望你會喜歡這 8 個實用的 WordPress 原始碼片段。如果喜歡,我也建議你訂閱我們的部落格最新文章。

  • 按一下以分享至 Facebook(在新視窗中開啟)
  • 分享到 Twitter(在新視窗中開啟)
  • 分享到 LinkedIn(在新視窗中開啟)
  • 分享到 Pinterest(在新視窗中開啟)
  • 分享到 Pocket(在新視窗中開啟)

相關文章

本站聲明:網站內容來源免費資源網路社群https://free.com.tw,如有侵權,請聯繫我們,我們將及時處理

【精選推薦文章】

自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

libs.useso.com:360 提供免費前端公共庫 CDN 服務

約莫一個月前開始,大陸網友陸續出現無法正常開啟 Google 服務問題,包括 Google 公共庫(Google Hosted Libraries)和字型庫(Google Fonts)皆受影響,傳言是 Google 將原有的香港伺服器移回美國,導致中國大陸使用者被迫連線到美國伺服器,而連線過程可能造成連線異常,或是回應時間過久(有些服務在中國大陸是被防火長城阻擋的)。

很不巧的是有很多網站、部落格都使用了 Google 提供的公共庫,載入 jQuery 或是字型等資源(最簡單的確認方法就是搜尋網站原始碼裡有沒有 googleapis.com 網址),當連線者位於中國大陸時,會因為無法載入元件而造成網站延遲、拖慢網頁開啟速度等問題。

360 網站衛士提供了一個前端公共庫 CDN 服務,收錄了很多常用的 JavaScript 資源,以及 Google 前端公共庫的「鏡像」,使用方法很簡單,只要替換掉 ajax.googleapis.comfonts.googleapis.com,將它改為 ajax.useso.comfonts.useso.com 即可讓中國大陸的網友正常開啟 Google 公共庫及字型庫等資源。

網站名稱:360 網站衛士前端公共庫 CDN 服務
網站鏈結:http://libs.useso.com/

使用教學

如果你的網站主要訪客來源為中國大陸的網友,也有使用到 Google Hosted Libraries 或是 Google Fonts 的資源,建議可以參考 libs.useso.com 網頁裡的說明,將鏈結替換成網站提供的鏈結,即可讓中國大陸的網友順利開啟、瀏覽。

另外,360 網站衛士提供一系列常用前端公共庫的分流、加速服務,如果你在建置網站時會用到一些 JavaScript 等元件,可以找找看 libs.useso.com 有沒有提供,就能直接取用鏈結來載入這些元件庫。當然,除了 Google 外還有其他網站也提供類似服務,例如 cdnjs、jsDelivr 等等。

如果你是中國大陸的部落客,本身使用 WordPress 架站的話,可能會發現最近控制台好像速度變慢不少,因為 WordPress 控制台有使用到 Google 的 Web Fonts,要解決這個問題只要安裝 Replace Google Fonts 外掛,即可把 fonts.googleapis.com 替換為 fonts.useso.com

  • 按一下以分享至 Facebook(在新視窗中開啟)
  • 分享到 Twitter(在新視窗中開啟)
  • 分享到 LinkedIn(在新視窗中開啟)
  • 分享到 Pinterest(在新視窗中開啟)
  • 分享到 Pocket(在新視窗中開啟)

相關文章

本站聲明:網站內容來源免費資源網路社群https://free.com.tw,如有侵權,請聯繫我們,我們將及時處理

【精選推薦文章】

智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

想知道網站建置、網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計及後台網頁設計

帶您來看台北網站建置台北網頁設計,各種案例分享

廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益