摘要:猿眼售票系統項目地址以下是我們項目的部署圖可以從上圖看到,其中后臺有臺靜態文件服務器,臺服務器,服務器儲存電影和用戶相關信息和服務器儲存和短信驗證碼。本人負責服務器的反向代理配置,將請求分發至對應的服務器,并實現多臺服務器的負載均衡。
MonkeyEye(猿眼售票系統)項目地址:
https://github.com/SYSUMonkeyEye/MonkeyEye-FE
以下是我們項目的部署圖:
可以從上圖看到,其中后臺有4臺靜態文件(Web APP)服務器,2臺API服務器,MySQL服務器(儲存電影和用戶相關信息)和Redis服務器(儲存Session和短信驗證碼)。
本人負責Nginx服務器的反向代理配置,將請求分發至對應的服務器,并實現多臺服務器的負載均衡。以下為Nginx的基本配置信息(詳細解釋請看對應注釋):
user root; # 工作進程:數目。根據硬件調整,通常等于CPU數量或者2倍于CPU。 worker_processes 4; pid /run/nginx.pid; events { # 每個工作進程的最大連接數量。根據硬件調整,和前面工作進程配合起來用。 # 每個進程允許的最多連接數,理論上每臺Nginx服務器的最大連接數為worker_processes * worker_connections。 worker_connections 768; } http { ## # Basic Settings ## # 通過IP哈希的方式將請求分配至相應的服務器 upstream static { ip_hash; server 118.89.35.155:8080 max_fails=3 fail_timeout=1000; server 127.0.0.1:5001 max_fails=3 fail_timeout=1000; } # 通過指定權重的方式將請求分配至相應的服務器 upstream backend { server 127.0.0.1:5000 weight=2 max_fails=3 fail_timeout=1000; server 123.207.233.226:1234 weight=1 max_fails=3 fail_timeout=1000; server 119.29.238.202:5000 weight=1 max_fails=3 fail_timeout=1000; server 118.89.44.14:5000 weight=1 max_fails=3 fail_timeout=1000; } server { # 配置監聽端口。 listen 8080; # 配置訪問域名。 server_name localhost; # 查看Nginx服務器狀態。 location /nginx_status { stub_status on; access_log off; # 加入訪問限制。 allow 120.236.174.171; deny all; } # 配置靜態文件(用戶頭像和電影海報)代理 location ^~ /static/images { root /root/Desktop/MonkeyEye-Server/Flask-Server/app; expires max; } location ^~ /api/users { proxy_pass http://127.0.0.1:5000/api/users; proxy_set_header Host $host; proxy_set_header X-Real_IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 傳遞HTTP頭部Set-Cookie字段。 proxy_pass_header Set-Cookie; # 禁止緩存。 proxy_buffering off; } location ^~ /api/ { # 請求轉向backend定義的服務器列表,即反向代理,對應upstream負載均衡器,也可以proxy_pass http://ip:port。 proxy_pass http://backend/api/; proxy_set_header Host $host; proxy_set_header X-Real_IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass_header Set-Cookie; proxy_buffering off; } location / { proxy_pass http://static; proxy_set_header Host $host; proxy_set_header X-Real_IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; # 緩沖區代理緩沖用戶端請求的最大字節數。 client_body_buffer_size 128k; # 設置代理服務器(Nginx)從后端服務器讀取并保存用戶頭信息的緩沖區大小,默認與proxy_buffers大小相同,其實可以將這個指令值設的小一點。 proxy_buffer_size 4k; # proxy_buffers緩沖區,Nginx針對單個連接緩存來自后端服務器的響應。 proxy_buffers 4 128k; # 當 proxy_buffers 放不下后端服務器的響應內容時,會將一部分保存到硬盤的臨時文件中,這個值用來設置最大臨時文件大小,默認1024M,它與 proxy_cache 沒有關系。大于這個值,將從upstream服務器傳回。 proxy_temp_file_write_size 256m; } } # 開啟高效文件傳輸模式,sendfile指令指定nginx是否調用sendfile函數來輸出文件,減少用戶空間到內核空間的上下文切換。 sendfile on; tcp_nopush on; tcp_nodelay on; # 長連接超時時間,單位是秒。 keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## # 日志存放路徑。 access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## # 開啟gzip壓縮輸出,減少網絡傳輸。 gzip on; gzip_disable "msie6"; # gzip壓縮比,1壓縮比最小處理速度最快,9壓縮比最大但處理速度最慢(傳輸快但比較消耗cpu)。 gzip_comp_level 6; # 設置系統獲取幾個單位的緩存用于存儲gzip的壓縮結果數據流。 gzip_buffers 16 8k; gzip_http_version 1.1; # 匹配mime類型進行壓縮。 gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript image/jpeg image/gif image/png image/jpg; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39555.html
摘要:常用的狀態有,表示當前的暫時不參與負載均衡。當負載調度算法為時,后端服務器在負載均衡調度中的狀態不能是和。 MonkeyEye(猿眼售票系統)項目地址:https://github.com/SYSUMonkeyEye/MonkeyEye-FE 反向代理概念 反向代理(Reverse Proxy)方式是指以代理服務器來接受客戶端連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上...
閱讀 2428·2021-11-23 09:51
閱讀 2457·2021-11-11 17:21
閱讀 3097·2021-09-04 16:45
閱讀 2380·2021-08-09 13:42
閱讀 2218·2019-08-29 18:39
閱讀 2879·2019-08-29 14:12
閱讀 1279·2019-08-29 13:49
閱讀 3363·2019-08-29 11:17