当前位置: 首页 >> Nginx >> 【配置】使用Nginx反向代理tomcat服务器 >> 正文

【配置】使用Nginx反向代理tomcat服务器

2022年12月08日 06:43:25    作者:Jiaozn    分类:Nginx     评论(0)

初始配置

#负载均衡配置,这里可以添加多个server,weight为权重,如果添加多个,注意分布式session的处理
upstream backend {
        server localhost:8080 weight=1;
}
server {
    listen 80;
    server_name  cc520.me ;
    location / {
        proxy_pass http://backend;   #来自jsp请求交给tomcat处理
        proxy_redirect off;
        proxy_set_header Host $host;    #后端的Web服务器可以通过X-Forwarded-For>获取用户真实IP
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size 10m;   #允许客户端请求的最大单文件字节数
        client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数
        proxy_connect_timeout 90;   #nginx跟后端服务器连接超时时间(代理连接超时)
        proxy_read_timeout 90;      #连接成功后,后端服务器响应时间(代理接收超时)
        proxy_buffer_size 4k;       #设置代理服务器(nginx)保存用户头信息的缓冲区大小
        proxy_buffers 6 32k;        #proxy_buffers缓冲区,网页平均在32k以下的话>,这样设置
        proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
        proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
    }
}



#创建存放nginx缓存目录
mkdir /data/nginx/cache

设置缓存

#levels设置目录层次 keys_zone设置缓存名字和共享内存大小 inactive在指定时间内没人访则被删除在这里是1天 max_size最大缓存空间
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=cache_one:10m inactive=1d max_size=1G;

upstream backend {
        server localhost:8080 weight=1;
}

server {
    listen 80;
    server_name  cc520.me ;
    location / {
        proxy_pass http://backend;   #来自jsp请求交给tomcat处理
        proxy_redirect off;
        proxy_set_header Host $host;    #后端的Web服务器可以通过X-Forwarded-For>获取用户真实IP
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size 10m;   #允许客户端请求的最大单文件字节数
        client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数
        proxy_connect_timeout 90;   #nginx跟后端服务器连接超时时间(代理连接超时)
        proxy_read_timeout 90;      #连接成功后,后端服务器响应时间(代理接收超时)
        proxy_buffer_size 4k;       #设置代理服务器(nginx)保存用户头信息的缓冲区大小
        proxy_buffers 6 32k;        #proxy_buffers缓冲区,网页平均在32k以下的话>,这样设置
        proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
        proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
    }
}

#这里配置的需要缓存的静态资源后缀名
location ~* "\.(jpg|jpeg|png|gif|html|css|js|woff2|woff|map)?$" {
        proxy_pass http://backend;
        proxy_cache cache_one;
        proxy_cache_valid 200 24h; #200状态缓存24小时
        proxy_cache_valid 302 10m; #302状态缓存10分钟
        add_header X-Cache-Status $upstream_cache_status; #在http头部增加一个字段显示是否命中缓存
}


动态资源和静态资源分离配置

location ~ "\.(jsp|do)$" { #当请求的是jsp或do文件时直接到tomcat上去取

}


Nginx gzip配置

#进入下面第一次创建的子配置文件夹

cd ${user.nginx.path}/conf/conf.h

vim gzip.conf

#gzip压缩功能设置
    gzip on; #开启Gzip
    gzip_min_length 1k; #不压缩临界值,大于1K的才压缩,一般不用改
    gzip_buffers    4 16k; #缓冲
    gzip_http_version 1.0; #用了反向代理的话,末端通信是HTTP/1.0,有需求的应该也不用看我这科普文了;有这句的话注释了就行了,默认是HTTP/1.1
    gzip_comp_level 2; #压缩级别,1-10,数字越大压缩的越好,时间也越长,看心情随便改吧
    gzip_types text/plain application/x-javascript text/css application/xml application/javascript application/x-font-woff image/jpeg image/gif image/png;进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了
    gzip_vary on;跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding"
    gzip_disable "MSIE [1-6]\.";#IE6对Gzip不怎么友好,不给它Gzip了


除非注明,发表在“Jiaozn的博客”的文章『【配置】使用Nginx反向代理tomcat服务器』版权归Jiaozn所有。 转载请注明出处为“本文转载于『Jiaozn的博客』原地址https://jiaozn.com/reed/844.html

评论

发表评论   

昵称*

E-mail*

网站