1.安裝
yum install nginx -y
2.添加虛拟主機
server {
listen 10.1.1.111:80; #監聽端口為80
server_name www.yang.com; ## 綁定域名,虛拟主機和真實主機監聽的IP和端口一緻時,可通過分析域名來判斷是通路虛拟主機還是真實主機,因為一個IP可以綁定多個域名
root /cs4; ##設定根目錄
charset utf-8; ## 設定中文編碼,沒有 中文會亂碼
index 233.html; ## 設定預設頁面為233.html,就是通路第一個找這個檔案 預設為index.html
}
nginx配置虛拟主機很簡單在配置檔案裡的server段後面再最加一個server段,裡面配置監聽端口和根目錄即可。
3.反向代理
upstream jjjj{
server 10.1.1.114 max_fails=3 fail_timeout=20s weight=1 backup;
#backup 表示為備份伺服器,隻有下面兩個無法通路或者特别忙的時候才會被請求 換成down 表示無論如何都無法被通路的,一般用于下架伺服器
server 10.1.1.112 max_fails=3 fail_timeout=20s weight=1;
server 10.1.1.113:80 max_fails=3 fail_timeout=20s weight=2;
#建立一個後端組名字jjjj,有兩個後伺服器,端口不加預設為80
#max_fails=3 最大失敗次數0表示禁止失敗嘗試
#fail_timeout=20s 最大失敗逾時時間
weight=2 輪詢權重,表示112通路一次 113會被通路兩次
ip_hash;#nginx預設配置設定為輪詢,加這個就變成了IP雜湊演算法,效果是計算客戶機的IP每次都配置設定到同一個後端主機,可以解決session一緻問題。
# fair; fair算法 顧名思義,公平地按照後端伺服器的響應時間(rt)來配置設定請求,響應時間短即rt小的後端伺服器優先配置設定請求。如果需要使用這種排程算法,必須下載下傳Nginx的upstr_fair子產品。
#url_hash; url雜湊演算法,計算url哈希,保證計算同一個url每次都能配置設定到同一個後端主機,一般用于後端為緩存伺服器來提高緩存命中率
}
以上代碼在http内,server以上
location / {
proxy_pass http://jjjj;
proxy_set_header zsip $remote_addr;
#将remote_addr變量的值傳遞給 zsip變量,remote_addrm裡面存放的是客戶機的通路IP,目的是把真實Ip傳遞給後端伺服器日志裡
#表示所有通路該伺服器的請求都轉給jjjj組
}
#在server 的liocation 段加入跳轉後端組的代碼
以上代碼在server段内

#如果不改預設記錄的是前端反代server的ip,注意這邊調用要加字首 "http_".
動靜分離配置
location ~ \.(php)?$ {
proxy_pass http://dddd;
#表示比對的末尾為.php字尾的請求,轉發給dddd組處理
}
location ~ \.(swf|gif|jpg)?$ {
#表示比對到圖檔的轉給jjjj後端組
proxy_pass http://jjjj;
}
location ~ / {
#表示前面兩個沒比對上的,都給jjjj組處理
proxy_pass http://jjjj;
}
~ (.png)$ ##比對字尾為.png的url
~ .(png|jpg)$ ##比對字尾為.png或者.jpg的url
緩存
proxy_cache_path /cache/nginx/ levels=1:2 keys_zone=my_cache:32m inactive=1d max_size=10g;
## 建立一個名為my_cache的緩存,使用32M記憶體,10g的硬碟,儲存1天,注意/cache/nginx/ 檔案夾屬主要是nginx使用者
add_header serverip $server_addr;
##傳遞一個字段serverip給通路的浏覽器 ,值是伺服器的Ip位址,反代和和後端加了,浏覽器都會顯示
add_header cache_status $upstream_cache_status;
## 傳遞一個字段給通路的浏覽器,值是緩存的命中狀态
#以上代碼在http段内部,在server段以上
proxy_cache my_cache; #啟用緩存
proxy_cache_valid 304 12h; #304狀态的儲存12小時
proxy_cache_valid any 10m; #其他狀态儲存10分鐘