nginx-1.14.0 使用

为了简单就在windows 上介绍一下了

nginx

steam 模块 转发tcp 对socket做负载均衡

配置如下:

worker_processes  1;
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;
}
stream{
    log_format proxy '$remote_addr [$time_local] '
                 '$protocol $status $bytes_sent $bytes_received '
                 '$session_time "$upstream_addr" '
                 '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';
    open_log_file_cache off;    
    access_log logs/tcp-access.log proxy ;
    upstream test{
        server xxx.xxx.xxx.xxx:443  weight=1 max_fails=1 fail_timeout=30s;
        server xxx.xxx.xxx.xxx:443 weight=1 max_fails=1 fail_timeout=30s;
    }
    server{
        listen 4438;
        proxy_pass test;
        proxy_connect_timeout 8s;
        proxy_timeout 7d;
    }
}

upstream 模块 转发web socket做负载均衡

配置如下:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    access_log  logs/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    upstream wsbackend {
        server 127.0.0.1:9123;
    }
    upstream  service {      
      server 127.0.0.1:8080 weight=1 max_fails=3 fail_timeout=30s; 
    } 
    server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate      ../ssl/icetech.com.cn.pem;
        ssl_certificate_key  ../ssl/icetech.com.cn.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location /service { 
              proxy_pass http://service;# 反向代理         
              proxy_set_header  X-Real-IP $remote_addr;
              proxy_next_upstream http_502 http_504 error timeout invalid_header;
        } 
        location / {
               proxy_pass http://wsbackend;
               proxy_http_version 1.1;
               proxy_set_header Upgrade $http_upgrade;
               proxy_set_header Connection "upgrade";       
        }
    }
}

常用的配置


#user  nobody;       #用户
worker_processes  1; #工作进程,根据硬件调整,大于等于CPU核数

#error_log  logs/error.log;  #错误日志配置
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid; #pid放置位置

events {
    #use epoll;  

    #使用epoll的I/O 模型

    # 补充说明:

    #与apache相类,nginx针对不同的操作系统,有不同的事件模型

    #A)标准事件模型

    #Select、poll属于标准事件模型,如果当前系统不存在更有效的方法,nginx会选择select或poll

    #B)高效事件模型

    #Kqueue:使用于FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 和 MacOS X.使用双处理器的MacOS #X系统使用kqueue可能会造成内核崩溃。

    #Epoll:使用于Linux内核2.6版本及以后的系统。

    #/dev/poll:使用于Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+。

    #Eventport:使用于Solaris 10. 为了防止出现内核崩溃的问题, 有必要安装安全补丁  

    worker_connections  1024;

    #工作进程的最大连接数量,根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行

    #每个进程允许的最多连接数, 理论上每台nginx服务器的最大连接数为worker_processes*worker_connections

    keepalive_timeout 60; 
}

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
    include       mime.types;
    default_type  application/octet-stream;  

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    #配置两台Tomcat真实服务器
    upstream  B2C_WEB {      
      #ip_hash;     #目的保证客户端的ip地址不变,请求就只送到固定的一个Tomcat处理

      server 192.168.126.1:8080 weight=1 max_fails=3 fail_timeout=30s;       
      server 192.168.126.15:8080 weight=1 max_fails=3 fail_timeout=30s;

      #weight=1表示
      #这表示,如果服务器192.168.126.1 | 15在30秒内出现了3次错误,
      #那么就认为这个服务器工作不正常,从而在接下来的30秒内nginx不再去访问这个服务器。
    }  

    server {
        listen       80; #监听端口
        server_name  localhost;
        charset UTF-8;      
        index index.html index.htm index.jsp index.do;
        root E:\\JavaEE\\Apache-Tomcat-7.0.41\\wtpwebapps; #WEB服务的主目录

        location ~ ^/(WEB-INF)/ { 
          deny all; #禁止访问WEB-INF目录
        }           

        # 动态数据由代理服务器Tomcat处理
        location ~ .*\.(jsp|jspx|do)?$ { 
          proxy_pass http://B2C;# 反向代理         
          proxy_set_header  X-Real-IP $remote_addr;
          proxy_next_upstream http_502 http_504 error timeout invalid_header;
       }    

       # 静态数据直接读取不经过Tomcat服务器
       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
       {        
         expires      30d; #在客户端保存时间
       }
       location ~ .*\.(js|css)?$
       {        
         expires      1h;
       }

       # 监控Nginx服务状态
       location /Nginxstatus {
         stub_status on;
         access_log   off;
       }        

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值