自己看的
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
proxy_cache_path /tmp/lobby_cache levels=1:2 keys_zone=lobby_cache:128m max_size=10g inactive=3s; #秒數參考server 設定
proxy_cache_path /tmp/web_cache levels=1:2 keys_zone=web_cache:128m max_size=10g inactive=300s; #秒數 看多久想更新一次
include mime.types;
default_type application/octet-stream;
upstream backend_lobby {
server 2b.jump32978.com max_fails=1 fail_timeout=1s weight=10; #錯誤一次會進入休眠狀態10秒
server 2b.jump32978.com max_fails=1 fail_timeout=1s weight=10;
}
upstream backend_bet {
server 2b.jump32978.com max_fails=1 fail_timeout=1s weight=10; #錯誤一次會進入休眠狀態10秒
server 2b.jump32978.com max_fails=1 fail_timeout=1s weight=10;
}
upstream backend_web {
server 2b.jump32978.com:80; #錯誤一次會進入休眠狀態10秒
}
server { #拿來cache 盤面
listen 8081;
#server_name example.org www.example.org; #可以指定要服務什麼domain
server_name ngbet.hippoooo888.com; #全部服務...
add_header 'Access-Control-Allow-Origin' '*'; #允許所有來源訪問
add_header 'Access-Control-Allow-Methods' 'POST'; #允許所有方式訪問,可改成只有POST
proxy_cache_lock on; #確保同時只會發一個Request到後端
proxy_cache_lock_age 300s;
proxy_cache_lock_timeout 300s;
location / {
add_header Access-Control-Allow-Origin *;
try_files $uri @backend;
}
location @backend {
proxy_pass http://backend_lobby;
proxy_set_header Host 2b.jump32978.com;
proxy_set_header X-Real-IP $remote_addr; #把IP送給反向代理的 server
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #把Protocol送給反向代理的 server
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; #把Protocol送給反向代理的 server
proxy_cache lobby_cache;
proxy_buffering on;
proxy_cache_methods POST; #這邊cache POST
proxy_cache_key "$request_uri|$request_body"; #需要重新設定key
proxy_buffers 8 64k;
proxy_buffer_size 128k;
proxy_cache_valid any 3s; #只保留 3s有效,要參考server 設定
proxy_cache_min_uses 1; #至少一次訪問才開啟cache功能
proxy_cache_use_stale updating; #還在更新時會勉強用舊的
proxy_cache_background_update on; #如果用了舊的,也會更新,下次用
proxy_ignore_headers Cache-Control Set-Cookie; #使用POST cache時需過濾掉這些
add_header X-Cached-Edge $upstream_cache_status;
}
}
server { #拿來轉下注
listen 8080;
server_name ngbet.hippoooo888.com;
add_header 'Access-Control-Allow-Origin' '*'; #允許所有來源訪問
add_header 'Access-Control-Allow-Methods' 'POST'; #允許所有方式訪問,可改成只有POST
location / {
add_header Access-Control-Allow-Origin *;
try_files $uri @backend;
}
location @backend {
proxy_pass http://backend_bet;
proxy_set_header Host 2b.jump32978.com;
proxy_set_header X-Real-IP $remote_addr; #把IP送給反向代理的 server
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #把Protocol送給反向代理的 server
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; #把Protocol送給反向代理的 server
proxy_ignore_headers Cache-Control Set-Cookie; #使用POST cache時需過濾掉這些
add_header X-Cached-Edge $upstream_cache_status;
}
}
server { #拿來cache 靜態資料(GET)
listen 80;
server_name ngbet.hippoooo888.com;
add_header 'Access-Control-Allow-Origin' '*'; #允許所有來源訪問
add_header 'Access-Control-Allow-Methods' 'GET,POST'; #允許所有方式訪問,可改成只有POST
proxy_cache_lock on; #確保同時只會發一個Request到後端
proxy_cache_lock_age 300s;
proxy_cache_lock_timeout 300s;
location / {
add_header Access-Control-Allow-Origin *;
try_files $uri @backend;
}
location @backend {
proxy_pass http://backend_web;
#proxy_set_header Host $host;
proxy_set_header Host 2b.jump32978.com;
proxy_set_header X-Real-IP $remote_addr; #把IP送給反向代理的 server
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #把Protocol送給反向代理的 server
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; #把Protocol送給反向代理的 server
proxy_cache web_cache;
proxy_buffering on;
proxy_cache_methods GET; #這邊cache POST
proxy_cache_key "$request_uri|$request_body"; #需要重新設定key
proxy_buffers 8 64k;
proxy_buffer_size 128k;
proxy_cache_valid any 300s; #保留 300s 有效
proxy_cache_min_uses 1; #至少一次訪問才開啟cache功能
proxy_cache_use_stale updating; #還在更新時會勉強用舊的
proxy_cache_background_update on; #如果用了舊的,也會更新,下次用
proxy_ignore_headers Cache-Control Set-Cookie; #使用POST cache時需過濾掉這些
add_header X-Cached-Edge $upstream_cache_status;
}
}
}
修改的地方有
1. upstream 裡面要有 port
2. proxy_set_header Host 2b.jump32978.com; 要把 Host 加回來,才能讓後端機器 mis的設定能正常使用
3. 預計把三個 server 都改成 80 port 並綁多個 domain 來區分
2024/07/19 改成這樣,三個domain 版本
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
proxy_cache_path /tmp/lobby_cache levels=1:2 keys_zone=lobby_cache:128m max_size=10g inactive=30s; #秒數參考server 設定
proxy_cache_path /tmp/web_cache levels=1:2 keys_zone=web_cache:128m max_size=10g inactive=300s; #秒數 看多久想更新一次
include mime.types;
default_type application/octet-stream;
upstream backend_lobby {
server 103.90.13.233:80;
#server 2b.jump32978.com:80; #錯誤一次會進入休眠狀態10秒
#server 2b.jump32978.com max_fails=1 fail_timeout=1s weight=10;
}
upstream backend_bet {
server 103.90.13.233:80;
#server 2b.jump32978.com:80; #錯誤一次會進入休眠狀態10秒
#server 2b.jump32978.com max_fails=1 fail_timeout=1s weight=10;
}
upstream backend_web {
server 103.90.13.233:80;
#server 2b.jump32978.com:80; #錯誤一次會進入休眠狀態10秒
}
server { #拿來cache 盤面
listen 10080;
location / {
add_header Access-Control-Allow-Origin *;
}
}
server { #拿來cache 盤面
listen 80;
server_name nglobby.hippoooo888.com; #全部服務...
add_header 'Access-Control-Allow-Origin' '*'; #允許所有來源訪問
add_header 'Access-Control-Allow-Methods' 'POST'; #允許所有方式訪問,可改成只有POST
proxy_cache_lock on; #確保同時只會發一個Request到後端
proxy_cache_lock_age 300s;
proxy_cache_lock_timeout 300s;
location / {
add_header Access-Control-Allow-Origin *;
try_files $uri @backend;
}
location @backend {
proxy_pass http://backend_lobby;
proxy_set_header Host 103.90.13.233;
#proxy_set_header Host 2b.jump32978.com;
proxy_set_header X-Real-IP $remote_addr; #把IP送給反向代理的 server
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #把Protocol送給反向代理的 server
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; #把Protocol送給反向代理的 server
proxy_cache lobby_cache;
proxy_buffering on;
proxy_cache_methods POST; #這邊cache POST
proxy_cache_key "lobby_cache$request_uri|$request_body"; #需要重新設定key
proxy_buffers 8 64k;
proxy_buffer_size 128k;
proxy_cache_valid any 30s; #只保留 3s有效,要參考server 設定
proxy_cache_min_uses 1; #至少一次訪問才開啟cache功能
proxy_cache_use_stale updating; #還在更新時會勉強用舊的
proxy_cache_background_update on; #如果用了舊的,也會更新,下次用
proxy_ignore_headers Cache-Control Set-Cookie; #使用POST cache時需過濾掉這些
add_header X-Cached-Edge "LOBBY | $upstream_cache_status";
}
}
server { #拿來轉下注
listen 80;
server_name ngbet.hippoooo888.com;
add_header 'Access-Control-Allow-Origin' '*'; #允許所有來源訪問
add_header 'Access-Control-Allow-Methods' 'POST'; #允許所有方式訪問,可改成只有POST
location / {
add_header Access-Control-Allow-Origin *;
try_files $uri @backend;
}
location @backend {
proxy_pass http://backend_bet;
proxy_set_header Host 103.90.13.233;
#proxy_set_header Host 2b.jump32978.com;
proxy_set_header X-Real-IP $remote_addr; #把IP送給反向代理的 server
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #把Protocol送給反向代理的 server
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; #把Protocol送給反向代理的 server
proxy_ignore_headers Cache-Control Set-Cookie; #使用POST cache時需過濾掉這些
add_header X-Cached-Edge "BET";
}
}
server { #拿來cache 靜態資料(GET)
listen 80;
server_name ngweb.hippoooo888.com;
add_header 'Access-Control-Allow-Origin' '*'; #允許所有來源訪問
add_header 'Access-Control-Allow-Methods' 'GET,POST'; #允許所有方式訪問,可改成只有POST
proxy_cache_lock on; #確保同時只會發一個Request到後端
proxy_cache_lock_age 300s;
proxy_cache_lock_timeout 300s;
location / {
add_header Access-Control-Allow-Origin *;
try_files $uri @backend;
}
location @backend {
proxy_pass http://backend_web;
#proxy_set_header Host ngweb.hippoooo888.com;
proxy_set_header Host 103.90.13.233;
#proxy_set_header Host 2b.jump32978.com;
proxy_set_header X-Real-IP $remote_addr; #把IP送給反向代理的 server
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #把Protocol送給反向代理的 server
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; #把Protocol送給反向代理的 server
proxy_cache web_cache;
proxy_buffering on;
proxy_cache_methods GET HEAD POST; #這邊cache POST
proxy_cache_key "web_cache$request_uri|$request_body"; #需要重新設定key
proxy_buffers 8 64k;
proxy_buffer_size 128k;
proxy_cache_valid any 300s; #保留 300s 有效
proxy_cache_min_uses 1; #至少一次訪問才開啟cache功能
proxy_cache_use_stale updating; #還在更新時會勉強用舊的
proxy_cache_background_update on; #如果用了舊的,也會更新,下次用
proxy_ignore_headers Cache-Control Set-Cookie; #使用POST cache時需過濾掉這些
add_header X-Cached-Edge "WEB | $upstream_cache_status";
}
}
}
目前測試可以使用了,但是發現會員端有蠻多功能需要即時反應的
- simon 說滾球5秒內,單式其實可以30秒,所以需要分開
- 分析一下有哪些功能可以cache 有哪些需要即時一點(1s ),或者不要cache
2024/08/21 備份BBO 在AWS 上使用的版本
[ba566@ip-172-31-3-26 ~]$ cat /usr/local/nginx/conf/nginx.conf
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
proxy_cache_path /tmp/lobby_cache levels=1:2 keys_zone=lobby_cache:128m max_size=10g inactive=30s; #秒數參考server 設定
proxy_cache_path /tmp/web_cache levels=1:2 keys_zone=web_cache:128m max_size=10g inactive=300s; #秒數 看多久想更新一次
include mime.types;
default_type application/octet-stream;
upstream backend_lobby {
server 103.90.13.233:80;
#server 2b.jump32978.com:80; #錯誤一次會進入休眠狀態10秒
#server 2b.jump32978.com max_fails=1 fail_timeout=1s weight=10;
}
upstream backend_bet {
server 103.90.13.233:80;
#server 2b.jump32978.com:80; #錯誤一次會進入休眠狀態10秒
#server 2b.jump32978.com max_fails=1 fail_timeout=1s weight=10;
}
upstream backend_web {
server 103.90.13.233:80;
#server 2b.jump32978.com:80; #錯誤一次會進入休眠狀態10秒
}
server { #拿來cache 盤面
listen 10080;
location / {
add_header Access-Control-Allow-Origin *;
}
}
server { #拿來cache 盤面
listen 80;
server_name nglobby.hippoooo888.com; #全部服務...
add_header 'Access-Control-Allow-Origin' '*'; #允許所有來源訪問
add_header 'Access-Control-Allow-Methods' 'POST'; #允許所有方式訪問,可改成只有POST
proxy_cache_lock on; #確保同時只會發一個Request到後端
proxy_cache_lock_age 300s;
proxy_cache_lock_timeout 300s;
location / {
add_header Access-Control-Allow-Origin *;
try_files $uri @backend;
}
location @backend {
proxy_pass http://backend_lobby;
proxy_set_header Host 103.90.13.233;
#proxy_set_header Host 2b.jump32978.com;
proxy_set_header X-Real-IP $remote_addr; #把IP送給反向代理的 server
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #把Protocol送給反向代理的 server
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; #把Protocol送給反向代理的 server
proxy_cache lobby_cache;
proxy_buffering on;
proxy_cache_methods POST; #這邊cache POST
proxy_cache_key "lobby_cache$request_uri|$request_body"; #需要重新設定key
proxy_buffers 8 64k;
proxy_buffer_size 128k;
proxy_cache_valid any 30s; #只保留 3s有效,要參考server 設定
proxy_cache_min_uses 1; #至少一次訪問才開啟cache功能
proxy_cache_use_stale updating; #還在更新時會勉強用舊的
proxy_cache_background_update on; #如果用了舊的,也會更新,下次用
proxy_ignore_headers Cache-Control Set-Cookie; #使用POST cache時需過濾掉這些
add_header X-Cached-Edge "LOBBY | $upstream_cache_status";
}
}
server { #拿來轉下注
listen 80;
server_name ngbet.hippoooo888.com;
add_header 'Access-Control-Allow-Origin' '*'; #允許所有來源訪問
add_header 'Access-Control-Allow-Methods' 'POST'; #允許所有方式訪問,可改成只有POST
location / {
add_header Access-Control-Allow-Origin *;
try_files $uri @backend;
}
location @backend {
proxy_pass http://backend_bet;
proxy_set_header Host 103.90.13.233;
#proxy_set_header Host 2b.jump32978.com;
proxy_set_header X-Real-IP $remote_addr; #把IP送給反向代理的 server
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #把Protocol送給反向代理的 server
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; #把Protocol送給反向代理的 server
proxy_ignore_headers Cache-Control Set-Cookie; #使用POST cache時需過濾掉這些
add_header X-Cached-Edge "BET";
}
}
server { #拿來cache 靜態資料(GET)
listen 80;
server_name ngweb.hippoooo888.com;
add_header 'Access-Control-Allow-Origin' '*'; #允許所有來源訪問
add_header 'Access-Control-Allow-Methods' 'GET,POST'; #允許所有方式訪問,可改成只有POST
proxy_cache_lock on; #確保同時只會發一個Request到後端
proxy_cache_lock_age 300s;
proxy_cache_lock_timeout 300s;
location / {
add_header Access-Control-Allow-Origin *;
try_files $uri @backend;
}
location @backend {
proxy_pass http://backend_web;
#proxy_set_header Host ngweb.hippoooo888.com;
proxy_set_header Host 103.90.13.233;
#proxy_set_header Host 2b.jump32978.com;
proxy_set_header X-Real-IP $remote_addr; #把IP送給反向代理的 server
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #把Protocol送給反向代理的 server
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; #把Protocol送給反向代理的 server
proxy_cache web_cache;
proxy_buffering on;
proxy_cache_methods GET HEAD POST; #這邊cache POST
proxy_cache_key "web_cache$request_uri|$request_body"; #需要重新設定key
proxy_buffers 8 64k;
proxy_buffer_size 128k;
proxy_cache_valid any 300s; #保留 300s 有效
proxy_cache_min_uses 1; #至少一次訪問才開啟cache功能
proxy_cache_use_stale updating; #還在更新時會勉強用舊的
proxy_cache_background_update on; #如果用了舊的,也會更新,下次用
proxy_ignore_headers Cache-Control Set-Cookie; #使用POST cache時需過濾掉這些
add_header X-Cached-Edge "WEB | $upstream_cache_status";
}
}
}
配套BBO測試機修改檔案