Nginx七層負(fù)載均衡之動(dòng)靜分離思路詳解
Nginx動(dòng)靜分離簡(jiǎn)單來(lái)說(shuō)就是把動(dòng)態(tài)跟靜態(tài)請(qǐng)求分開(kāi),不能理解成只是單純的把動(dòng)態(tài)頁(yè)面和靜態(tài)頁(yè)面屋里分離。嚴(yán)格意義上說(shuō)應(yīng)該是動(dòng)態(tài)請(qǐng)求跟靜態(tài)請(qǐng)求分開(kāi),可以理解層使用Nginx處理靜態(tài)頁(yè)面,tomcat處理動(dòng)態(tài)頁(yè)面。
- 動(dòng)態(tài)資源請(qǐng)求:要通過(guò)tomcat查詢數(shù)據(jù)庫(kù),從數(shù)據(jù)庫(kù)里返回內(nèi)容。nginx轉(zhuǎn)發(fā)到tomcat中通過(guò)tomcat來(lái)做處理。
- 靜態(tài)資源請(qǐng)求:請(qǐng)求中需要得到圖片的地址或者請(qǐng)求一個(gè)html文件,css樣式
思路:
servera:負(fù)載均衡服務(wù)器
serverb:靜態(tài)服務(wù)器
serverc:動(dòng)態(tài)服務(wù)器
serverd:默認(rèn)服務(wù)器
servera(192.168.233.132):
# 安裝 Nginx 服務(wù)器 yum install nginx -y #關(guān)閉防火墻和selinux systemctl stop firewalld setenforce 0 # 切換到 Nginx 配置文件目錄 cd /etc/nginx/conf.d/ # 使用 vim 編輯器打開(kāi) proxy.conf 文件進(jìn)行編輯 vim proxy.conf # 定義上傳服務(wù)器的 upstream 塊 upstream uploadPools { server 192.168.233.140; # 后端服務(wù)器的IP地址 } # 定義靜態(tài)資源服務(wù)器的 upstream 塊 upstream staticPools { server 192.168.233.144; # 后端服務(wù)器的IP地址 } # 定義主要應(yīng)用服務(wù)器的 upstream 塊 upstream wwwPools { server 192.168.233.141; # 后端服務(wù)器的IP地址 } server { listen 80; # 監(jiān)聽(tīng)80端口 server_name www.bbs.com; # 將請(qǐng)求轉(zhuǎn)發(fā)到此服務(wù)器塊中的指定域名 # 處理靜態(tài)資源請(qǐng)求 location /static/ { proxy_pass http://staticPools; # 將請(qǐng)求轉(zhuǎn)發(fā)到靜態(tài)資源服務(wù)器 proxy_set_header host $host; # 傳遞請(qǐng)求頭信息 proxy_set_header X-Forwarded-For $remote_addr; # 傳遞 X-Forwarded-For 頭信息 } # 處理動(dòng)態(tài)資源請(qǐng)求 location /upload/ { proxy_pass http://uploadPools; # 將請(qǐng)求轉(zhuǎn)發(fā)到上傳服務(wù)器 proxy_set_header host $host; # 傳遞請(qǐng)求頭信息 proxy_set_header X-Forwarded-For $remote_addr; # 傳遞 X-Forwarded-For 頭信息 } # 默認(rèn)處理所有其他請(qǐng)求 location / { proxy_pass http://wwwPools; # 將請(qǐng)求轉(zhuǎn)發(fā)到主要應(yīng)用服務(wù)器 proxy_set_header host $host; # 傳遞請(qǐng)求頭信息 proxy_set_header X-Forwarded-For $remote_addr; # 傳遞 X-Forwarded-For 頭信息 } }
serverb(192.168.233.144):
# 安裝 Nginx 服務(wù)器 yum install nginx -y #關(guān)閉防火墻和selinux systemctl stop firewalld setenforce 0 # 切換到 Nginx 配置文件目錄 cd /etc/nginx # 使用 vim 編輯器打開(kāi) nginx.conf 文件進(jìn)行編輯,并注釋掉 listen 和 root 配置項(xiàng) vi nginx.conf # listen 80; # listen [::]:80; # root /usr/share/nginx/html; # 創(chuàng)建一個(gè)靜態(tài)網(wǎng)頁(yè)目錄,并在其中創(chuàng)建一個(gè)簡(jiǎn)單的測(cè)試頁(yè)面 mkdir -p /data/web cd /data/web mkdir static echo static web test page > static/index.html # 切換到 Nginx 配置文件目錄,并創(chuàng)建一個(gè)新的虛擬主機(jī)配置文件 www.conf,并添加配置項(xiàng) cd /etc/nginx/conf.d/ vim www.conf # 添加以下內(nèi)容: # server { # listen 80; # server_name www.bbs.com; # root /data/web/; # location / { # index index.html; # } # } # 重啟 Nginx 服務(wù)器使配置生效 systemctl restart nginx
serverc(192.168.233.140):
# 安裝 Nginx 服務(wù)器 yum install nginx -y #關(guān)閉防火墻和selinux systemctl stop firewalld setenforce 0 # 切換到 Nginx 配置文件目錄 cd /etc/nginx # 使用 vim 編輯器打開(kāi) nginx.conf 文件進(jìn)行編輯,并注釋掉 listen 和 root 配置項(xiàng) vi nginx.conf # listen 80; # listen [::]:80; # root /usr/share/nginx/html; # 創(chuàng)建一個(gè)新的靜態(tài)網(wǎng)頁(yè)目錄,并在其中創(chuàng)建一個(gè)簡(jiǎn)單的測(cè)試頁(yè)面 mkdir -p /data/web cd /data/web mkdir upload echo upload web test page > upload/index.html # 切換到 Nginx 配置文件目錄,并創(chuàng)建一個(gè)新的虛擬主機(jī)配置文件 www.conf,并添加配置項(xiàng) cd /etc/nginx/conf.d/ vim www.conf # 添加以下內(nèi)容: # server { # listen 80; # server_name www.bbs.com; # root /data/web/upload; # location / { # index index.html; # } # } # 重啟 Nginx 服務(wù)器使配置生效 systemctl restart nginx
serverd(192.168.233.141):
# 安裝 Nginx 服務(wù)器 yum install nginx -y #關(guān)閉防火墻和selinux systemctl stop firewalld setenforce 0 # 切換到 Nginx 配置文件目錄 cd /etc/nginx # 使用 vim 編輯器打開(kāi) nginx.conf 文件進(jìn)行編輯,并注釋掉 listen 和 root 配置項(xiàng) vi nginx.conf # listen 80; # listen [::]:80; # root /usr/share/nginx/html; # 創(chuàng)建一個(gè)新的靜態(tài)網(wǎng)頁(yè)目錄,并在其中創(chuàng)建一個(gè)簡(jiǎn)單的測(cè)試頁(yè)面 mkdir -p /data/web echo "web test page." > /data/web/index.html # 使用 vim 編輯器打開(kāi) Nginx 的虛擬主機(jī)配置文件 www.conf,并添加配置項(xiàng) vi /etc/nginx/conf.d/www.conf # 添加以下內(nèi)容: # server { # listen 80; # server_name www.bbs.com; # root /data/web/; # location / { # index index.html; # } # } # 重啟 Nginx 服務(wù)器使配置生效 systemctl restart nginx # 使用 vim 編輯器打開(kāi) /etc/hosts 文件,并添加 IP 地址和域名的映射關(guān)系 vi /etc/hosts # 添加以下內(nèi)容: # 192.168.233.132 www.bbs.com www.blog.com
測(cè)試:
# 使用 curl 命令訪問(wèn) Nginx 服務(wù)器的默認(rèn)主頁(yè) curl http://192.168.233.132 # 使用 curl 命令訪問(wèn)靜態(tài)文件目錄,并顯示目錄內(nèi)容 curl http://192.168.233.132/static/ # 使用 curl 命令訪問(wèn)動(dòng)態(tài)文件目錄,并顯示目錄內(nèi)容 curl http://192.168.233.132/upload/
到此這篇關(guān)于Nginx七層負(fù)載均衡之動(dòng)靜分離的文章就介紹到這了,更多相關(guān)Nginx動(dòng)靜分離內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼
- nginx實(shí)現(xiàn)動(dòng)靜分離的案例詳解
- 關(guān)于Nginx動(dòng)靜分離詳解以及配置
- Nginx?Tomcat負(fù)載均衡動(dòng)靜分離原理解析
- 使用nginx實(shí)現(xiàn)動(dòng)靜分離
- Nginx動(dòng)靜分離配置實(shí)現(xiàn)與說(shuō)明
- Nginx+Tomcat負(fù)載均衡及動(dòng)靜分離群集的實(shí)現(xiàn)
- nginx實(shí)現(xiàn)動(dòng)靜分離的方法示例
- Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡、動(dòng)靜分離的原理解析
- Nginx動(dòng)靜分離實(shí)現(xiàn)案例代碼解析
- Nginx動(dòng)靜分離的示例代碼
相關(guān)文章
配置ab來(lái)為Nginx服務(wù)器做壓力測(cè)試的方法
這篇文章主要介紹了配置ab來(lái)為Nginx服務(wù)器做壓力測(cè)試的方法,ab是針對(duì)Apache的測(cè)試工具但本文講解其測(cè)試Nginx的過(guò)程,需要的朋友可以參考下2016-01-01fastdfs+nginx集群搭建的實(shí)現(xiàn)
這篇文章主要介紹了fastdfs+nginx集群搭建的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Nginx做NodeJS應(yīng)用負(fù)載均衡配置實(shí)例
這篇文章主要介紹了Nginx做NodeJS應(yīng)用負(fù)載均衡配置實(shí)例,本文直接給出配置實(shí)例,需要的朋友可以參考下2015-01-01Nginx實(shí)現(xiàn)http自動(dòng)跳轉(zhuǎn)到https
本文主要介紹了Nginx實(shí)現(xiàn)http自動(dòng)跳轉(zhuǎn)到https,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01Mac使用Nginx設(shè)置代理并禁用自帶Apache的問(wèn)題記錄
本文介紹如何在Mac上禁用自帶的Apache服務(wù)并安裝Nginx,首先需要關(guān)閉Apache并禁止其自啟動(dòng),接著,通過(guò)Homebrew安裝Nginx,并配置其文件和目錄,最后,介紹了如何生成SSL/自簽名證書(shū),詳細(xì)步驟包括修改Apache配置、安裝Nginx、編輯Nginx配置文件以及驗(yàn)證和重啟Nginx服務(wù)2024-09-09nginx里的rewrite跳轉(zhuǎn)的實(shí)現(xiàn)
這篇文章主要介紹了nginx里的rewrite跳轉(zhuǎn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Windows下使用?Nginx?搭建?HTTP文件服務(wù)器?實(shí)現(xiàn)文件下載功能
Nginx?是一款輕量級(jí)的?HTTP?服務(wù)器,采用事件驅(qū)動(dòng)的異步非阻塞處理方式框架,這讓其具有極好的?IO?性能,時(shí)常用于服務(wù)端的反向代理和負(fù)載均衡,這篇文章主要介紹了Windows下使用?Nginx?搭建?HTTP文件服務(wù)器實(shí)現(xiàn)文件下載功能,需要的朋友可以參考下2023-03-03使用Nginx進(jìn)行URL轉(zhuǎn)發(fā)的配置案例
Nginx是一個(gè)高性能的Web服務(wù)器和反向代理服務(wù)器,它還可以用于URL轉(zhuǎn)發(fā),在本教學(xué)文章中,我們將從安裝Nginx開(kāi)始,逐步介紹配置步驟,并展示一個(gè)URL轉(zhuǎn)發(fā)的案例,感興趣的朋友可以參考下2023-09-09