nginx负载均衡

2、nginx负载均衡

(1)、找到nginx配置文件:nginx.conf 如目录:F:\nginx\nginx-1.6.3\conf\nginx.conf

增加以下配置:

我们可以修改nginx的配置文件nginx.conf 达到访问nginx代理服务器时跳转到指定服务器的目的,即通过proxy_pass 配置请求转发地址 

#设定负载均衡的服务器列表
upstream zzstxx.com {
    #weight参数表示权值,权值越高,被分配到的几率越大
    server localhost:8001 weight=5;
    server localhost:8002 weight=5;
    #每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题
    ip_hash;
    ##如果要测试轮询,先去掉ip_hash
}

server {
        #侦听80端口
        listen       80;
		#要和实际访问的域名或IP保持一致
        server_name  zzstxx.com;
		#默认请求zzsy.zzedu.net.cn
        location / {
            proxy_redirect off;
            proxy_set_header Host $Host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            client_max_body_size 50m;
            client_body_buffer_size 256k;
            proxy_connect_timeout 1;
            proxy_send_timeout 30;
            proxy_read_timeout 60;
            proxy_buffer_size 256k;
            proxy_buffers 4 256k;
            proxy_busy_buffers_size 256k;
            proxy_temp_file_write_size 256k;
            proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
            proxy_max_temp_file_size 128m;
            ##需heupstream 配置一致
            proxy_pass http://zzstxx.com;  
        }
        .........

注意:

(1)、在使用proxy_pass指令时,如果不想改变原地址中的URI,就不要在URL变量中配置URI 。

(2)、一定要加上proxy_set_header的几个配置,否则代理后的地址无法获取到代理前的地址;会出现在页面上获取request.getServerName()的时候获取的是proxy_pass配置的地址,而不是实际的地址;如proxy_pass配置了localhost,那么实际获取的时候如果没有配置proxy_set_header,就会获取到localhost,而不是实际访问的域名。

3、配置反向代理,虚拟目录

用来在一台机器上可以用域名访问多个应用

location /xy/ {
    proxy_redirect off;
    proxy_set_header Host $Host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    client_max_body_size 50m;
    client_body_buffer_size 256k;
    proxy_connect_timeout 30;
    proxy_send_timeout 30;
    proxy_read_timeout 60;
    proxy_buffer_size 256k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;
    proxy_temp_file_write_size 256k;
    proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
    proxy_max_temp_file_size 128m;
    proxy_pass http://127.0.0.1:8002/xy/;   
   
}

注意: proxy_pass 注意后面要加上/,请求http://127.0.01/xy/index.html的时候,会去proxy_pass代理应用下跟目录下找index.html(会把代理的目录/xy替换为/);如果没有/,那么回去 proxy_pass代理应用下 的 /xy/目录下找index.html页面。

4、性能优化

##设置进程数量为自动;nginx会根据CUP的核心数来控制
worker_processes  auto;

events {
    ##用于设置每个工作进程可接收的连接数,
    worker_connections  65535;
}

5、tomcat需要修改的内容 server.xml文件增加:

<Engine name=“Catalina” defaultHost=“localhost” jvmRoute=“jvm1”>

多个tomcat中的jvmRoute的名字不能重复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值