Author: Sam Tang

PHP 用 curl 取代 file_get_contents()

PHP 要擷取其他網頁的資料,最方便的方法是用 file_get_contents() 函式,以下程式碼即可完成: 如果使用量不高,那麼用 file_get_contents() 沒什麼問題,但如果 PHP 擷取其他網頁內容的頻率很高,便建議改用 curl 完成了。因為 curl 的效率比 file_get_contents() 高,以下是 curl 的例子:

RHEL / CentOS 7 安裝 RRDTool 監測流量

RRDTool 是十分好的的統計工具,跟 MRTG 是同一位開發反者。相比起 MRTG, MRTG 主要用作統計及監測系統的流量,而 RRDTool 的功能更加強大,可以自訂多項數據在同一張圖,而且畫圖也可以自訂各種參數,可以畫出十分漂亮的統計圖表。另一款十分流行的系統監測工具 — Cacti,就是基於 RRDTool 開發的 PHP 程式。我個人是較喜歡用 RRDTool,雖然 Cacti 安裝好,會自行完成大部份設定工具,畫的圖也很漂亮,但我不太喜歡 Cacti 的操作較繁複,始終我管理的伺服器不是很多。以前要安裝 RRDTool 需要自行編譯原始碼安裝,現在 CentOS 預設也可以用 yum 安裝,省卻了不少工作,只是安裝的版本較舊,目前安裝安裝的版本是 1.4.8, 以下紀錄一下安裝 RRDTool 及設定監測網路流量的方法。執行以下指令安裝 …

QMail 提高 Log 檔案大小限制

QMail 的 Log 紀錄檔一般會儲存在 /var/log/qmail/ 下,然後將每一個服務分開儲存到各自的目錄,目錄下會有一個 current 檔案,這個就是 QMail 的 Log, 例如 smtpd 的 Log 在 /var/log/qmail/smtpd/current.這個 current 檔案預設會在 100KB 時自動清空加入新內容,要調高這個限制,可以開啟 log/run 檔案,例如 smtpd: # vi /var/qmail/supervise/qmail-smtpd/log/run 找到類似這行類似:exec setuidgid $LOGUSER …

Cloudflare 推出免費 DNS 服務

Cloudflare 是十分熱門的 CDN 供應商, 它們在前幾天推出自家的免費 DNS 服務, 即類似 Google 的 8.8.8.8 及 8.8.4.4 的 DNS 服務, 以下是 Cloudflare 的 DNS, 還真是好記:IPv4: 1.1.1.1 1.0.0.1IPv6: 2606:4700:4700::1111 2606:4700:4700::1001一般上如果沒有任何額外設定, 上網時會自動使用 ISP 提供的 DNS, 至於為何要使用 …

解決 Perl: Can’t locate CPAN.pm in @INC 錯誤

Perl 最大優勢是擁有 CPAN 函式庫,但如果沒有安裝 CPAN, 執行 CPAN 時出現以下錯誤: # perl -MCPAN -e shell Can’t locate CPAN.pm in @INC …… 這時只需安裝好 CPAN 模組便可以,以下提供原碼安裝及 Yum 安裝的方法:原碼安裝1. 到 CPAN 的官方網站找到 CPAN:http://search.cpan.org/search?query=CPAN&mode=all2. 找到 CPAN …

解決 patch:command not found

在 Linux 要為軟件安裝 patch 時, 會用到 patch 時令, 如果系統是安裝 Minimal 時, 會出現找不到 patch 指令錯誤:patch:command not found只要安裝好 patch 套件便可解決問題:Redhat / CentOS: # yum install patch Debian / Ubuntu: # apt-get install …

解決 Vsftpd 登入慢問題

當發現登入 vsftpd 很慢,但登入後便會十分暢順,這個問題很機會是 vsftpd 開啟了反解查詢登入的 IP 所致。以下是 vsftpd 關於反解的說明:要解決這個問題,只需關閉 vsftpd 的 reverse_lookup_enable 即可,而這個選項預設值是開啟,即 YES 的狀態。先開啟 vsftpd 的設定檔: # vi /etc/vsftpd/vsftpd.conf 找到 “reverse_lookup_enable” 一行,如果沒有這一行需要自行加入,設定成 NO:reverse_lookup_enable=NO儲存後重新啟動 vsftpd: # systemctl restart vsftpd

MySQL 連接時 localhost 及 127.0.0.1 的分別

在連接 MySQL 時, 雖然使用 localhost 或 127.0.0.1 都是連接到本機, 但連接的方式本質上是不同的。連接 MySQL 時如果不加上 -h 參數, 會使用預設的 localhost 連接 MySQL, 而透過 localhost 連接 MySQL 是使用 Unix Socket (/var/lib/mysql/mysql.sock), 沒有使 TCP/IP, 所以沒有經過網路卡, 不會受防火牆的限制。而如果透過 127.0.0.1 …

Linux 安裝 Monitorix 輕量化系統及網路監測工具

Monitorix 是一套輕量化的開源系統監測工具,可以監測系統 Load Average, Kernel, 檔案系統, 網路流量, 網頁伺服器等,對於監測單機伺服器會很方便,設定上較簡單。除了安裝在一般的伺服器外,也可以安裝在嵌入式裝置內使用。Monitorix 已經內建了 HTTP 伺服器,不用額外安裝 HTTP 伺服器 (e.g Apache, Nginx) 也可以透過網頁介紹檢視報表。以下會介紹在 RHEL / CentOS / Debian / Ubuntu / Fedora 安裝 Monitorix 的方法。RHEL / …

iPhone 及 iPad 修改 DNS 伺服器

正常情況下 iPhone 或 iPad 會使用 Wi-Fi 網路提供的 DNS 伺服器, 如果要自訂 DNS 伺服器, 例如使用 Google DNS, 可以用以下方法設定。1. 連接到 Wi-Fi 網咯後, 按 “設定” -> “Wi-Fi”.2. 在已連接的 Wi-Fi 網路右邊有個感嘆號, 按下這個感嘆號.3. 按下 “設定 DNS”.4. …