前言
nginx和apache是互聯網時代最為流行的兩種Web服務器軟件。nginx高并發性能出眾,占用系統資源少,成為了很多企業web服務器的首選。但是由于nginx對于處理php等動態頁面的處理十分雞肋,而apache非常善于處理動態頁,并且apache的穩定性遠遠高于nginx,功能模塊也多于nginx。
為了取長補短,常常會以nginx+apache兩個軟件配合起來處理web服務器。nginx作為前端主要用于接收客戶端請求,并且根據自身的負載均衡模塊的設置,向后端apache服務器發起訪問web頁面,以達到最佳的客戶體驗。
本文將詳細說明nginx+apache的配置方法。
服務器拓撲結構
配置規格表
配置方案
ServerA和ServerB的配置相同,提供的同一個WEB站點的訪問。即配置相同,提供的index.html內容也相同。配置如下:
ServerA:
index文件
ServerB:
index文件
Server的nginx配置如下:
如圖所示按照方框中的內容修改nginx的主配置文件(/etc/nginx/nginx.conf)。
upstream節要寫在http節中,表示需要反向代理的主機列表,其中web為代理名,weight為負載均衡權重。
location節要寫在server節中,其中http://后面接的內容需要與upstream節的代理名一致。
配置好三臺服務器之后,通過訪問http://www.xxx.com的方式可以直接訪問到ServerA和ServerB上的頁面。
可能遇到的問題:如果遇到三臺主機服務啟動無誤,ServerA和ServerB的web頁面單獨訪問正常,訪問Server上的nginx時出現404報錯,可以嘗試關閉三臺服務器的selinux以解決問題。