Monthly Archive 2017 年 1 月 19 日

Bycodeant

「密技」如何用 WordPress+虛擬主機,打造一個單日30萬PV的網站?

取得了客戶同意,今天在這裡要來分享一下單日可承受30萬PV的網站,背後的軟硬體規格,而且這個客戶到目前為止都還是使用虛擬主機去建置他的網站,Wordpress 已經是目前最受歡迎的 CMS 系統,這點不用懷疑,這真的是一套非常容易上手的系統,第三方資源也是最豐富的,而一般剛開始經營個人網站的新手,最常使用的就是虛擬主機(Shared Web Hosting),費用低廉,系統管理也不需要煩惱,技術活相對少很多,可以更專注在網站的經營上,但是效能不佳,一直也是最讓人抱怨的一點。

那麼一個單日30萬PV,而且還是使用虛擬主機建成的網站,有可能嗎?當然有,下面就來完整揭露所有配置。

Read More

Bycodeant

談談網頁內容如何實現中文繁簡體的自動轉換

要讓網頁內容達到中文繁簡體的自動轉換,最簡單的方式就是用字表轉換,所以你要先收集繁體跟簡體的差異字,然後用 Lookup Table 的方式去做轉換即可,那麼中文繁簡體的差異字到底有多少個字呢?我自己收集到的部份一共有3060個字,我不是什麼語言研究的專家,所以這個數字不是學術等級的精準,但是仰賴數十位大陸朋友的真人實測,他們一致認為透過這3060個字表轉換後的文章內容,在閱讀上實用性已經很高了。

Read More

Bycodeant

Joomla 啟用 reCAPTCHA 圖形驗證的設定流程

要在 Joomla 裡頭啟用 reCAPTCHA 圖形驗證,你要先去產生一組金鑰,產生金鑰的網址如下:

Read More

Bycodeant

百度提供的社群網站分享按鈕

想要替自己的的網站加上社群網站的分享按鈕,招式有很多種,百度也有推出這個小工具,其中包含的社群網站非常完整,除了中國大陸常用的微博、QQ、微信等分享功能,連 Facebook、Twitter、Linkedin 也收入其中,目前本站就是使用百度的分享按鈕,是一個簡單又方便的方式,只要在想要呈現的位置上引入百度所提供的程式碼即可即可。

產生程式碼請到,分享按钮-百度分享 : http://share.baidu.com/code

提供一下本站目前所使用的分享按鈕程式碼:

Read More

Bycodeant

百度 Sitemap 自動推送 JavaScript 程式碼

產生網站的 Sitemap.XML 能夠讓搜尋引擎更懂你的網站,也是一個對搜尋引擎友善的方式,畢竟魚幫水,水幫魚。但是大部分的 sitemap plugin 多半是對 Google 開發的,而針對百度的就相對少,雖然百度官方有針對 WordPress 跟 Discuz 開發官方支持的 sitemap 套件,但對採用其他 CMS 的人來說,難度就不小了,不過現在百度可以用引入 JaveScript 的方式,自動推送 Sitemap 到百度搜尋引擎,技術原理跟引入外部JavaScript 去達到訪客統計跟廣告播送是類似的。

我個人相當推薦這種方式,非常的友善,使用上對於已經有採用 Google Analytics 網站來說,基本上是無痛的一種方式。

JavaScript 程式碼如下

Read More

Bycodeant

讓 Apache 具備基本的防 DoS 攻擊能力!

evasive 這個模組可以提供 Apache 基本的防 DoS 能力,注意,這指的是 DoS 而非 DDoS ,因為 evasive 主要就是依同一 IP 的單位時間連線數請求來作為防禦的依據,對於 DDoS 並沒有太大的效用,但是對於 DoS 則是非常不錯了。

在Ubuntu 16.04 LTS 下的安裝指令如下:

sudo apt-get install libapache2-mod-evasive 
sudo mkdir /var/log/mod_evasive 
sudo chown www-data:www-data /var/log/mod_evasive/ 
sudo vim /etc/apache2/mods-available/evasive.conf 
sudo a2enmod evasive sudo service apache2 restart

安裝之後你必須修改  /etc/apache2/mods-available/evasive.conf 設定檔,簡單的設定內容如下:

Read More

Bycodeant

架設網站選用虛擬主機?還是自建主機?先從防 DoS 攻擊能力談起!

首先我們來談談 DoS 跟 DDoS 有什麼不同?不要懷疑,很多人都跟我說是一樣的東西,沒錯!它們是很像,但是不完全一樣,DoS 的全名是Denial-of-Service,就是阻斷服務,而 DDoS 則是 Distributed Denial-of-Service ,多了一字,變成分散式阻斷服務,這2種網路攻擊的基本精神相同,但手法有所變化,而後者不管在防禦上或是判斷上難度都高出許多。

站在網站防禦的角度上,DoS 攻擊可以是一台電腦就達到,例如用ApacheBench這隻測試程式就可以達到攻擊的目的,所以我們可以用 IP 來源+單位時間內的連線數,去做出有效的判斷,進而採取防禦手段;但 DDoS 是分散式的,也就是攻擊的來源是由多個不同的來源 IP 在同一段時間內持續發起連線請求,進而佔據目標網站的大量資源,達到阻斷服務的目的,在判斷上跟防禦上,難度都高很多,舉一個簡單的問題為例,誰是真的訪客?誰又是真的來亂的?這就防禦DDoS的難處。

Read More

Bycodeant

用 PHP 開發的 HTML, CSS, JavaScript Minifier

分享一下在網路上找到,用 PHP 開發的 HTML, CSS, JavaScript minifier,也有人把 minify 稱之為壓縮(compress),我個人認為這並不是真正意義上的”壓縮”,”壓縮”應該是像是 gzip 或是 apache 的 mod_deflate 才是,所以 minify 會是比較好的說法,minify 是一種瘦身工具,去除了不必要的多餘字元,進而達到減少檔案原始 size 的方式,實際測試呢?本站的首頁原始大小約為 20617 bytes,經過這隻程式 minify 之後,網頁瘦身成 19117 bytes,成功減重 7.27%。

Read More

Bycodeant

Joomla 快取模式效能測試

測試環境:

Server : AWS EC2 t2.micro + Ubuntu 16.04 LTS 

測試指令:

ab2 -n 5000 -c 50 http://codeant.cc/

 

沒有快取時:Requests per second:    25.99 [#/sec] (mean)

Read More

Bycodeant

MySQL 資料庫效能調校的好幫手 mysqltuner.pl

除了用 PHPMyAdmin 來進行 MySQL 資料庫的性能優化之外,mysqltuner.pl 這一個用 Perl 寫成的 Script 也是相當實用的小幫手,我都是用來做 double check 用的,安裝跟使用上也是簡易的等級,學習曲線並不高。

Read More