nginx使用分享

####配置文件目录 /usr/local/nginx/conf/nginx.conf

####http基础配置(/usr/local/nginx/conf/nginx.conf -> http{})

server_tokens默认值是on,表示显示版本信息,设置server_tokens值是off,就可以在所有地方隐藏nginx的版本信息。

####gzip压缩技术(/usr/local/nginx/conf/nginx.conf -> http{})

gzip    on;
gzip_min_length    1024;
gzip_buffers    4    16k;
gzip_http_version    1.1;
gzip_vary    on;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

####负载均衡&反向代理

http{}
upstream    tomcats{
    #none;    轮询(weight决定,默认为1)
    #ip_hash;    客户端ip请求hash均衡
    #fair;    自动分配到服务器
    #url_hash;    当前请求的hash均衡

    #weight;权重,值越高负载越大
    server URL weight = 5;
    #backup; 备份机,只有非备份机全部挂掉情况下,才启动
    server URL backup;
    #down; 停机标志,不会被访问,临时升级维护
    server URL down;
    #max_fails;达到指定次数认为服务器挂掉,并终止此接受访问
    #fail_timeout;服务器挂掉多久后再去尝试是否已恢复
    server URL max_fails=2 fail_timeout=60s;
}

location / {
    proxy_pass http://tomcats;

    #以下是一些反向代理的配置,可选。
    proxy_redirect off; #如果需要修改从被代理server传来的应答头中的"Location"和"Refresh"字段,可以用这个指令设置。
    proxy_next_upstream  http_500 http_502 http_503 error timeout invalid_header;   #指定故障转移策略,当后端节点返回500,502,503,等执行超时错误时,自动将请求转发到upstream组的另一台服务器,实现故障转移。
    proxy_set_header X-Real-IP $remote_addr;#X-Real-IP变量名,可以随便修改
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
    proxy_set_header Host $host;#指定后端server获取Client的主机名和地址以及代理的真实IP
    client_max_body_size 10m; #允许客户端请求的最大单文件字节数
    client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,
    proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
    proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
    proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
    proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
    proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置
    proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
    proxy_temp_file_write_size 64k;#设定缓存文件夹大小,大于这个值,将从upstream服务器传
}

####缓存配置(/usr/local/nginx/conf/nginx.conf -> http{} - server{})

location ~ .*\.(jpg|png|gif)$ {
    #配置到图片上级目录
    #如页面访问的是http://127.0.0.1/public/6DD309BF50C11AC5DE277A5F5C147330.png
    #配置为root D:\\_webapp\\ParityPlatform\\WEB-INF\\classes\\static;
    #完整路径如下D:\_webapp\ParityPlatform\WEB-INF\classes\static\public\6DD309BF50C11AC5DE277A5F5C147330.png
    root /app/webapps/;
    # 2天后自动清除缓存
    expires    2d;
}

location ~ .*\.(js|css)$ {
    root /app/webapps/;
    expires    1h;
}

####查看Nginx状态配置

#设定查看Nginx状态的地址
location /NginxStatus {
    # Turn on nginx stats  
    stub_status on;  
    # I do not need logs for stats  
    access_log   off;  
    # Security: Only allow access from 192.168.1.100 IP #  
    #allow 192.168.1.100;  
    # Send rest of the world to /dev/null #  
    #deny all; 
}

####负载均衡时session处理

1. 利用nginx中upstream为ip_hash策略(简单快速,业务场景允许非重要性)
2. 网络广播session同步(缺陷:数据量大时性能低下、网络容易造为性能瓶颈、集群环境中容器过多时性能下降)
    2.1 tomcat中,/tomcat/conf/server.xml
            <Engine name=“” 。。。>
                添加如下代码
                `<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" />`
                <!-- <channel>...</channel> 对应配置信息,防止一台服务器多个tomcat造成异常-->
            </Engine>
    2.2 在应用添加信息,通知tomcat/告知应用是处于集群环境中,支持分布式部署
            应用的web.xml中添加如下
            `<distributable />`
3. 共享空间保存session信息(分布式缓存技术【redis\memcached】)
    3.1 安装memcached

转载于:https://my.oschina.net/p2ng/blog/532951

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值