Linux服務器的配置、維護、環境搭建和安全配置之四nginx反向代理(nginx –>apche)
//nginx中提供靜態資源服務,假設/var/www/html是靜態資源所在的文件夾,那麼可以通過修改nginx的配置文件處理這些靜態資源。
//在 /etc/nginx/conf.d/default.conf中增加代碼
//加載靜態資源
location /asset {
root /var/www/html;
index index.html;
}
//location還支持正則表達式,可以用正則表達式來匹配html、css、js、png、jpg、gif、ico這些爲擴展名的請求:
location ~* \.(html|css|js|png|jpg|gif|ico)$ {
root /var/www;
}
反向代理:代理服務器將對應的請求轉發到應用服務器處理然後將應用服務器的響應內容返回給客戶端。
1. 通過配置location可以將客戶端請求轉發到配置的地址(應用服務器),通過nginx把客戶端請求接受到 然後發到apache服務器(tomcat服務器)上
location / {
#轉發的應用服務器路徑
proxy_pass http://localhost:81;
}
- nginx負載均衡
當請求量過大的時,一臺應用服務器顯然是不能滿足需求的,所以就需要多臺應用服務器來實現負載均衡。
#在/etc/nginx/conf.d/default.conf中配置如下代碼
#upstream中weight表示weight表示權重,權重越大,請求轉發到這個地址的概率就越大。
upstream local_servers {
server 192.168.1.180:81 weight=1;
server 127.0.0.1:81 weight=1;
}
location / {
proxy_pass http://local_servers; //轉發的應用服務器路徑
proxy_set_header Host $host; // $host就是nginx代理服務器
proxy_set_header X-Real-IP $remote_addr; //客戶端真是ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off; //代理緩存刪除
}
注意需要把當前nginx中對php的設置註釋掉纔可以