當前位置:編程學習大全網 - 源碼下載 - 企業為什麽搭建群集環境和web網站

企業為什麽搭建群集環境和web網站

兄弟 您好上海獻峰Web服務器集群搭建如下

壹 需求分析:

1.整體需求:搭建壹個高可用的網站服務器集群,能承受高並發請求,能抵禦壹般的網絡攻擊,任何壹臺服務器的退服不影響整個集群的運作,並且能對各服務器的運行情況作出實時監控。

2.詳細需求分析:

根據需求,計劃根據以下拓撲搭建運行環境:

二 詳細功能描述:

1.前端服務器采用nginx實現反向代理和負載均衡,用keepalive實現HA。此部分由centos1和centos4實現,centos1作為主服務器,centos4作為熱備服務器。Nginx會根據不同的請求ip機會均等地把請求發送到後端兩臺服務器,並且以ip hash的方式保持各個ip的會話。

2.後端服務器構建在centos2與centos3上,采用apache作為web發布軟件,mysql作為數據庫,測試網頁用Django來實現。兩臺服務器的數據庫能夠自動同步。

3.作為熱備服務器,centos4在centos1沒有故障時並沒有業務流量,處於相對空閑的狀態,因此在centos4上配置nfs使它成為文件***享服務器,網站文件放在這臺服務器上。

4.centos5作為監控服務器,運行nagios監控各服務器狀態。出現告警時通過告警通知管理員。另外centos5還作為saltstack的服務器,其他主機的軟件安裝、文件傳輸、命令運行等操作均通過saltstack批量實現。

三 總體部署描述:

1.各個服務器均安裝centos6.4? 64位版本,采用cobbler實現批量自動安裝。

2.各個軟件均安裝最新的穩定版,centos自帶的軟件也要進行升級,例如python,Centos自帶的版本比較久,會影響Django的運行。

四 詳細部署描述:

1.nginx設置

Nginx在這裏的作用主要是反向代理、作為用戶以及服務器之間的緩存、以及以負載均衡的方式把請求發送到後端兩臺服務器。

采用編譯安裝的方式安裝nginx,具體過程就不在此記述了,不過為了更好地抵擋入侵,建議編譯前修改壹下安裝文件,使入侵者難以查出nginx的版本號,修改安裝文件中的nginx.h,把相關字段修改如下:

NGINX_VERSION? "1.0" NGINX_VER? "webserver" NGINX_VERSION

Nginx的配置文件如下:

212800

default_type? application/octet- zone=20;?

send_timeout 20;?

client_body_buffer_size 1k;?

client_header_buffer_size 1k;?

large_client_header_buffers 2 1k;?

server_tokens off;?

client_body_timeout 20;?

client_header_timeout 20;?

ip_hash;

server 10.0.0.3;?

server 10.0.0.280///100;?

limit_rate 500k; 500 502 503 504? /= /

因為後端測試網頁是用Django寫的,因此nginx就不用處理php等動態網頁的請求了。

設置完畢後,把nginx設置為開機啟動,可以用如下方式:

echo “/usr/local/nginx/sbin/nginx” >>/etc/rc.local

2.Keeplive設置

Keeplive的作用是在兩臺服務器(centos1、centos4)之間,以VRRP協議實現HA。通過虛擬出壹個Virtul IP(本例子中是192.168.00.000)來對外發布業務。兩臺服務器中的任壹臺退服了,keeplive會自動把業務轉到另壹臺上。在這裏centos1是主服務器,centos4是備用服務器。平時的數據流量只會通過centos1,只有centos1退服了,數據流量才會割接到centos4上。

centos1上的keepalive配置:

! Configuration File @test.com? @127.0.0.130

virtual_router_id 51192.168.48.139

priority 100

advert_int 1 1111192.168.48.138

對於從服務器centos4,只需要把以上配置文件的部分內容修改即可:

192.168.48.14090

同樣,配置好配置文件後,把keepalive添加到開機啟動中。

對於keepalive,由於是使用VRRP協議來檢查對端是否在線的,只要對端能ping通,那麽keeplive就會認為對端在線。但也有壹種情況是對端服務器沒有宕機,但nginx出錯關閉了,這種情況下keepalive仍然會判斷對端在線,不會把業務割接到備用服務器。因此我們需要在服務器上運行壹個腳本,監控nginx進程的狀態。假如nginx進程關閉了,先嘗試重啟nginx,無法重啟時就關閉keepalive的進程,使業務割接到備用端。

  • 上一篇:電腦藍屏代嗎:0x000000DI(0x00AE3541,0X000000FF,0X00000001,0XB54C7728
  • 下一篇:位置跟蹤應用程序源代碼
  • copyright 2024編程學習大全網