Java-Nginx基礎
1. 什麼是 Nginx?
Nginx是一款高效能的HTTP伺服器,其特點是佔有記憶體少,併發能力強,負載均衡、反向代理、處理靜態檔案優勢大,通常配合Tomcat使用實現動靜分離
2. Dokcer 配置 Nginx
docker中的nginx配置檔案對應位置
- /etc/nginx/nginx.conf 主配置檔案,全域性塊、events塊、http塊
- /etc/nginx/conf.d 資料夾下的所有附加配置檔案,可以單獨配置sever塊
docker配置nginx方法
- 建立對映目錄,獲取nginx.conf檔案,此檔案中包含server配置
mkdir -p /home/app/nginx/{conf,conf.d,html,logs}
cd /home/app/nginx/conf
wget https://trac.nginx.org/nginx/export/HEAD/nginx/conf/nginx.conf
- 啟動容器,對映相關目錄和配置檔案
docker run --privileged=true --name mynginx -p 80:80 \
-v /home/app/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/app/nginx/conf.d:/etc/nginx/conf.d \
-v /home/app/nginx/logs:/var/log/nginx \
-v /home/app/nginx/html:/usr/share/nginx/html \
-d nginx:latest
3. 負載均衡
假設後臺伺服器如下
- 反向代理nginx伺服器:xxx.xxx.xxx.xxx:80 www.codfish.com
- 後臺tomcat伺服器:127.0.0.1:8080;127.0.0.1:8081;127.0.0.1:8082
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream tomcats {
ip_hash;
server xxx.xxx.xxx.xxx:8080;
server xxx.xxx.xxx.xxx:8081;
server xxx.xxx.xxx.xxx:8082;
}
server {
listen 80;
server_name www.codfish.com;
location / {
proxy_pass http://tomcats;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
- 輪詢:請求按照時間順序分配到不同的伺服器上,預設方式
- 權重:按重要性合理分配各伺服器權重,weight=?
- ip雜湊:根據訪問ip的hash結果分配固定伺服器,ip_hash
- 最少連線:將請求優先分配到連線數最少的伺服器上,least_conn
- fair:按後端伺服器的響應時間來分配請求,響應時間短的優先分配
相關文章
- 【FPGA基礎】Latch基礎FPGA
- Java基礎-語法基礎Java
- Pandas 基礎 (2) - Dataframe 基礎
- 前端基礎之jQuery基礎前端jQuery
- [今日白學]元件的基礎的基礎的基礎元件
- 【web前端基礎 | JS基礎】物件Web前端JS物件
- scala基礎語法-----Spark基礎Spark
- Java基礎-物件導向基礎Java物件
- 【基礎篇索引】索引基礎(四)索引
- 【基礎篇索引】索引基礎(三)索引
- 【基礎篇索引】索引基礎(二)索引
- 【基礎篇索引】索引基礎(一)索引
- python基礎中的基礎Python
- 基礎
- JavaScript 基礎卷(一):基礎語法JavaScript
- 前端基礎入門四(JavaScript基礎)前端JavaScript
- 測試基礎(四)Jmeter基礎使用JMeter
- Python基礎:語法基礎(3)Python
- ASM常用基礎管理命令[ASM基礎]ASM
- 【Java基礎】--深入剖析基礎語法Java
- 【Vim】基礎之基礎——指尖的舞蹈
- 基礎表-底表-基礎資料
- Go 基礎教程--2-基礎知識Go
- Web測試基礎-Html基礎知識WebHTML
- Linux基礎學習——檔案基礎Linux
- 多執行緒基礎-基礎實現執行緒
- c#基礎-基礎-16.stringC#
- Golang 基礎之基礎語法梳理 (三)Golang
- 網路程式設計基礎-socket基礎程式設計
- WiFi基礎(六):天線基礎知識WiFi
- Python基礎篇-Python基礎01Python
- React基礎React
- Flask基礎Flask
- PHP 基礎PHP
- bash基礎
- Git 基礎Git
- go 基礎Go
- 基礎題