N年前Nginx 負載平衡在金山逍遙網中的應用
在金山逍遙網中,前端負載平衡伺服器採用的是Nginx,兩台Nginx伺服器為一組,承擔多種類型的負載平衡服務,兩台負載平衡伺服器均處於活動狀態,各自綁定一個公網虛擬IP,作為負載平衡伺服器,當其中一個發生故障時,另一台接管發生故障伺服器的虛擬IP。設定nginx.conf程式碼如下
程式碼:
user www www; work_processes 8; error_log /data1/logs/nginx_error.log crit; pid /usr/local/webserver/nginx/nginx.pid;#specifies the value for maximum file descriptors that can be opened by this process worker_rlimit_nofile 51200events { use epoll; worker_connections 51200; } http { include mine.types; default_type application/octet-strem; #charset utf-8 server_names_hash_bucket_size 128k; client_header_buffer_size 32k; large_client_header_buffers 432k; sendfile on; #tcp_nopush on; keepalive_timeout 30; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 464k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers 416k; gzip_http_version 1.1 gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; limit_zone anti_attack $binary_remote_addr10m; #允许客户端请求的最大单文件字节数client_max_body_size 300m; #缓冲区代理缓冲用户端的最大字节数 可以理解为现存到本地再传给用户client_body_size 128k; #跟后端服务器连接的超时时间_发起握手等候响应超时时间proxy_connect_time 600; #连接成功后_等待后端服务器响应时间_其实已经进入后端的派对等候处理proxy_read_timeout 600; #后端回传时间_规定时间内传完所有数据proxy_send_timeout 600; #代理请求缓存区,保存用户的头信息以供Nginx进行规则处理proxy_buffer_size 16k; proxy_buffers 432k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;#缓存proxy_temp_path /data2/proxy_temp_path; proxy_cache_path /data2/proxy_cache_path levels=1:2 keys_z>200m inactive=1d max_size=5; upstream myserver_pool{ server xx.xx.xx.1:80 weight=1 max_fails=2 fail_timeout=30s; server xx.xx.xx.2:80 weight=1 max_fails=2 fail_timeout=30s; server xx.xx.xx.3:80 weight=1 max_fails=2 fail_timeout=30s; } upstream php_server_pool{ server xx.xx.xx.4:80 weight=1 max_fails=2 fail_timeout=30s; server xx.xx.xx.5:80 weight=1 max_fails=2 fail_timeout=30s; server xx.xx.xx.6:80 weight=1 max_fails=2 fail_timeout=30s; server xx.xx.xx.7:80 weight=1 max_fails=2 fail_timeout=30s; server xx.xx.xx.8:80 weight=1 max_fails=2 fail_timeout=30s; } upstream bbs_server_pool{ ip=hash; server xx.xx.xx.9:80 max_fails=2 fail_timeout=30s; server xx.xx.xx.10:80 max_fails=2 fail_timeout=30s; server xx.xx.xx.11:80 max_fails=2 fail_timeout=30s; server xx.xx.xx.12:80 max_fails=2 fail_timeout=30s; } upstream cms_server_pool{ server xx.xx.xx.13:80 weight=1 max_fails=2 fail_timeout=30s; server xx.xx.xx.14:80 weight=1 max_fails=2 fail_timeout=30s; } upstream pic_server_pool{ server xx.xx.xx.15:80 weight=1 max_fails=2 fail_timeout=30s; server xx.xx.xx.16:80 weight=1 max_fails=2 fail_timeout=30s; } upstream xoyohimsg_server_pool{ server xx.xx.xx.17:3245; server xx.xx.xx.18:3245 down; }#xoyo.com域名调转到www.xoyo.com server { listen 80; server_name xiyo.com; rewrite ^/(.*) http:xoyo.com/ permanent; acces_log /data1/logs/xoyo.com_access.log; }#用户中心HTTP/SSL加密浏览server { listen 443; server_name my.xoyo.com ssl on; ssl_cretificate my.xoyo.com.crt; ssl_cretificate_key my.xoyo.com.key; location / { proxy_pass http://php_server_pool; proxy_set_header Host my.xoyo.com; proxy_set_header X-Forward-For $remote_addr; } access_log /data1/logs/my.xoyo.com_access.log; }#图片服务器,不同的路径访问后端不同的服务器server { listen 80; server_name pic.xoyo.com; location /cms/ { proxy_pass http://cms_server_pool; proxy_set_header Host pic.xoyo.com; proxy_set_header X-Forward-For $remote_addr; } access_log /data1/logs/pic.xoyo.com_access.log; }#音频电台文件下载,进行简单防盗链#limit_zone media %binary_remote_addr 10m;server { listen 80; server_name media.xoyo.com; location / { proxy_pass http://cms_server_pool; proxy_set_header Host $host; proxy_set_header X-Forward-For $remote_addr; valid_reference nine blocked www.xoyo.com *.xoyo.com www.kingsoft.com *.kingsoft.com www.kingsoft.cn *.kingsoft.cn;if ($invalid_referers){ rewrite ^/ http://www.xoyo.com; } } access_log /data1/logs/media.xoyo.com_access.log; }#“逍遥有聊”WebIM产品的负载均衡,反向代理两种HTTP服务器server { listen 80; server_name hi.xoyo.com;#反向代理一款定制开发的高性能消息队列HTTP服务器location /recmessage.xoyo { proxy_pass http://xoyohimsg_server_pool; proxy_set_header Host $host; } location / { proxy_pass http://php_server_pool; proxy_set_header Host $host; proxy_set_header X-Forward-For $remote_addr; } access_log /data1/logs/hi.xoyo.com_access.log; #论坛负载均衡并对图片、Flash、JavaScript、CSS、静态HTML进行Web缓存server { listen 80; server_name bbs.xoyo.com *.bbs.xoyo.com bbs.xoyo.kingsoft.com; location / { proxy_pass http://bbs_server_pool; proxy_set_header Host $host; proxy_set_header X-Forward-For $remote_addr; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|html|shtml)$ { proxy_cache cache_one; proxy_cache_valid 20010m; proxy_cache_valid 3041m; proxy_cache_valid 301302 ih; proxy_cache_valid any 1m; proxy_cache_key $host$uri$is_args$args; proxy_set_header Host $host; proxy_set_header X-Forward-For $remote_addr; proxy_pass http://bbs_server_pool; } log_format bbs ' $remote_addr $host $remote_user [$time_local] "$request"''"$status" $body_bytes_sent "$http_referer"''"$http_user_agent" "$http_x_forwarded_for"'; access_log /data1/logs/bbs.xoyo.com_access.log bbs; }#论坛附件反向代理,限制下载速度为256k/秒server{ listen 80; server_name att03.bbs.xoyo.com att02.bbs.xoyo.com att01.bbs.xoyo.com; location /{#限制下载速度为256k/slimit_rate 256k; proxy_pass http://xx.xx.xx.19; proxy_set_header Host $host; proxy_set_header X-Forward-For $remote_addr; } access_log off; }#逍遥江湖SNS社区,管理后台定位到一台服务器上,并对图片,flash,javascript,CSS进行web缓存 server { listen 80; server_name hu.xoyo.com *.hu.xoyo.com; location / { proxy_pass http://php_server_pool; proxy_set_header Host $host; proxy_set_header X-Forward-For $remote_addr; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ { proxy_cache cache_one; proxy_cache_valid 20010m; proxy_cache_valid 3041m; proxy_cache_valid 301302 ih; proxy_cache_valid any 1m; proxy_cache_key $host$uri$is_args$args; proxy_set_header Host $host; proxy_set_header X-Forward-For $remote_addr; proxy_pass http://php_server_pool; } location ~ ^/admincp.php { proxy_set_header Host $host; proxy_set_header X-Forward-For $remote_addr; proxy_pass http://xx.xx.xx.4; } access_log /data1/logs/hu.xoyo.com_accsee.log; } }
版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。
以上介紹了N年前Nginx 負載平衡在金山逍遙網中的應用,包括了方面的內容,更多相關內容請關注PHP中文網(www.php.cn)!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何在 Windows 中配置 Nginx?安裝 Nginx 並創建虛擬主機配置。修改主配置文件並包含虛擬主機配置。啟動或重新加載 Nginx。測試配置並查看網站。選擇性啟用 SSL 並配置 SSL 證書。選擇性設置防火牆允許 80 和 443 端口流量。

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

確認 Nginx 是否啟動的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 檢查端口 80 是否開放;3. 查看系統日誌中 Nginx 啟動消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

在 Docker 中創建容器: 1. 拉取鏡像: docker pull [鏡像名] 2. 創建容器: docker run [選項] [鏡像名] [命令] 3. 啟動容器: docker start [容器名]

在雲服務器上配置 Nginx 域名的方法:創建 A 記錄,指向雲服務器的公共 IP 地址。在 Nginx 配置文件中添加虛擬主機塊,指定偵聽端口、域名和網站根目錄。重啟 Nginx 以應用更改。訪問域名測試配置。其他注意事項:安裝 SSL 證書啟用 HTTPS、確保防火牆允許 80 端口流量、等待 DNS 解析生效。

可以查詢 Nginx 版本的方法有:使用 nginx -v 命令;查看 nginx.conf 文件中的 version 指令;打開 Nginx 錯誤頁,查看頁面的標題。

當 Nginx 服務器宕機時,可執行以下故障排除步驟:檢查 nginx 進程是否正在運行。查看錯誤日誌以獲取錯誤消息。檢查 nginx 配置語法正確性。確保 nginx 具有訪問文件所需的權限。檢查文件描述符打開限制。確認 nginx 正在偵聽正確的端口。添加防火牆規則以允許nginx流量。檢查反向代理設置,包括後端服務器可用性。如需進一步幫助,請聯繫技術支持。
