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;
        }

    }

}

原文地址:http://blog.51cto.com/lmdtx/2156654

时间: 2024-08-30 05:09:21

nginx-1.14.0 使用的相关文章

zabbix-3.4监控nginx-1.14.0状态

zabbix需要监控nginx,则nginx需要配置nginx_status[[email protected] scripts]# /usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.14.0built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017TLS SNI support enabledconfigur

LNMP搭建(CentOS 6.3+Nginx 1.2.0+PHP 5.3.15(fpm)+ MySQL 5.5.35)

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过三年了.Igor 将源代码以类BSD许可证的形式发布. 系统环境: # cat /etc/redhat-release CentOS release 6.3 (Final) 1.安装所需的第三方库 yum -y install gcc

nginx1.14.0安装

nginx1.14.0安装yum install pcre pcre-devel -yyum install -y openssl openssl-develuseradd nginx -s /sbin/nologin -Mcd /root/wget -q http://nginx.org/download/nginx-1.14.0.tar.gztar xf nginx-1.14.0.tar.gz cd nginx-1.14.0./configure --user=nginx --group=n

ubuntu 18.04 LTS 安装nginx-1.14.0

更新ubuntu18.04LTS到最新: Nginx官网下载nginx-1.14.0稳定版: 安装相关依赖 make.gcc.g++.openssl.libssl-dev.zlib1g.zlib1g-dev或者到相关官网下载源码编译: 解压下载的nginx包 tar -xvf nginx-1.14.0: 进入解压出的nginx-1.14.0文件夹 cd nginx-1.14.0: 配置使用的相关设置 ./configure prefix=/usr/local/nginx --with-http_

nginx1.14.0源码编译安装

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel mkdir /tools && cd /tools wget https://nginx.org/download/nginx-1.14.0.tar.gz useradd www -s /sbin/nologin -M tar xf nginx-1.14.0.tar.gz cd nginx-1.14.0 mkdir -p /application

Kubernetes 生产环境安装部署 基于 Kubernetes v1.14.0 之 部署规划

1. 安装规划 1.1 部署节点说明 etcd集群规划 etcd 中心集群 192.168.2.247192.168.2.248192.168.2.249 etcd 事件集群 192.168.2.250192.168.2.251192.168.2.252 Kubernetes master节点集群规划 192.168.3.10192.168.3.11192.168.3.12192.168.3.13192.168.3.14 Kubernetes master vip 192.168.4.1192.

基于 Kubernetes v1.14.0 之 CoreDNS部署

1.部署容器前说明: 1.1.如果没有特殊指明,本文档的所有操作均在 k8s-operation 节点上执行: kuberntes 自带插件的 manifests yaml 文件使用 gcr.io 的 docker registry,国内被墙,需要手动替换为其它 registry 地址: 1.2.由于k8s-master 没有部署容器服务于路由服务,但是k8s-master 又要访问容器网络跟k8s集群网络,1.在上级路由器写入静态路由让其能访问容器网络与k8s集群网络.2.在k8s-maste

Centos7安装Nginx1.14.0

一.官网下载 http://nginx.org/en/download.html 版本说明: Nginx官网提供了三个类型的版本 Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版 Stable version:最新稳定版,生产环境上建议使用的版本(毫无疑问,生产环境用于次版本) Legacy versions:遗留的老版本的稳定版 二.检查gcc是否安装,命令:gcc -v ,如果显示有相关版本信息,则说明已经安装好,没有就安装:yum in

DotNetBar for Windows Forms 14.0.0.3_冰河之刃重打包版原创发布

关于 DotNetBar for Windows Forms 14.0.0.3_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版---------------------------------------------------------基于 官方原版的安装包 + http://www.cnblogs.com/tracky 提供的补丁DLL制作而成.安装之后,直接就可以用了.省心省事.不必再单独的打一次补丁包了.本安装包和补丁包一样都删除了官方自带

perl-5.14.0在新版gcc中编译不通过解决办法

1?? ? 由于在新版本中GCC把C99中的标准库分成了libc和libm两个部分,libm中包含一些数学库等,如果要用到libm时,必须加上-lm选项 在解压Configure之后,再在Makefile中,LDFLAGS 和 CLDFLAGS两个参数后面加上 -lm即可解决问题 2?? ? 参考:http://serverfault.com/questions/145288/make-error-when-compiling-perl-5-12-1-rhel-5-5 ? ? ?修改 dist/