Nginx的应用之动静分离
生活随笔
收集整理的這篇文章主要介紹了
Nginx的应用之动静分离
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Nginx 的動靜分離
我們通過中間件將動態(tài)請求和靜態(tài)請求進行分離,減少了不必要的請求消耗和延時。
動靜分離后,即使動態(tài)服務(wù)不可用,但靜態(tài)資源不會受到影響。
應(yīng)用實例
1、準備環(huán)境
| CentOS 7.2 | 反向代理 | Nginx_Proxy | 192.168.1.10 | Nginx:v1.16.1 |
| CentOS 7.2 | 靜態(tài)資源 | Nginx_Static | 192.168.1.11 | Nginx:v1.16.1 |
| CentOS 7.2 | 動態(tài)資源 | Tomcat_Server | 192.168.1.12 | Tomcat/7.0.76 |
2、配置服務(wù)器
2.1、在Nginx Static主機中配置靜態(tài)資源(以圖片為例)
[root@Nginx_Static]# vim /etc/nginx/conf.d/static.conf server {listen 80;server_name static.com;root /data/www/static;index index.html;location ~* .*\.(png|jpg|gif)$ {root /data/www/static/images;} } #準備存放圖片的目錄及圖片 [root@Nginx_Static]# mkdir -pv /data/www/static/images [root@Nginx_Static]# wget -O /data/www/static/images/nginx.png http://nginx.org/nginx.png [root@Nginx_Static]# systemctl restart nginx2.2、在 Tomcat_Server主機中配置動態(tài)資源(以隨機數(shù)為例)
#安裝Tomcat,并編輯隨機數(shù)的jsp文件 [root@Tomcat_Server]# yum -y install tomcat [root@Tomcat_Server]# mkdir /usr/share/tomcat/webapps/ROOT [root@Tomcat_Server]# vim /usr/share/tomcat/webapps/ROOT/java.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <HTML><HEAD><TITLE>JSP Test Page</TITLE></HEAD><BODY><%Random rand = new Random();out.println("<h1>Random number:</h1>");out.println(rand.nextInt(99)+100);%></BODY> </HTML>#重啟tomcat服務(wù) [root@Tomcat_Server]#2.3、在Nginx_Proxy主機上配置代理,實現(xiàn)訪問jsp和png
[root@Nginx_Proxy]# vim /etc/nginx/conf.d/proxy.conf upstream static {server 192.168.1.11:80; } upstream java {server 192.168.1.12:8080; }server {listen 80;server_name proxy.com;location / {root /data/www/whole;index index.html;}location ~ .*\.(png|jpg|gif)$ {proxy_pass http://static;}location ~ .*\.jsp$ {proxy_pass http://java;} } #重啟nginx [root@Nginx_Proxy]# systemctl restart nginx2.4、通過代理服務(wù)器測試訪問動態(tài)及靜態(tài)資源
2.5、在Nginx_Proxy主機上將動態(tài)和靜態(tài)資源合并為html文件
[root@Nginx_Proxy]# mkdir /data/www/whole [root@Nginx_Proxy]# vim /data/www/whole/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://proxy.com/java.jsp",success: function(data) {$("#get_data").html(data)},error: function() {alert("fail!!,請刷新再試!");}}); }); </script><body><h1>測試動靜分離</h1><img src="http://proxy.com/nginx.png"><div id="get_data"></div></body> </html>2.6、使用瀏覽器測試訪問,動態(tài)及靜態(tài)資源能否加載在一個html文件中
2.7、關(guān)閉靜態(tài)資源的nginx服務(wù)后,發(fā)現(xiàn)靜態(tài)內(nèi)容無法訪問,但動態(tài)內(nèi)容可以正常瀏覽
2.8、關(guān)閉動態(tài)資源的tomcat服務(wù)后,發(fā)現(xiàn)動態(tài)內(nèi)容無法訪問,但靜態(tài)內(nèi)容可以正常瀏覽
轉(zhuǎn)載于:https://www.cnblogs.com/Smbands/p/11415727.html
總結(jié)
以上是生活随笔為你收集整理的Nginx的应用之动静分离的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 概率论与数理统计浙大第五版 第一章 部分
- 下一篇: APP技巧:微信10个实用小技巧,太实用