1. 程式人生 > 實用技巧 >Nginx動靜分離和高可靠

Nginx動靜分離和高可靠

nginx實現動靜分離

1.動態資料(每個頁面的資料根據不同的條件從資料庫查詢出來的),靜態資料(每個頁面長期不變的資料,例如,js,css,image)

先在專案搭建好測試的資料(即兩個測試的jar包 ,不同的頁面以作測試)

2.主要程式碼

 server {
         listen 8080;
         server_name 118.190.158.17;
        location / {
        proxy_pass http://localhost:7000;
        }
        location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
                root    /home/
web; } //圖片的過濾 }

3.效果(會隨著動態資料的改變隨著改變)

keepalived實現nginx高可靠

1.Keepalived的作用是檢測伺服器的狀態,如果有一臺web伺服器宕機,或工作出現故障,Keepalived將檢測到,並將有故障的伺服器從系統中剔除,同時使用其他伺服器代替該伺服器的工作,當伺服器工作正常後Keepalived自動將伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的伺服器。類似軟體還有(heartbeat,vcs,haproxy).實現程式的自動failover,故障轉移。

2.修改192.168.153.202的配置檔案/etc/keepalived/keepalived.conf 記得修改完後重啟配置檔案 systemctl status keepalived.service

全選(高亮顯示):按esc後,然後ggvG或者ggVG
全部複製:按esc後,然後ggyG
全部刪除:按esc後,然後dG

global_defs {

notification_email {  #指定keepalived在發生切換時需要傳送email到的物件,可以有多個

test@163.com  

}

notification_email_from keepalived@localhost #指定發件人

smtp_server 127.0.0.1   #指定smtp伺服器地址

smtp_connect_timeout 30 #指定smtp連線超時時間

router_id LVS_MASTER  #執行keepalived機器的一個標識,同網段內唯一,建議使用主機名   主機名建議設定不一樣
} #vrrp_script chk_nginx { #script
"/usr/local/src/check_nginx_pid.sh" #interval 2 #weight 2 #} vrrp_instance VI_1 { #指定哪個為master,哪個為backup,如果設定了nopreempt這個值不起作用,主備靠priority決 定 #state MASTER state BACKUP nopreempt #非搶佔模式 interface ens33 virtual_router_id 51 #叢集標記,同一個叢集必須相同 priority 100 #優先順序,高優先順序競選為master,1-255 //從機要比主機優先順序低 , 才可以進行搶佔 advert_int 1#檢查間隔,預設1秒 authentication {#心跳間設定認證 auth_type PASS #認證方式 auth_pass 1111 #認證密碼 } #track_script { #chk_nginx #} virtual_ipaddress { 192.168.11.222 #虛擬ip //虛擬ping通的ip 設定一樣 } }

3.