Tag: RHEL & CentOS

Nginx 設定反向代理 Reverse Proxy

什麼是反向代理 Reverse Proxy? 反向代理是在真實伺服器與客戶端間的代理伺服器, 當使用者透過客戶端 (瀏覽器) 訪問網站時, 反向代理伺服器會將請求轉送到背後的真實伺服器, 再將網站的結果傳送給客戶端。真實伺服器可能是本機的其他 Port, 也可能在內部網路, 或者在其他外部網路, 這樣使用者不會知道真實的伺服器在那裡, 可以隱藏真正伺服器的位置, 而且也可以實現 load balancing. 安裝 Nginx 可以用 yum 或 apt-get 安裝: $ sudo yum install nginx …

Nginx 設定目錄密碼保護

在 Apache 要設定密碼保護目錄, 可以用 .htaccess 及 .htpasswd 實現, 但在 Nginx 不支援 .htaccess.. 以下是 Nginx 設定密碼保護目錄的方法。 1. 建立使用者名稱及密碼 首先需要建立一個密碼檔, 裡面包含了使用者名稱, 以及加密了的密碼, 如果系統有安裝 Apache, 可以用以下語法建立密碼檔: # htpasswd -c /path/to/file/.htpasswd username 然後跟著指示設定密碼即可。 …

CentOS 7 安裝 PHP-FPM 及使用 mod_mpm_event

Apache 配置 PHP 一般會預設用 mod_php 的方法安裝, 安裝 Nginx 便會使用 PHP-FPM。但如果在 Apache 不想使用預設的 prefork 作為 MPM (通常基於效能因素), 想使用 worker 或 event, 便需要使用 PHP-FPM 的方法安裝 PHP。 本文會示範在 CentOS 7 安裝 Apache …

cURL 查詢主機回應時間

測試主機的回應時間很多時都會用到, 而 cURL 可以自訂輸出的格式, 以取得主機的回應時間。 首先建立儲存 cURL 格式的樣案: $ vi curl-format.txt 加入以下內容: 然後執行以下指令測試主機的回應時間: 然後會輸出類似以下的結果: 上面的 cURL 指令會測試 https://www.google.com/ 的回應時間, 將網址換成要測試的網址即可。

touch – 修改檔案時間戳記及建立新檔

touch 指令可以建立空白的新檔案, 改變現有檔案及目錄的戳記, 以下是 touch 指令的用法。 linux-touch-command 在介紹 touch 指令的用法前, 首先講一下 Linux 的檔案的 3 種時間戳記: atime (access time) -> 檔案最後被開啟、讀取或存取的時間。 mtime (modify time) -> 檔案最後被修改的時間。 ctime (change time) -> …

crontab 開機自動執行指令

一般上設定開機自動執行指令, 可以編輯 /etc/rc.local 檔案, 而除了編輯 /etc/rc.local 外, 也可以用 crontab 完成。 crontab 是十分好用的排程自動執行工具, 它指定執行時間間隔十分靈活, 其中一個做法是用 @reboot 參數, 設定成每次開機自動執行。 首先開啟 crontab: # crontab -e 加入以下一行: 以上一行設定開機後等待 1 分鐘 (60 秒), 自動執行 …

Linux 限制指令執行時間

timeout 指令可以在 Linux 下限制一個指令的執行時間, 當超出指定的時間後, 便自動終止執行. 例如想限制一個指令的執行時間在 10 秒, 當超過 10 秒便自動將它 kill 掉: $ timeout 10 tail -f /var/log/httpd/access.log timeout 的預設時間單位是秒, 上面的 10 沒有指定單位, 預設代表 10 秒, 以下時間單位的寫法: …

rename 指令 – 批次大量修改檔案名稱

在 Linux 要修改檔案名稱, 可以用 mv 指令, 但如果要重新命名的檔案很多, 用 mv 逐一修改會很痛苦, 也增加出錯的機會。而 rename 指令則可以批次大量修改檔案名稱。 例如我想將所有 .jpeg 結尾的圖片, 改變副檔名成 .jpg, 可以用以下指令: $ rename ‘s/.jpeg/.jpg/’ * 以上指令會將當前目錄下, 所有 .jpeg 結尾的檔案, 改名成 .jpg …

Shell Script 檢查網路連線

Linux 下要檢查網路連線的工具有很多, 以下是用 Shell Script 檢查網路連線的方法。 最簡單的方法是用 ping 指令, 嘗試 ping google.com, 這樣除了測試網路連線外, 也一同測試 DNS: 執行上面的 Shell Script 後, 當網路連線及 DNS 正常, 會輸出 “Network is up”; 不正常敗會輸出 “Network is …