Nginx负载均衡+反向代理+发布静态资源常用配置模板

本文介绍了Nginx的配置模板,包括设置worker_processes、gzip压缩、负载均衡以及反向代理。通过upstream模块实现对Tomcat服务器的负载均衡,并通过location块进行前端项目的发布与后端API的反向代理,解决跨域问题。同时,还展示了如何发布静态资源并开启nginx的工作状态监控。
摘要由CSDN通过智能技术生成
Nginx配置模板

nginx.conf

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;

worker_processes auto; #启动进程
error_log /var/log/nginx/error.log; #全局错误日志
pid /run/nginx.pid; #PID文件

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;


events {
    worker_connections 1024; #单个后台worker process进程的最大并发链接数
}

http {
    include   mime.types;
    default_type  application/octet-stream;
	# 启用gzip压缩来减轻服务器带宽
    gzip on; 
    gzip_min_length 1k; 
    gzip_buffers    4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 6; #设置数据的压缩等级,等级为1-9,压缩比从小到大
    gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml; #设置需要压缩的数据格式
    gzip_vary on;

  # 实现tomcat服务器的负载均衡
    upstream tomcat_server {
        server <IP>:8887;
        server <IP>:8888;
        server <IP>:8889;
    }
    server {
        listen 80;
        server_name localhost;

        location / {
        proxy_pass http://tomcat_server; #代理路径
        proxy_redirect off;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_next_upstream http_502 http_504 error timeout invalid_header;
        }
    }

    # 发布前端项目并反向代理后端api
    server {
        listen 8081;
        server_name  localhost;

        location / {
            root /usr/share/nginx/xxxx/xxxx; #定义前端项目根目录位置;
            index index.html; 
            error_page 404 /index.html; 
        }
        
        # 反向代理后端api,解决跨域问题
        location /api {
            rewrite ^/api/(.*)$ /$1 break; #重定向
            proxy_pass http://localhost:80/; # 实际后端服务地址
        } 
    }

    # 发布静态资源
    server {
        listen 8082;
        server_name  localhost;
        charset utf-8;
        root /usr/share/nginx/xxxx/xxxx; #定义静态资源文件根目录位置;

        location / {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
            add_header 'Access-Control-Allow-Headers' 'Content-Type';
            autoindex on;# 显示目录
            autoindex_exact_size on;# 显示文件大小
            autoindex_localtime on;# 显示文件时间

			# 注意:只做文件服务(只提供文件下载功能)时,下面两个指令最好加上;但如果需要在线预览mp4视频的话就需要注释掉
            default_type  'application/octet-stream';
            add_header Content-disposition "attachment";
        }
    }
    
}

小贴士:可以通过stub_status on模块开启nginx工作状态(监控)

      server {
        listen xxxx;
        server_name xxxx;
        ......
        ......
        location /status { 
          stub_status on;
        }
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭建華

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值