後端開發之Nginx篇 Nginx高階

2021-10-03 10:36:54 字數 2242 閱讀 6417

我們之前使用tomcat作為web容器裝載前後端服務時,我們使用的是springboot的cors來解決跨域的問題,然而當我們使用nginx來請求後端server所對映的靜態資源時,同樣存在跨域的安全性,這就需要我們在

nginx中設定跨域

server
其實上面配置的和我們在springboot上面配置差不多:

package com.imooc.config;

import org.springframework.context.annotation.bean;

import org.springframework.context.annotation.configuration;

import org.springframework.web.cors.corsconfiguration;

import org.springframework.web.cors.urlbasedcorsconfigurationsource;

import org.springframework.web.filter.corsfilter;

@configuration

public

class

corsconfig

@bean

public corsfilter corsfilter()

}

防止別的機器盜用我們的靜態資源鏈結,因為當別人知道了我們的靜態資源鏈結後可以直接使用鏈結來展示,這樣就會增加我們靜態資源所在機器的記憶體壓力,想要避免這種情況可以在nginx中新增防盜煉配置,使得即使別人知道我們靜態資源鏈結時,也無法請求到內容。

server 

}

通常情況下預設是輪詢這種方式

當然如果你在具體的server後面新增了weight=?這個引數的話將啟動權重的方式來選擇相應的伺服器

upstream main 

server

}

upstream main 

...

upstream main 

...

upstream main
#worker程序數也是和這個引數有關係,當沒有使用共享記憶體時這個引數將作用到每個worker程序上

worker_processes 2;

upstream main

upstream main
upstream main
# 則代表在15秒內請求某一server失敗達到2次後,則認為該server已經掛了或者宕機了,隨後再過15秒,這15秒內不會有新的請求到達剛剛掛掉的節點上,而是會請求到正常運作的server,15秒後會再有新請求嘗試連線掛掉的server,如果還是失敗,重複上一過程,直到恢復。

max_fails=2 fail_timeout15s;

upstream main 

server

}

瀏覽器快取: 加速使用者訪問,提公升單個使用者體驗,快取在本地(主要是一些靜態檔案,css/js/html/**類檔案等)

nginx快取:

控制瀏覽器快取:

location /files 

# keys_zone 設定共享記憶體空間名稱以及占用空間大小

# max_size 設定快取大小

# inactive 超時清理的時間長度

# use_temp_path 是否使用臨時目錄,開啟會影響nginx的效能

proxy_cache_path /usr/local/nginx/upstream_cache keys_zone=mychache:5m max_size=1g inactive=1m use_temp_path=off;

locatin /

}

重啟nginx

現在後端伺服器內網ip是13.141.1.271,而兩個二級網域名稱都被解析到nginx所在的機器上了

upstream api.doudou.com 

server

}# 將前端專案**放在/home/website/frontend目錄下

server

}

後端開發之Redis篇 分布式會話

會話session代表的是客戶端與伺服器的一次互動過程,這個過程可以是連續也可以是時斷時續。曾經在servlet時代 jsp 一旦使用者與服務端互動,伺服器tomcat就會為使用者建立乙個session,同時前段會有乙個jsessionid,每次互動都會攜帶。如此一來,伺服器只要在接到使用者請求時候...

前端開發 nginx篇

mac上搭建nginx教程 通過homebrew 安裝nginxbrew install nginx 配置 新增配置檔案在 usr local etc nginx servers目錄下 一般都是修改 usr local etc nginx目錄下nginx.conf 檔案,後來發現nginx.conf...

NGINX之安裝篇

今天開始我們一步一步在乙個純淨系統搭建乙個nginx執行環境並進行相關配置.環境搭建 首先要有乙個linux環境,這裡我們使用金山網遊伺服器普遍使用的linux版本centos.centos是基於redhat enterprise linux源 重新編譯並去除redhat徽標的產物。centos完全...