日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx动静分离配置

發布時間:2024/3/13 Nginx 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx动静分离配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Nginx動靜分離

一、動靜分離介紹

動靜分離,通過中間件將動態請求和靜態請求進行分離 通過中間件將動態請求和靜態請求分離,可以減少不必要的請求消耗,同時能減少請求的延時。 通過中間件將動態請求和靜態請求分離,邏輯圖如下:

1.單臺機器動靜分離

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-NaockIvC-1623251222252)(img/image-20201204141634031.png)]

[root@web01 ~]# cat /etc/nginx/conf.d/linux.wp.com.conf server {listen 80;server_name linux.wp.com;location / {root /code/wordpress;index index.php;}location ~* \.(jpg|png|gif)$ {root /code/wordpress;}location ~* \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME /code/wordpress/$fastcgi_script_name;include fastcgi_params;} }

2.多臺機器的動靜分離

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-8q8hbq8E-1623251222260)(img/image-20201207133847547.png)]

  • 準備環境

主機作用服務IP
lb01負載均衡nginx10.0.0.4
web01靜態資源nginx10.0.0.7
web02動態資源tomcat10.0.0.8
  • 配置web01的靜態資源

# 配置nginx [root@web01 ~]# vim /etc/nginx/conf.d/linux.dj.com.conf server {listen 80;server_name linux.dj.com;location ~* \.(jpg|png|mp4|gif)$ {root /code/picture;} } [root@web01 ~]# systemctl restart nginx# 上傳靜態資源 [root@web01 ~]# mkdir /code/picture [root@web01 ~]# cd /code/picture/ [root@web01 picture]# rz 1.jpg [root@web01 picture]# ll total 1756 -rw-r--r--. 1 root root 156617 Dec 7 08:54 1.jpg -rw-r--r--. 1 root root 47542 Dec 7 08:54 2.jpg -rw-r--r--. 1 root root 1586108 Dec 7 08:54 3.jpg# 測試靜態資源配置hosts10.0.0.7 linux.dj.com請求靜態資源http://linux.dj.com/1.jpg
  • 配置web02的動態資源

# 安裝tomcat [root@web02 ~]# yum install -y tomcat# 配置動態資源 [root@web02 ~]# cd /usr/share/tomcat/webapps [root@web02 webapps]# mkdir ROOT [root@web02 webapps]# vim ROOT/java_test.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <HTML><HEAD><TITLE>測試動態資源</TITLE></HEAD><BODY><%Random rand = new Random();out.println("<h1>隨機數:<h1>");out.println(rand.nextInt(99)+100);%></BODY> </HTML># 啟動方式 [root@web02 ~]# systemctl start tomcat# 訪問測試動態頁面配置hosts10.0.0.8 linux.dj.com訪問http://linux.dj.com:8080/java_test.jsp
  • 配置負載均衡

# 配置 [root@lb01 ~]# vim /etc/nginx/conf.d/linux.dj.com.conf upstream dt {server 10.0.0.8:8080; }upstream jt {server 10.0.0.7; }server {listen 80;server_name linux.dj.com;location / {root /code/dj;index index.html;}location ~* \.(jpg|png|gif)$ {proxy_pass http://jt;include proxy_params;}location ~* \.(php|jsp)$ {proxy_pass http://dt;include proxy_params;} }# 重啟 [root@lb01 ~]# systemctl restart nginx# 訪問測試1)配置hosts10.0.0.4 linux.dj.com2)訪問http://linux.dj.com/java_test.jsphttp://linux.dj.com/1.jpg
  • 整合靜態資源和動態資源

# 創建站點目錄 [root@lb01 ~]# mkdir /code/dj -p# 編輯html文件 [root@lb01 ~]# vim /code/dj/index.html <html lang="en"> <head><meta charset="UTF-8" /><title>測試ajax和跨域訪問</title><script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script> </head> <script type="text/javascript"> $(document).ready(function(){$.ajax({type: "GET",url: "http://linux.dj.com/java_test.jsp",success: function(data){$("#get_data").html(data)},error: function() {alert("哎呦喂,失敗了,回去檢查你服務去~");}}); }); </script><body><h1>測試動靜分離</h1><img src="http://linux.dj.com/1.jpg"><div id="get_data"></div></body> </html># 授權 [root@lb01 ~]# chown -R www.www /code/# 訪問域名測試 結論:靜態資源出現問題不影響動態資源,動態資源出問題不影響靜態資源

二、nginx資源分離

  • 準備環境

主機IP功能
lb0110.0.0.4,172.16.1.4負載均衡
web01172.16.1.7Android頁面
web02172.16.1.8iPhone頁面
web03172.16.1.9PC端頁面
  • 配置web01服務器

# 配置nginx [root@web01 ~]# vim /etc/nginx/conf.d/linux.sj.com.conf server {listen 80;server_name linux.sj.com;charset utf8;location / {root /code/android;index index.html;} }# 重啟 [root@web01 ~]# systemctl restart nginx# 創建站點目錄 [root@web01 ~]# mkdir /code/android [root@web01 ~]# echo "我是android" >> /code/android/index.html [root@web01 ~]# chown -R www.www /code/android/# 訪問測試 配置hosts 10.0.0.7 linux.sj.com
  • 配置web02服務器

# 配置nginx [root@web02 ~]# vim /etc/nginx/conf.d/linux.sj.com.conf server {listen 80;server_name linux.sj.com;charset utf8;location / {root /code/iphone;index index.html;} }# 創建站點文件 [root@web02 ~]# mkdir /code/iphone [root@web02 ~]# echo "我是Iphone" >> /code/iphone/index.html [root@web02 ~]# chown -R www.www /code/iphone/# 重啟Nginx [root@web02 ~]# systemctl restart nginx# 訪問測試 配置hosts 10.0.0.8 linux.sj.com
  • 配置web03服務器

# 配置nginx [root@web03 ~]# vim /etc/nginx/conf.d/linux.sj.com.conf server {listen 80;server_name linux.sj.com;charset utf8;location / {root /code/pc;index index.html;}# 創建站點文件 [root@web03 ~]# mkdir /code/pc -p [root@web03 ~]# echo "我是pc端" >> /code/pc/index.html [root@web03 ~]# chown -R www.www /code/# 重啟Nginx [root@web02 ~]# systemctl restart nginx# 訪問測試 配置hosts 10.0.0.9 linux.sj.com
  • 配置負載均衡

# 配置nginx [root@lb01 ~]# vim /etc/nginx/conf.d/linux.sj.com.conf upstream android {server 10.0.0.7; }upstream iphone {server 10.0.0.8; }upstream pc {server 10.0.0.9; }server {listen 80;server_name linux.sj.com;location / {if ($http_user_agent ~* "Android") { #判斷如果是安卓端proxy_pass http://android; #代理到android虛擬主機池}if ($http_user_agent ~* "iPhone") { #判斷如果是蘋果端proxy_pass http://iphone; #代理到iphone虛擬主機池}if ($http_user_agent ~* "WOW64") { #判斷如果是IE瀏覽器return 403; #直接返回403}proxy_pass http://pc; #如果沒有匹配到以上內容,默認都代理到pc虛擬主機池include proxy_params;} }# 重啟 [root@lb01 ~]# nginx -t && systemctl restart nginx# 配置hosts 10.0.0.4 linux.sj.com# 訪問 http://linux.sj.com/

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ayyUHwF9-1623251222266)(img/image-20201207133935994.png)]

總結

以上是生活随笔為你收集整理的Nginx动静分离配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。