配置负载均衡

本文介绍了如何通过Nginx配置前端项目的负载均衡,包括upstream块的设置和server块的配置,确保请求能够分发到不同的后端服务器stg_api2.vfinemusic.com和bro_api2.vfinemusic.com。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端项目域名配置文件

upstream backendapi {
    #ip_hash;
    server stg_api2.vfinemusic.com:8081;
    server bro_api2.vfinemusic.com:8080;
}

server {
        listen  80;
        client_max_body_size 10240M;
        server_name stg_broadmin.vfinemusic.com;

        access_log /data/logs/nginx/access_nginx.log combined;
        error_log /data/logs/nginx/error_nginx.log;
        set $root_path '/www/bro-admin/admin-system/admin/dist';
        root $root_path;

        index index.php index.html index.htm;

        try_files $uri $uri/ @rewrite;

        location @rewrite {
            rewrite ^/(.*)$ /index.php?_url=/$1;
        }

        location ~ \.php {

            #fastcgi_pass 127.0.0.1:9000;
            fastcgi_pass unix:/dev/shm/php-cgi.sock;
            fastcgi_index /index.php;

            fastcgi_split_path_info       ^(.+\.php)(/.+)$;
            fastcgi_param PATH_INFO       $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include                       fastcgi_params;
        }

        location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
            root $root_path;
        }

        location ~ /\.ht {
            deny all;
        }
        location / {
            try_files $uri $uri/ /index.html;
        }

        location /api/ {
            proxy_pass http://broapi.vfinemusic.com/;
        }
    }
server {
        listen  443 ssl;
        client_max_body_size 10240M;
        server_name stg_broadmin.vfinemusic.com;

        access_log /data/logs/nginx/access_nginx.log combined;
        error_log /data/logs/nginx/error_nginx.log;
        set $root_path '/www/bro-admin/admin-system/admin/dist';
        root $root_path;

        index index.php index.html index.htm;

        try_files $uri $uri/ @rewrite;

        location @rewrite {
            rewrite ^/(.*)$ /index.php?_url=/$1;
        }
        ssl_certificate /usr/local/openresty/nginx/ssl/vfinemusic.cer;
        ssl_certificate_key /usr/local/openresty/nginx/ssl/vfinemusic.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
       # ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;

        location ~ \.php {

            #fastcgi_pass 127.0.0.1:9000;
            fastcgi_pass unix:/dev/shm/php-cgi.sock;
            fastcgi_index /index.php;

            fastcgi_split_path_info       ^(.+\.php)(/.+)$;
            fastcgi_param PATH_INFO       $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include                       fastcgi_params;
        }

        location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
            root $root_path;
        }

        location ~ /\.ht {
            deny all;
        }
        location / {
            try_files $uri $uri/ /index.html;
        }

        location /api/ {
           # proxy_pass https://broapi.vfinemusic.com/;
            proxy_pass http://backendapi/;
        }

    }

stg_api2.vfinemusic.com域名配置文件内容

server {
        listen 8081;
        server_name stg_api2.vfinemusic.com;
        access_log /data/logs/nginx/access_nginx.log combined;
        error_log /data/logs/nginx/error_nginx.log;
        set $root_path '/www/bro-api/public';
        root $root_path;


        index index.php index.html index.htm;

        try_files $uri $uri/ @rewrite;

        location @rewrite {
            rewrite ^/(.*)$ /index.php?_url=/$1;
        }

        location ~ \.php {
            fastcgi_pass 127.0.0.1:9000;
            #fastcgi_pass unix:/dev/shm/php-cgi.sock;
            fastcgi_index /index.php;

            fastcgi_split_path_info       ^(.+\.php)(/.+)$;
            fastcgi_param PATH_INFO       $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include                       fastcgi_params;
        }

        location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
            root $root_path;
        }

        location ~ /\.ht {
            deny all;
        }
}

#server {  
#        listen  443 ssl;    
#        server_name stg_api2.vfinemusic.com;   
#       ssl_certificate     /usr/local/openresty/nginx/ssl/vfinemusic.cer;
#       ssl_certificate_key /usr/local/openresty/nginx/ssl/vfinemusic.key;
#       ssl_session_timeout 5m;
#       ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
#       ssl_prefer_server_ciphers on;
#       ssl_session_cache builtin:1000 shared:SSL:10m;
#       access_log /data/logs/nginx/access_nginx.log combined;
#        error_log /data/logs/nginx/error_nginx.log;
#       set $root_path '/www/bro-api/public';    
#        root $root_path;    
        
#        index index.php index.html index.htm;    
        
#        try_files $uri $uri/ @rewrite;    
        
#        location @rewrite {    
#            rewrite ^/(.*)$ /index.php?_url=/$1;    
#        }    
        
#        location ~ \.php {    
        
#            fastcgi_pass 127.0.0.1:9000;    
            #fastcgi_pass unix:/dev/shm/php-cgi.sock;
#           fastcgi_index /index.php;    
        
#            fastcgi_split_path_info       ^(.+\.php)(/.+)$;    
#            fastcgi_param PATH_INFO       $fastcgi_path_info;    
#            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;    
#            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    
#            include                       fastcgi_params;  
#        }    
        
#        location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {    
#            root $root_path;    
#        }    
        
#        location ~ /\.ht {    
#            deny all;    
#        }

#       location ~ ^/php-fpm_status$ {
#           fastcgi_pass unix:/dev/shm/php-cgi.sock;
#           fastcgi_index index.php;
#           fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#           include fastcgi.conf;
#       }
    
#    } 

bro_api2.vfinemusic.com域名配置文件内容

server {
        listen 8080;
        server_name bro_api2.vfinemusic.com;
        access_log /data/logs/nginx/access_nginx.log combined;
        error_log /data/logs/nginx/error_nginx.log;
        set $root_path '/www/bro-api/public';
        root $root_path;

        index index.php index.html index.htm;

        try_files $uri $uri/ @rewrite;

        location @rewrite {
            rewrite ^/(.*)$ /index.php?_url=/$1;
        }

        location ~ \.php {
            fastcgi_pass 127.0.0.1:9000;
            #fastcgi_pass unix:/dev/shm/php-cgi.sock;
            fastcgi_index /index.php;

            fastcgi_split_path_info       ^(.+\.php)(/.+)$;
            fastcgi_param PATH_INFO       $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include                       fastcgi_params;
        }

        location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
            root $root_path;
        }

        location ~ /\.ht {
            deny all;
        }
}

#server {  
#        listen  443 ssl;    
#        server_name stg_api2.vfinemusic.com;   
#       ssl_certificate     /usr/local/openresty/nginx/ssl/vfinemusic.cer;
#       ssl_certificate_key /usr/local/openresty/nginx/ssl/vfinemusic.key;
#       ssl_session_timeout 5m;
#       ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
#       ssl_prefer_server_ciphers on;
#       ssl_session_cache builtin:1000 shared:SSL:10m;
#       access_log /data/logs/nginx/access_nginx.log combined;
#        error_log /data/logs/nginx/error_nginx.log;
#       set $root_path '/www/bro-api/public';    
#        root $root_path;    
        
#        index index.php index.html index.htm;    
        
#        try_files $uri $uri/ @rewrite;    
        
#        location @rewrite {    
#            rewrite ^/(.*)$ /index.php?_url=/$1;    
#        }    
        
#        location ~ \.php {    
        
#            fastcgi_pass 127.0.0.1:9000;    
            #fastcgi_pass unix:/dev/shm/php-cgi.sock;
#           fastcgi_index /index.php;    
        
#            fastcgi_split_path_info       ^(.+\.php)(/.+)$;    
#            fastcgi_param PATH_INFO       $fastcgi_path_info;    
#            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;    
#            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    
#            include                       fastcgi_params;  
#        }    
        
#        location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {    
#            root $root_path;    
#        }    
        
#        location ~ /\.ht {    
#            deny all;    
#        }

#       location ~ ^/php-fpm_status$ {
#           fastcgi_pass unix:/dev/shm/php-cgi.sock;
#           fastcgi_index index.php;
#           fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#           include fastcgi.conf;
#       }
    
#    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值