nginx的一个配置,nginx gzip压缩,nginx静态缓存,nginx负载均衡

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: #user  nobody;worker_processes  8;error_log  logs/error.log;error_log  logs/error.log  notice;error_log  logs/error.log  info;#pid        logs/nginx.pid;events {    worker_connections  1024;}http { 


#user  nobody;
worker_processes  8;


error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;


#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;


    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';


    access_log  /usr/local/nginx/logs/access.log   main;
    
    charset utf-8;


    server_names_hash_bucket_size 128;
    client_header_buffer_size 64k;
    large_client_header_buffers 4 64k;
    client_max_body_size 200m;


    ##cache######
    proxy_connect_timeout 5;
    proxy_read_timeout 60;
    proxy_send_timeout 5;
    proxy_buffer_size 16k;
    proxy_buffers 4 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;
    ##设置临时目录
    proxy_temp_path /data/tpl_nginx_cache_dir/temp;
    ##设置缓存目录为二级目录,共享内存区大小,非活动时间,最大容量,注意临时目录要跟缓存目录在同一个分区
    proxy_cache_path /data/tpl_nginx_cache_dir/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
    ##cache######


    sendfile        on;
    #tcp_nopush     on;


    #keepalive_timeout  0;
    keepalive_timeout  65;


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

upstream fuzaianli {
   server 127.0.0.1:8080 weight=1;
   server 127.0.0.1:9002 weight=1;
}

server {
   listen 80;
server_name 127.0.0.1;
charset utf-8;

location / {
   #root html;
#index index.html index.htm;
proxy_pass http://fuzaianli;
client_max_body_size  200m;
#下面的例子表示的是要跳转的真实的ip地址上
proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
}

location ^~ /project2{
            proxy_pass http://fuzaianli;
#下面的例子表示的是要跳转的真实的ip地址上
proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }

location ~ .*/project2/ {
            rewrite ^/(.*)/project2/(.*)$ http://fuzaianli/project2/$2;
    }

location ^~ /project1 {
            proxy_pass http://fuzaianli;
#下面的例子表示的是要跳转的真实的ip地址上
proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
}


location ~ .*/project1/ {
rewrite ^/(.*)/project1/(.*)$ http://fuzaianli/project1/$2;
}


location ^~ /tpl/ {
proxy_pass http://fuzaianli;
#下面的例子表示的是要跳转的真实的ip地址上
proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
}


location ^~ /project3/ {
rewrite ^/project3/(.*)$ http://127.0.0.1:8888/project3/$1;
}


location ^~ /project4 {
proxy_pass http://fuzaianli;
#下面的例子表示的是要跳转的真实的ip地址上
proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
}


location ~ .*/project4/ {
rewrite ^/(.*)/project4/(.*)$ http://fuzaianli/project4/$2;
}

location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
   proxy_pass http://fuzaianli;
   proxy_redirect off;
            proxy_set_header Host $host;
   ##设置缓存共享区块,也就是keys_zone名称。
            proxy_cache cache_one;
   ##设置http状态码为200,302缓存时间为1小时。
            proxy_cache_valid 200 302 1h;
            proxy_cache_valid 301 1d;
            proxy_cache_valid any 1m;
   ##设置过期时间,为30天
            expires 30d;
}

location ~ .*\.(action)(.*) {
   proxy_pass http://fuzaianli;
   proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
}

location ~ .*\.(jsp)(.*) {
   proxy_pass http://fuzaianli;
   proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

}


====================================================================

一个域名配置相关的:

server {
listen       80;
#server_name  120.55.185.149;

server_name  project.ceshi.cn;

        #正常情况下访问下面的就可以了。

#if ( $host = 'project.ceshi.cn' ) {
#    rewrite ^/(.*)$ http://project.ceshi.cn/project1/common/toIndexPage.action permanent;
        #
#}


##通过下面的方式实现访问:http://project.ceshi.cn
location / { 
proxy_pass http://10.117.21.159:7002/project1/common/toIndexPage.action;  
}


#if ( $host = 'project.ceshi.cn' ) {
#    rewrite ^/(.*)$ http://project.ceshi.cn/project1/common/toIndexPage.action permanent;
#}

location ^~ /project1/ {
proxy_pass http://10.117.21.159:7002;
}

}
相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
26天前
|
存储 缓存 监控
配置 Webpack 5 持久化缓存时需要注意哪些安全问题?
【10月更文挑战第23天】通过全面、系统地分析和应对安全问题,能够更好地保障 Webpack 5 持久化缓存的安全,为项目的成功构建和运行提供坚实的安全基础。同时,要保持对安全技术的关注和学习,不断提升安全防范能力,以应对日益复杂的安全挑战。
|
1月前
|
存储 缓存 监控
|
2月前
|
缓存 监控 负载均衡
在使用CDN时,如何配置缓存规则以优化性能
在使用CDN时,如何配置缓存规则以优化性能
|
1月前
|
负载均衡 算法 应用服务中间件
【nginx】配置Nginx实现负载均衡
【nginx】配置Nginx实现负载均衡
|
1月前
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
53 0
消息中间件 缓存 监控
123 0
|
3月前
|
监控 网络协议 应用服务中间件
高并发下Nginx压缩
【8月更文挑战第16天】gzip压缩在Nginx中可减少传输数据量,加快响应速度但消耗CPU。可在http、server及location级别配置。高并发时,启用Nginx状态监控以检查性能,配置`nginx.conf`添加`location /NginxStatus { stub_status on; access_log off; }`并重启Nginx
54 12
|
3月前
|
缓存 NoSQL 测试技术
【Azure Redis 缓存】Azure Redis 功能性讨论三: 调优参数配置
【Azure Redis 缓存】Azure Redis 功能性讨论三: 调优参数配置
|
3月前
|
存储 缓存 NoSQL
【Azure Redis 缓存】由Azure Redis是否可以自定义密码而引申出Azure PaaS的Redis服务是否可以和自建的Redis进行主从配置呢?
【Azure Redis 缓存】由Azure Redis是否可以自定义密码而引申出Azure PaaS的Redis服务是否可以和自建的Redis进行主从配置呢?
|
3月前
|
缓存 NoSQL 网络协议
【Azure Redis 缓存】如何使得Azure Redis可以仅从内网访问? Config 及 Timeout参数配置
【Azure Redis 缓存】如何使得Azure Redis可以仅从内网访问? Config 及 Timeout参数配置
下一篇
无影云桌面