Nginx的跨域、alias、優(yōu)化方式
更新時(shí)間:2024年08月06日 16:55:55 作者:Forever Nore
這篇文章主要介紹了Nginx的跨域、alias、優(yōu)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
root與alias
location / { alias /app/html/; index index.html index.htm; }
兩者區(qū)別:
alias
是目錄別名,root是最上層目錄的定義alias
后必須用"/"結(jié)束,不然找不到文件,root可有可無(wú)
反向代理解決跨域
- LVS:四層負(fù)載均衡,基于tcp ip和端口號(hào) 實(shí)現(xiàn)負(fù)載均衡
- Nginx:七層負(fù)載均衡,對(duì)http協(xié)議 實(shí)現(xiàn)負(fù)載均衡
nginx的優(yōu)化
基本配置優(yōu)化
- 查看CPU核數(shù)
cat /proc/cpuinfo| grep "cpu cores"| uniq
worker_processes 4 ; # 設(shè)為cpu核數(shù) 啟動(dòng)的worker進(jìn)程數(shù) events{ #設(shè)置Nginx網(wǎng)絡(luò)連接序列化 accept_mutex on; #設(shè)置Nginx的worker進(jìn)程是否可以同時(shí)接收多個(gè)請(qǐng)求 multi_accept on; #設(shè)置Nginx的worker進(jìn)程最大的連接數(shù) worker_connections 1024; #設(shè)置Nginx使用的事件驅(qū)動(dòng)模型 use epoll; } http { include mime.types; #include是引入關(guān)鍵字,這里引入了mime.types這個(gè)配置文件(同在conf目錄下,mime.types是用來(lái)定義,求返回的content-type) default_type application/octet-stream; #mime.types未定義的,使用默認(rèn)格式application/octet-stream sendfile on; # 開(kāi)啟 高效文件傳輸模式。 tcp_nopush on; #需要在 sendfile開(kāi)啟模式才有效,防止網(wǎng)路阻塞,積極的減少網(wǎng)絡(luò)報(bào)文段的數(shù)量。將響應(yīng)頭和正文的開(kāi)始部分一起發(fā)送,而不一個(gè)接一個(gè)的發(fā)送 tcp_nodelay on; #有數(shù)據(jù)隨時(shí)發(fā)送 keepalive_timeout 65; #長(zhǎng)鏈接超時(shí)時(shí)間 #一個(gè)nginx可以啟用多個(gè)server(虛擬服務(wù)器) server { listen 80;#監(jiān)聽(tīng)端口80 server_name localhost; #接收的域名 location / { root html; #根目錄指向html目錄,看下圖 index index.html index.htm; #域名/index 指向 index.html index.htm文件,看下圖 } error_page 500 502 503 504 /50x.html; # 服務(wù)器錯(cuò)誤碼為500 502 503 504,轉(zhuǎn)到"域名/50x.html" location = /50x.html { # 指定到html文件夾下找/50x.htm root html;#根目錄指向html目錄,看下圖 } } }
反向代理設(shè)置keepalive
- 轉(zhuǎn)發(fā)請(qǐng)求 提高效率
upstream backend{ server 192.168.111.101:9001; server 192.168.111.101:9002; server 192.168.111.101:9003; keepalive 300; # 300個(gè)長(zhǎng)連接,轉(zhuǎn)發(fā)請(qǐng)求效率大大提高! } server { listen 80; server_name localhost; location /{ proxy_pass http://backend; } }
壓縮
server { listen 80; server_name localhost; gzip on; gzip_buffers 32 4K; gzip_comp_level 6; gzip_min_length 100; gzip_types application/javascript text/css text/xml application/json; gzip_disable "MSIE [1-6]\."; #配置禁用gzip條件,支持正則。此處表示ie6及以下不啟用gzip(因?yàn)閕e低版本不支持) gzip_vary on; #accept-encoding gzip_static on; #如果有壓縮好的,直接使用 location / { proxy_pass http://127.0.0.1:8080; } }
配置文件內(nèi)容詳細(xì)介紹:
gzip配置的常用參數(shù)
gzip on|off
; #是否開(kāi)啟gzipgzip_buffers
32 4K| 16 8K #緩沖(壓縮在內(nèi)存中緩沖幾塊? 每塊多大?)gzip_comp_level
[1-9] #推薦6 壓縮級(jí)別(級(jí)別越高,壓的越小,越浪費(fèi)CPU計(jì)算資源)gzip_disable
#正則匹配UA 什么樣的Uri不進(jìn)行g(shù)zipgzip_min_length
200 # 開(kāi)始?jí)嚎s的最小長(zhǎng)度(再小就不要壓縮了,意義不在)gzip_http_version
1.0|1.1 # 開(kāi)始?jí)嚎s的http協(xié)議版本(可以不設(shè)置,目前幾乎全是1.1協(xié)議)gzip_proxied
# 設(shè)置請(qǐng)求者代理服務(wù)器,該如何緩存內(nèi)容gzip_types
text/plain application/xml # 對(duì)哪些類型的文件用壓縮 如txt,xml,html ,cssgzip_vary on|off
# 是否傳輸gzip壓縮標(biāo)志
緩存
# 代理緩存配置 # meitecache:256m,大小256m,失效時(shí)間1天 inactive=1d proxy_cache_path "./meite_cachedata" levels=1:2 keys_zone=meitecache:256m inactive=1d max_size=1000g; server { listen 80; server_name localhost; location /details { #使用緩存名稱 proxy_cache meitecache; #對(duì)以下?tīng)顟B(tài)碼實(shí)現(xiàn)緩存~~~~ proxy_cache_valid 200 206 304 301 302 1d; # 緩存的key--》請(qǐng)求路徑 proxy_cache_key $request_uri; add_header X-Cache-Status $upstream_cache_status; proxy_pass http://127.0.0.1:8080; index index.html index.htm; } }
操作系統(tǒng)優(yōu)化
vi /etc/sysctl.conf
- 配置內(nèi)容
# 防止一個(gè)套接字過(guò)多連接到達(dá)時(shí)引起負(fù)載 net.ipv4.tcp_syncookies=1 #默認(rèn)128,socket的監(jiān)聽(tīng)隊(duì)列,微調(diào)大 net.core.somaxconn=1024 # timeout的超時(shí)時(shí)間,調(diào)小,tcp握手時(shí)間 net.ipv4.tcp_fin_timeout=10 #os直接使用timewait的連接 net.ipv4.tcp_tw_reuse=1 #回收禁用,若開(kāi)啟---》快速回收處于 TIME_WAIT狀態(tài)的socket net.ipv4.tcp_tw_recycle=0
- 加載配置!
sysctl -p
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
Nginx反向代理中出現(xiàn)502錯(cuò)誤的解決步驟
反向代理是一種服務(wù)器代理的方式,它代理了客戶端的請(qǐng)求并將請(qǐng)求轉(zhuǎn)發(fā)給后端服務(wù)器,然后將后端服務(wù)器的響應(yīng)返回給客戶端,但經(jīng)常會(huì)遇到502錯(cuò)誤,所以本文給大家介紹了Nginx反向代理中出現(xiàn)502錯(cuò)誤的解決步驟,需要的朋友可以參考下2025-03-03nginx快速部署一個(gè)網(wǎng)站服務(wù)(多域名+多端口)
本文主要介紹了nginx快速部署一個(gè)網(wǎng)站服務(wù),并實(shí)現(xiàn)多域名和多端口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10詳解Nginx服務(wù)器的配置中開(kāi)啟文件Gzip壓縮的方法
這篇文章主要介紹了Nginx服務(wù)器的配置中開(kāi)啟文件Gzip壓縮的方法,可以對(duì)CSS和JavaScript以及各種圖片等web傳輸?shù)奈募M(jìn)行壓縮,需要的朋友可以參考下2016-01-01nginx進(jìn)行端口轉(zhuǎn)發(fā)的實(shí)現(xiàn)
本文主要介紹了nginx進(jìn)行端口轉(zhuǎn)發(fā)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Nginx+keepalived實(shí)現(xiàn)七層的負(fù)載均衡的高可用(最新解決方案)
這篇文章主要介紹了Nginx+keepalived實(shí)現(xiàn)七層的負(fù)載均衡的高可用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-03-03