Nginx七層負(fù)載均衡之動靜分離思路詳解
Nginx動靜分離簡單來說就是把動態(tài)跟靜態(tài)請求分開,不能理解成只是單純的把動態(tài)頁面和靜態(tài)頁面屋里分離。嚴(yán)格意義上說應(yīng)該是動態(tài)請求跟靜態(tài)請求分開,可以理解層使用Nginx處理靜態(tài)頁面,tomcat處理動態(tài)頁面。
- 動態(tài)資源請求:要通過tomcat查詢數(shù)據(jù)庫,從數(shù)據(jù)庫里返回內(nèi)容。nginx轉(zhuǎn)發(fā)到tomcat中通過tomcat來做處理。
- 靜態(tài)資源請求:請求中需要得到圖片的地址或者請求一個html文件,css樣式
思路:
servera:負(fù)載均衡服務(wù)器
serverb:靜態(tài)服務(wù)器
serverc:動態(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 編輯器打開 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)聽80端口
server_name www.bbs.com; # 將請求轉(zhuǎn)發(fā)到此服務(wù)器塊中的指定域名
# 處理靜態(tài)資源請求
location /static/ {
proxy_pass http://staticPools; # 將請求轉(zhuǎn)發(fā)到靜態(tài)資源服務(wù)器
proxy_set_header host $host; # 傳遞請求頭信息
proxy_set_header X-Forwarded-For $remote_addr; # 傳遞 X-Forwarded-For 頭信息
}
# 處理動態(tài)資源請求
location /upload/ {
proxy_pass http://uploadPools; # 將請求轉(zhuǎn)發(fā)到上傳服務(wù)器
proxy_set_header host $host; # 傳遞請求頭信息
proxy_set_header X-Forwarded-For $remote_addr; # 傳遞 X-Forwarded-For 頭信息
}
# 默認(rèn)處理所有其他請求
location / {
proxy_pass http://wwwPools; # 將請求轉(zhuǎn)發(fā)到主要應(yīng)用服務(wù)器
proxy_set_header host $host; # 傳遞請求頭信息
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 編輯器打開 nginx.conf 文件進(jìn)行編輯,并注釋掉 listen 和 root 配置項
vi nginx.conf
# listen 80;
# listen [::]:80;
# root /usr/share/nginx/html;
# 創(chuàng)建一個靜態(tài)網(wǎng)頁目錄,并在其中創(chuàng)建一個簡單的測試頁面
mkdir -p /data/web
cd /data/web
mkdir static
echo static web test page > static/index.html
# 切換到 Nginx 配置文件目錄,并創(chuàng)建一個新的虛擬主機(jī)配置文件 www.conf,并添加配置項
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 nginxserverc(192.168.233.140):
# 安裝 Nginx 服務(wù)器
yum install nginx -y
#關(guān)閉防火墻和selinux
systemctl stop firewalld
setenforce 0
# 切換到 Nginx 配置文件目錄
cd /etc/nginx
# 使用 vim 編輯器打開 nginx.conf 文件進(jìn)行編輯,并注釋掉 listen 和 root 配置項
vi nginx.conf
# listen 80;
# listen [::]:80;
# root /usr/share/nginx/html;
# 創(chuàng)建一個新的靜態(tài)網(wǎng)頁目錄,并在其中創(chuàng)建一個簡單的測試頁面
mkdir -p /data/web
cd /data/web
mkdir upload
echo upload web test page > upload/index.html
# 切換到 Nginx 配置文件目錄,并創(chuàng)建一個新的虛擬主機(jī)配置文件 www.conf,并添加配置項
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 nginxserverd(192.168.233.141):
# 安裝 Nginx 服務(wù)器
yum install nginx -y
#關(guān)閉防火墻和selinux
systemctl stop firewalld
setenforce 0
# 切換到 Nginx 配置文件目錄
cd /etc/nginx
# 使用 vim 編輯器打開 nginx.conf 文件進(jìn)行編輯,并注釋掉 listen 和 root 配置項
vi nginx.conf
# listen 80;
# listen [::]:80;
# root /usr/share/nginx/html;
# 創(chuàng)建一個新的靜態(tài)網(wǎng)頁目錄,并在其中創(chuàng)建一個簡單的測試頁面
mkdir -p /data/web
echo "web test page." > /data/web/index.html
# 使用 vim 編輯器打開 Nginx 的虛擬主機(jī)配置文件 www.conf,并添加配置項
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 編輯器打開 /etc/hosts 文件,并添加 IP 地址和域名的映射關(guān)系
vi /etc/hosts
# 添加以下內(nèi)容:
# 192.168.233.132 www.bbs.com www.blog.com
測試:
# 使用 curl 命令訪問 Nginx 服務(wù)器的默認(rèn)主頁 curl http://192.168.233.132 # 使用 curl 命令訪問靜態(tài)文件目錄,并顯示目錄內(nèi)容 curl http://192.168.233.132/static/ # 使用 curl 命令訪問動態(tài)文件目錄,并顯示目錄內(nèi)容 curl http://192.168.233.132/upload/
到此這篇關(guān)于Nginx七層負(fù)載均衡之動靜分離的文章就介紹到這了,更多相關(guān)Nginx動靜分離內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
zabbix配置nginx監(jiān)控的實現(xiàn)
本文主要介紹了zabbix配置nginx監(jiān)控的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
SQL操作Pandas?DataFrame的三種方式示例詳解
這篇文章主要為大家介紹了SQL操作Pandas?DataFrame的三種方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
Linux?中?Nginx?代理?Redis?的詳細(xì)步驟
本文介紹了使用Nginx代理Redis的方法,包括檢查和配置Nginx的stream模塊進(jìn)行TCP代理,實現(xiàn)安全訪問、負(fù)載均衡和高可用性,還討論了Nginx緩存配置與Redis的配合,并提供了安全和優(yōu)化建議,感興趣的朋友跟隨小編一起看看吧2026-05-05

