Nginx 是高效能的 HTTP 和反向代理的伺服器,處理高並行能力是十分強大的,能經受高負載的考驗,有報告表
明能支援高達 50,000 個並行連線數。
正向代理
:需要在使用者端設定代理伺服器進行指定網站存取。(使用者端設定)反向代理
:暴露的是代理伺服器地址,隱藏了真實伺服器 IP 地址。(伺服器端設定)負載均衡
:增加伺服器的數量,然後將請求分發到各個伺服器上,將原先請求集中到單個伺服器上的情況改為將請求分發到多個伺服器上,將負載分發到不同的伺服器動靜分離
:後臺應用的靜態資源與動態資源分開部署。# ls
nginx-1.12.2.tar.gz
pcre-8.37.tar.gz
1)tar –xvf pcre-8.37.tar.gz
2)./configure
3) make && make install
`檢查版本`pcre-config -version
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
1)tar –xvf nginx-1.12.2.tar.gz
2)./configure
3) make && make install
`檢查版本`cd /usr/local/nginx/sbin
./nginx -v
./nginx
./nginx -v
./nginx
./nginx -s stop
./nginx -s reload
位置
:/usr/local/nginx/conf/nginx.conf
全域性塊
:設定伺服器整體執行的設定指令,比如 worker_processes 1; 處理並行數的設定#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events塊
:影響 Nginx伺服器與使用者的網路連線。比如 worker_connections 1024; 支援的最大連線數為 1024events {
worker_connections 1024;
}
http塊
:http 全域性塊+sever塊http {
include mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://192.168.22.203:8080/;
}
}
路徑優先順序:(location =/index)>(location /xxx/xxx/xxx)>(location ^~/xxx)>(location ~/xxx)
=(location ~*.[jpg|png|gif])>( location /)
location =/index {
#精準匹配,只匹配當前路徑
}
location /xxx/xxx/xxx {
#通用匹配,匹配/xxx開頭的所有路徑
}
location ^~/xxx {
#正則匹配,匹配/xxx開頭的所有路徑
}
location ~/xxx {
#匹配開頭路徑,匹配/xxx開頭的所有路徑
}
location ~*\.[jpg|png|gif] {
#匹配結尾,匹配/xxx開頭的所有路徑
}
upstream my-server{
server 192.168.22.203:8080;
server 192.168.22.203:8081;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://my-server/;
}
}
均衡策略
upstream my-server{
server 192.168.22.203:8080;
server 192.168.22.203:8081;
}
upstream my-server{
server 192.168.22.203:8080 weight=10;
server 192.168.22.203:8081 weight=2;
}
upstream my-server{
ip_hash;
server 192.168.22.203:8080;
server 192.168.22.203:8081;
}
location / {
proxy_pass 路徑;
}
location / {
root 靜態資源路徑;
index 預設存取路徑下的資源;
autoindex on;#展示靜態資源的全部內容,以列表顯示展開
}