Nginx 學習筆記

2021-10-11 10:21:09 字數 3465 閱讀 8980

客戶端到底要將請求傳送給那一台伺服器呢;

如果所有客戶端的請求都傳送給伺服器1,伺服器2沒有存在的意義

客戶端傳送的請求可能是動態,也可能是靜態,都是去tomcat伺服器獲取資源的

nginx是俄羅斯人研發的,目的是應對當時俄羅斯第二大**,並在2004發布第乙個版本。

nginx的特點:

使用 docker-compose安裝

version

:'3.1'

services

:nginx

:image

: daocloud.io/library/nginx:latest

restart

: always

container_name

: nginx

ports:-

80:80

關於nginx的核心配置檔案nginx.conf

user  nginx;

worker_processes 1;

error_log /var/log/nginx/error.log warn;

pid /var/run/nginx.pid;

# 以上統稱為全域性塊

# worker_processes的資料越大,nginx的併發能力越強

# error_log 代表nginx的錯誤日誌存放位置

events

# events快

# worker_connections 的數值越大,nginx的併發能力越強

# location快

# root: 將接收道德請求根據/usr/share/nginx/html去查詢靜態資源

# index: 預設去上述路徑中找index.html 或者 index.htm

}# server塊

# listen: 代表nginx監聽的埠號

# localhost: 代表nginx接收請求的ip位址

include /etc/nginx/conf.d/*.conf;

}# http塊

# include代表引入乙個外部的檔案 -> /mime.type中放著大量的**型別

# include /etc/nginx/conf.d/*.conf -> 引入了conf.d目錄下以.conf結尾的配置檔案

修改docker-compose檔案:對映資料卷方便修改nginx配置

version

:'3.1'

services

:nginx

:restart

: always

image

: daocloud.io/library/nginx:latest

container_name

: nginx

ports:-

80:80

volumes

:- /opt/docker_nginx/conf.d/:/etc/nginx/conf.d

正向**:

server

}

優先順序關係:

# 直接匹配

location = /

# 常規匹配

location /***

# 正則匹配

location ~ /***

# 匹配開頭路徑

location ^~ /images/

# 正則匹配字尾

location ~* \.(gif|png|jpeg)$

# 全部統配

location /

nginx提供了三種負載均衡策略:

nginx輪詢負載均衡機制需要在配置檔案中新增

upstream 名字 

server

}

upstream 名字 

server

}

upstream 名字 

server

}

nginx的併發能力:

worker_proces***x * worker_connections / 4|2 = nginx併發能力

動態資源需要除以四,靜態資源需要除以二(靜態資源在nginx伺服器上,動態資源在tomcat伺服器上)

nginx通過動靜分離,來提公升nginx的併發能力,更快給使用者響應。

使用proxy_pass 動態**

# 配置如下

location /

使用root**靜態資源

# 配置如下

location /

# 修改docker,新增資料卷,對映到nginx伺服器目錄

# 新增動態和靜態資源檔案;

# 修改配置,重新啟動nginx訪問測試;

防止單點故障,避免nginx宕機,導致整個程式崩潰

準備多台nginx

準備keepalived,監聽nginx狀態

準備haproxy,提供乙個虛擬的路徑,統一接收使用者請求

Nginx 學習筆記

nginx配置proxy pass 的 路徑問題 在nginx中配置proxy pass時,如果是按照 匹配路徑時,要注意proxy pass後的url最後的 當加上了 相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分 走 如果沒有 則會把匹配的路徑部分也給 走。locatio...

Nginx學習筆記

常用命令 啟動 start nginx 或者 nginx.exe 停止 nginx.exe s stop 或者 nginx.exe s quit stop是快速停止nginx,quit是完整有序的停止nginx 重啟 nginx.exe s reload 配置資訊修改使用此命令 配置 1 匹配以ro...

nginx學習筆記

mac os x 10.11.5環境 brew install nginx 即可。預設安裝目錄 usr local etc nginx。可以修改目錄下nginx.conf檔案的配置,將8080改為8081,則通過http localhost 8081訪問就可以看到nginx的歡迎介面了。主程序可以處...