yum 安裝nginx 及配置

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段內

yum 安裝nginx 及配置
#如果不改默認記錄的是前端反代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分鐘

#調用,以上代碼在location / { }內部
yum 安裝nginx 及配置

PS : 實驗一定要將selinux 關閉,浪費了三天時間,如果修改緩存的時間,對已經緩存的內容不起作用,已經緩存的內容還是要等到前一個配置時間纔會失效。

PS :匹配錯誤心得,proxy_pass 後面如果要帶/ ,前面location 最後也必須帶,建議都不要帶
root /usr/share/nginx/html/doc; 修改根只能在server段修改

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章