在 Nginx 下如果用 PHP 上傳檔案時, 有時會出現以下報錯: Nginx 413 Request Entity Too Large 出現 Error 413 的原因是訪客瀏覽網頁時, 傳送過多的 HTTP 請求, 一般在上傳檔案時出現, 解決方法是修改 Nginx 的 上傳限制, 這個可以透過 Nginx 的 client_max_body_size 設定。 …
如果要在 Linux 下將現有的檔案, 刪除裡面的所有空白行, 可以用 Linux 內建的工具即可實現。 sed 指令 用 sed 指令即可刪除檔案內的空白行: $ sed -i ‘/^$/d’ input.txt 如果想將刪除空白行後的內容, 匯入到新檔案, 要改成這樣: $ sed ‘/^$/d’ input.txt > output.txt 有些空白行會包含一些空白字元, 例如 SPACE …
mysqlslap 是 MySQL 內建的壓力測試工具, 可以模擬大量 MySQL 連線存取資料庫的情況, 這樣對於優化 MySQL 伺服器十分有用。 mysqlslap 是直接在指令模式下執行, 以下是 mysqlslap 的使用參數: –user: 連接到 MySQL 的帳號. –password: 連接到 MySQL 的密碼. –host: MySQL 伺服器的主機名. –port: MySQL 伺服器的埠號, …
Python 是功能強大程式語言, 本文會示範在 RHEL, CentOS 及 Fedora 安裝最新版 Python 3.5, 現時 Python 最新版本為 3.5.2 RHEL / CentOS / Fedora 安裝 Python 3.5. 在安裝 Python 3.5 前, 先安裝 gcc: # …
登入 SSH 時如果看到 “WARNING: UNPROTECTED PRIVATE KEY FILE!” 報錯, 出現報錯的畫面類似這樣: 這個問題出在 private key (上面例子是 /path/to/key.pem) 的權限設定過於寬鬆, 系統內其他帳號也可以開啟所致。 要解決也很簡單, 只要用 chmod 改變 private key 的權限便可以: # chmod 600 /path/to/key.pem
VMware Workstation 可以在一台實體主機上, 執行多個不同的 VM, 以下示範在 Linux 下安裝 VMware Workstation 的方法, 並會覆蓋 RHEL, CentOS, Fedora, Debian, Ubuntu 及 Mint. 在開始前, 要確定系統是 64-bit, 因為現在 VMware Workstation 12 只支援 64-bit 系統, …
寫程式時經常需要截取字串中的一小部份, 很多程式語言都有類似 substr 等函式。在 Shell Script 雖然沒有 substr() 或 substring() 的函式, 但要實現也很方便, 以下會介紹兩種 Shell Script 下截取部份字串的方法。 ${string:S:N} 寫法 在 Shell Script 抽取字串, 最簡單的方法是這樣: 上面 Shell Script 執行結果是 s is …
以下會介紹在 Linux 檢查及設定開啟檔案數量的限制。 要檢查目前系統最大開啟檔案的數量、可以透過查看檔案 /proc/sys/fs/file-max, 例如: # cat /proc/sys/fs/file-max 791176 以上的數值 791176,是每個帳號的 login session 下最多可開啟的檔案數量。 對於一台伺服器,有些服務需要很大量的檔案,例如 Apache 及 MySQL 等、要更改這個數值,可以使用 sysctl 指令,sysctl 的作用是在系統執行時,設定 kernel 的參數。 例如想將開啟檔案限制設定為 500000, 指令是這樣的: # …
APC (Alternate PHP Cache) 是一套開源的 PHP 快取系統, 它可以將沒有改變 PHP Code 的情況下, 將已經編譯的結果緩存下來, 當下次需要使用時, 就可以節省重新編譯的時間及系統資源。 在 RHEL 及 CentOS 安裝 APC 十分簡單, 只要透過 YUM 便可以全部完成, 以下方法在 CentOS 6 及 CentOS …
相比起用套件管理員 (如 yum, apt-get) 安裝 PHP, 編譯 PHP 源碼較需要較多步驟, 最常見的問題出在套件相依性上。但由於編譯源碼安裝可以自訂各種設定, 所以還是很多情況需要編譯源碼安裝的。 以下會列出在編譯 PHP 時常見的報錯及解決方法。 報錯: 解決方法: # yum install bzip2-devel 報錯: 解決方法: # yum install curl-devel 報錯: 解決方法: # …