Category: Apache / Nginx

Apache 安裝 mod_cband 限制 VirtualHost 及 IP 頻寬

當 Apache 其中一個 Virtual Host 佔用資源過多時,會拖慢整台伺服器所有網站的速度,這時可以安裝 mod_cband 模組,限制個別虛擬主機可以佔用的連線數量及頻寬,以下會示範在 CentOS 7 安裝 mod_cband 模組:要安裝 mod_cband,需要先安裝 httpd-devel: # yum install httpd-devel然後可以下載 mod_cband 及編譯安裝: # cd /usr/local/src # wget https://github.com/maiha/mod_cband/archive/master.zip # unzip master.zip現在編譯安裝: …

Nginx 設定 http 自動導向 https

當網站從 http 轉換到 https 後,想自動將前往 http 的訪客自動導向到 https 頁面,以下是 Nginx 設定 http 自動轉址到 https 連線的設定方法。以下假設網站域名是 mydomain.com, 會將所有 http 的連線自動導向到 https 的頁面, 另外會將沒有 www 的連線自動導向到 www 的網頁:加入以下三個 block, 包括是 port 80 …

Nginx 設定 SSL 網頁加密

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

Apache 編譯錯誤 – cannot install ‘libaprutil-1.la’ to a directory

今天編譯安裝 Apache, Apache 的預設安裝目錄是 /usr/local/apache2, 但我將它安裝到 /usr/local/apache, 但在編譯時出現以下錯誤:原因可能是之前編譯 Apache 時, 有一些紀錄是安裝到 /usr/local/apache2 所致, 解決方法是有兩個:1. 執行 make clean 指令, 再重新編譯。2. 將原始碼的目錄刪除, 再重新解壓 Apache 的源始碼, 再進行編譯安裝即可。

Apache httpd 設定預設首頁

Apache 設定了 DirectoryIndex 後, Apache 會自動開啟目錄下的相應頁面, 例如:DirectoryIndex index.html index.htm index.php如果沒有 DirectoryIndex 設定的頁面, 會顯示 403 Forbidden 或者顯示所有檔案。用 YUM 安裝好 httpd 後, 如果網頁根目錄沒有 DirectoryIndex, 預設會出現一個 “Testing 123” 的頁面, 這個設定方法很實用, 因為可以在 VirtualHost 沒有 …

個別 VirtualHost 或目錄停用 PHP

在 Linux 安裝 Apache 及 PHP 後, 可以按需要設定個別 VirtualHost 或目錄停用 VirtualHost, 例如一個只用作儲存上載圖片的目錄, 不需要執行 PHP 的權限, 以下的設定方法。VirtualHost 停用 PHP: 首先開啟儲存 VirtualHost 的檔案, RHEL 及 CentOS 是 /etc/httpd/conf/httpd.conf, 而 Debian 及 Ubuntu …

Nginx 設定 WordPress Rewrite 固定連結

WordPress 是目前最流行的 Blog CMS, 原本每個網址後面會加上 “?p=xxx” 作為識別文章, 而 WordPress 的固定連結功能可以自訂網址。Wordpress 內建的 .htaccess 檔案已經做好 Rewrite 的設定, 但如果網頁伺服器是用 Nginx, 就不可以用這個 .htaccess 了, 以下是在 Nginx 設定 WordPress Rewrite 固定連結的方法。首先開啟網站的 .conf 檔案, 例如網站是 phpini.com, …

Apache Log 儲存到 MySQL

Apache 預設會將 Log 記錄檔儲存到文字檔,一般會在 logs/ 目錄,或者 /var/log/httpd/ 目錄。將 Apache Log 儲存到 MySQL 除了可以方便過濾記錄檔內資訊外,也可以實現多個 Apache Log 集中管理。以前試過自己寫 Shell Script 將 Log 插入 MySQL,但原來已經有 Apache Module 可以做這件事,十分方便。以下是 Apache 設定將 Log 儲存到 MySQL …

Apache 設定忽略檔案字母大小寫

在 Unix Like 的作業系統, 檔案及目錄名稱的英文字母大小寫有分別, 而在 Windows 內則沒有分別, 所以有些網頁放在 Windows 主機上可以正常瀏覽, 而放到 Linux 上便會出現連結失效, 或者圖片, CSS, Javascript 不能載入等問題。例如這樣一個超連結:〈a href=’Filename.htm’〉links〈/a〉在 Windows 下, 只要檔案符合連結內的字母, 不會區分大小寫, 所以如果檔案名稱是 “filename.htm” 可以正確瀏覽, 而在 Linux 下相同情況便會出現連結失效。如果未能將網頁內容一一修正, 可以設定 …