nginx的特點:docker-compose.yml
version
:'3.1'
services
:nginx
:restart
: always
image
: daocloud.io/library/nginx:latest
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.types中存放著大量的**型別
# include /etc/nginx/conf.d/*.conf; --> 引入了conf.d目錄下的以.conf為結尾的配置檔案
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 # 對映
資料卷對映之後,要在對應目錄/opt/docker_nginx/conf.d下建立相應的.conf檔案
正向**:正向**服務是由客戶端設立的
客戶端知道**伺服器和目標伺服器是誰
幫助突破訪問許可權,提高訪問速度,對目標伺服器隱藏客戶端的ip位址
反向**:反向**伺服器是配置在服務端的
客戶端不知道訪問的是哪一台伺服器
能達到負載均衡,並且可以隱藏伺服器真正的ip位址
準備乙個目標伺服器啟動之前的tomcat伺服器
編寫nginx的配置檔案, 通過nginx訪問到tomcat伺服器
server
}
優先順序關係:(location = )>(location /xx/yy/zz)>(location ^~)>(location ,*)>(location /起始路徑)>(location /)
# 1.
= 匹配
location =
/
# 2. 通用匹配
location /***
# 3. 正則匹配
location ~
/***
# 4. 匹配開頭路徑
nginx預設提供三種負載均衡的策略:輪詢:將客戶端發起的請求,平均分配給每一台伺服器
權重:將客戶端的請求,根據伺服器的權重值不同,分配不同的數量
只需要在配置檔案中新增如下內容
upstream 名字
server
}
在之前的基礎上,加weight
upstream 名字
server
}
第一行加上ip_hash即可
upstream 名字
server
}
nginx的併發能力公式: worker_processes * worker_connections / n = nginx最終的併發能力
對於動態資源,n=4,因為客戶端請求nginx後,nginx要再請求伺服器;
對於靜態資源,n=2,因為客戶端請求nginx後,nginx在本地若能找到資源,可以直接返回。
nginx通過動靜分離,來提公升併發能力,為使用者提供更快的響應。
# 配置如下
location /
# 配置如下
location /
# 先修改docker,新增乙個資料卷,對映到nginx伺服器的乙個目錄
# 在資料卷的路徑下新增靜態資源,如index.html和1.jpg
# 修改配置檔案,再restart
伺服器和nginx都可能出現單點故障,需要通過集群解決[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-q5bjfvsv-1613100168809)(為了避免由於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的歡迎介面了。主程序可以處...