一文帶你 GNN 從入門到起飛,做一個飯盆最穩 GNN 飯人!
動靜分離:
靜:js、html、圖片等靜態資源放在nginx中
動:伺服器需要處理的請求
正向代理:是指代理我們的ip,比如訪問谷歌訪問不了,可以使用代理
反向代理:代理伺服器的,目的是遮蔽內網伺服器資訊,負載均衡訪問
負載均衡演算法:
源地址雜湊法:根據獲取客戶端的IP地址,通過雜湊函式計算得到一個數值,用該數值對伺服器列表的大小進行取模運算,得到的結果便是客服端要訪問伺服器的序號。採用源地址雜湊法進行負載均衡,同一IP地址的客戶端,當後端伺服器列表不變時,它每次都會對映到同一臺後端伺服器進行訪問。
輪詢法:將請求按順序輪流地分配到後端伺服器上,它均衡地對待後端的每一臺伺服器,而不關心伺服器實際的連線數和當前的系統負載。
隨機法:通過系統的隨機演算法,根據後端伺服器的列表大小值來隨機選取其中的一臺伺服器進行訪問。
加權輪詢法:不同的後端伺服器可能機器的配置和當前系統的負載並不相同,因此它們的抗壓能力也不相同。給配置高、負載低的機器配置更高的權重,讓其處理更多的請;而配置低、負載高的機器,給其分配較低的權重,降低其系統負載,加權輪詢能很好地處理這一問題,並將請求順序且按照權重分配到後端。
加權隨機法:與加權輪詢法一樣,加權隨機法也根據後端機器的配置,系統的負載分配不同的權重。不同的是,它是按照權重隨機請求後端伺服器,而非順序。
最小連線數法:由於後端伺服器的配置不盡相同,對於請求的處理有快有慢,最小連線數法根據後端伺服器當前的連線情況,動態地選取其中當前積壓連線數最少的一臺伺服器來處理當前的請求,儘可能地提高後端服務的利用效率,將負責合理地分流到每一臺伺服器。
預設配置檔案:
server {
listen 80; #監聽本地80埠
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html; #訪問根路徑
index index.html index.htm;
}
[root@loaclhost conf.d]# cat gulimall.conf
server {
listen 80;
server_name gulimall.com *.gulimall.com 899kun6m0h.cdhttp.cn;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location /static/ {
root /usr/share/nginx/html;
}
location /payed/ {
proxy_set_header Host order.gulimall.com;
proxy_pass http://gulimall; #代理給上游伺服器
}
location / {
proxy_set_header Host $host;
proxy_pass http://gulimall; #代理誰
}
配置上游伺服器:
[root@loaclhost conf]# cat nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
upstream gulimall{
server 192.168.56.1:88; #閘道器服務
}
include /etc/nginx/conf.d/*.conf;
}
反向代理流程參考案例:
代理時丟host資訊的處理: