客戶端到底要將請求傳送給那一台伺服器呢;
如果所有客戶端的請求都傳送給伺服器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.confuser 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的歡迎介面了。主程序可以處...