改用 mac + Vagrant + Laravel Homestead 作為基本的 website 開發環境

如果你現在問我「如果要建立開發 website 的工作環境,有沒有什麼推薦的方案?」,二話不說我會直接推薦使用 mac + Vagrant + Laravel Homestead。 首先你會納悶為何第一個關鍵字是 mac,我只能說在我有限的觀察中,看到太多人(包含我自己在內),在 windows 的開發環境設定踩到莫名其妙的地雷,而偏偏 mac 上要建立相同條件的環境,踩到的地雷就是比較少。而且我推薦的第二及第三個關鍵字 Vagrant + Laravel Homestead,在 windows 上更是一堆地雷,很多人雖然能順利安裝 Vagrant 及 Homestead,但卻始終無法順暢的透過 Command Line 操控它。 接著再介紹 Vagrant 之前,你一定聽過 Virtual Box,如果你已經覺得 Virtual Box 用來建立與管理 Virtual Machine 已經很夠用了,那你一定會愛上 Vagrant。 Vagrant 是一套 Command Line Tool ,它讓你透過自訂的 vagrantfile 來更便利的建立、管理及使用 Virtual Machine,透過一個 vagrantfile 你就能輕易的設定 VM 需要的硬體資源、synced folders…等,甚至你還能在 vagrantfile 中寫入 ruby 語法,一次創建多台 VM 。Vagrant 還提供了 VagrantCloud(已轉移至 atlas),讓大家可以將自己的 Box 放上 Cloud 交流。假如對於某些軟體的安裝苦手,也許你可以試著上 VagrantCloud 搜尋,因為也許早已有人上傳了合適的 Box 可以直接取用。...

March 25, 2015 · Cheng Wei Chen

利用 Tcpdump 記錄 Request 數量

某天被人出了一個題目「如何知道 Web Site 實際發出的 Request 數量?」 其實這個題目有好幾種解法,例如: 直接查看 Cloud Host 的報表 開啓 Web Server 的 access.log,再透過 Log 分析來取得 安裝 Network Traffic Analyser 來記錄與分析 其實上述的方法都可以 Google 找到現成的解決方案,但自己卻沒來由的突發奇想,想知道「是否可以由封包記錄中取得這樣的資訊?」經過一番研究,還真的做的到,而且實作起來並不困難,以下就簡單的分享經驗。 實作方式其實很簡單,首先透過 Linux 的指令 tcpdump 過濾並記錄某種特別的封包,並將封包接收資訊另存為 Log File,最後再透過 Parser 去分析 Log 即可。 tcpdump 的指令詳解,可以參考鳥哥的網站,或者自己直接在 command line 去問 man。 $ man tcpdump 最終會使用的 tcpdump 指令如下 $ tcpdump -i eth0 -n 'tcp[tcpflags] & (tcp-push) != 0 and dst net xxx.xxx.xxx.xxx and port 80' -q > requests.log 簡單說明所使用到的選項與參數...

March 17, 2015 · Cheng Wei Chen