Category: Linux

Nginx 設定 SSL 網頁加密

以下會記錄在 RHEL 及 CentOS 7 下安裝及設定 Nginx SSL 的方法, 並會示範安裝自簽憑證及 CA 發行感證的步驟。1. 安裝 Nginx:Nginx 沒有包含在 CentOS 預設 Repository 內,要用 yum 安裝需要先啟用 EPEL Repository: $ sudo yum install epel-release 安裝好 EPEL …

CentOS 7 安裝 phpMyAdmin

phpMyAdmin 是十分流行的 MySQL 資料庫管理系統,可以透過網頁介面管理 MySQL 資料庫,提供建立、編輯、刪除資料庫及資料表,也可以管理使用者及其權限。以下文章會介紹在 RHEL, CentOS 用 yum 安裝 phpMyAdmin 的方法。在安裝 phpMyAdmin 前,需要先系統安裝好 Apache, PHP 及 MySQL (MariaDB),確定安裝好後便可以開始進行安裝。1. 加入 EPEL Repository 在 CentOS 預設的 Repository 沒有包含 phpMyAdmin,要用 yum …

ss 指令 – 顯示網路 Socket 資訊

ss 指令的全寫是 Socket Statistics, 顧名思義,它的作用是顯示 Sockets 的統計資訊。ss 跟 netstat 指令差不多,但 ss 可以顯示更多有關 TCP / UDP 及連線狀態的資訊,而且由於 netstat 由 /proc 逐個資訊讀取,而 ss 會由 kernel 直接讀取數據,所以 ss 比 netstat 執行上更快速,尤其在連線數量多的時候。以下是 ss 指令的常用例子:列出 …

Ubuntu 安裝 PHP Memcached 緩存

Memcached 是一套開放源碼的分散式記憶體快取系統, 目前已經有多個網站使用。在網站的應用上, 由於資料庫的查詢多數是讀取, Memcached 先將資料庫加以緩存, 那便可以減少資料庫的讀取, 從而增加效率。Memcached 在 PHP 另一個常用的地方是用作緩存 session。下文會示範在 Ubuntu 安裝 Memcached 及 Memcached 的 PHP 模組。1. 安裝 Memcached在 Ubuntu 安裝 Memcached 十分簡單, 可以直接用 apt-get 安裝: $ …

RHEL / CentOS 7 開啟自動更新套件

在主機上經上都要做一些更新, 尤其是一些與安全性相關的更新, 雖然很多更新也要重啟更新的套件, 或者像更新核心這類套件需要重新開機, 但開啟自動更新還是較方便及安。在 RHEL 或 CentOS 7 可以安裝 yum-cron 套件, 便可以做到自動更新, 先用 yum 安裝 yum-cron: # yum install yum-cron -y 安裝好 yum-cron 後, 接著便要設定 yum-cron, yum-cron 預設會更新所有套件, 如果想要自動更新所有套件, …

RHEL / CentOS 降級回滾套件

當用 yum 或安裝套件後,如果想將套件的版本降級或回滾以前的舊版本,可以用以下方法:yum 降級回滾語法: $ sudo yum downgrade package_name 例如想將 zsh 降級到舊版本,可以用以下語法: $ sudo yum downgrade zsh 然後系統便會將 zsh 回滾到對上一個版本的舊套件,如果要自訂回滾的版本,可以在套件後面加上版本: $ sudo yum downgrade package_name-version-number

Linux find 指令的 exec 參數

Linux 下找檔案很多時會用上 find 指令,當用 find 指令找到檔案或目錄後,可以在後面加上 -exec 參數,來對每一個找到的檔案或目錄執行特定指令。find 指令加上 -exec 參數的具體語法是這樣: $ find /path/to -name “filename” -exec command {} \; 在 -exec 前面是 find 指令找出想要的檔案,在 -exec 後面的 command 是要執行的指令, 而 …

vi / vim 搜尋並取代字串

不管系統管理還是寫程式,在檔案內對字串進行搜尋並取代十分常用,在 Unix Like 環境下常會用 sed 或 perl 做 search & replace.如果在開啟檔案後需要取代字串,其實在 vi 及 vim 內同樣可以做搜查及取代字串,做法跟 sed 差不多,以下是 vi 做搜尋及取代的語法: :%s/search_from/replace_to/g 以上 vi 的語法會將檔案內,所有 “search_from” 的字串替換成 “replace_to”。將上面指令最後加上一個 “c” 字元,可以在取代前,向使用者確認: :%s/search_from/replace_to/gc 除了可以替換輸入的字串,更可以設定搜尋時,略過英文大小寫的差異,以下對 …

用 SSH 在遠端主機執行指令

當需要在兩台主機間執行指令,可以用 SSH 直接傳送要執行的指令,該遠端主機直接執行,而無需登入另一台主機。以下是具體指令的語法:上面的 “user” 是登入帳號的使用者名稱,remote.server 是遠端主機,而 “ls -l” 是要執行的指令。當執行以上指令後,如果系統沒有設定自動免密碼登入,會詢問遠端主機的密碼,輸入密碼後會在遠端執行指令,並輸出執行結果。如果要同時執行多個指令,可以用 “;” 或 “&&” 分隔,例如:或如果需要用 Shell Script 執行遠端指令,當需要在指令加入變數,需要將上面的單引號,改成雙引號,例如:最後是執行類似 top 這類互動模式的指令,只要加入 -t 選項即可:除了 top 後,也可以用在 vi 等文字編輯器。

Linux 刪除 100GB 以上大容量檔案

在 Linux 下要刪除檔案,可以用 rm 指令很簡單地完成,但 rm 指定遇上容量很大的檔案時,例如 100GB 以上,刪除時會佔用很多系統資源,如果系統的資源很緊張,也有可能在執行時當掉。以下會介紹在 Linux 下要刪除大容量檔案, 而不會佔用過多系統資源 (I/O) 的方法。這個方法的原理是先清空檔案內容,然後再用 rm 刪除。Linux 下清空檔案的方法有很多,以下列出其中兩種,並假設要刪除的檔案是 big-file.log: $ echo “” > big-file.log $ cat /dev/null > big-file.log 這時原本很大的檔案已經清空,可以直接用 rm …