pay平台nginx配置文件详解

###全局块###
 
user www www; #指定运行worker process 的用户和用户组
worker_processes 4; #指定Nginx开启的子进程数量
error_log /data/www/logs/nginx/nginx_error.log ; #指定全局错误日志文件
pid /data/www/logs/nginx/nginx.pid; #指定nginx主进程的地址
worker_rlimit_nofile 65535; #指定一个Nginx进程最多可打开的文件描述符数量
 
##events 块用来指定Nginx的工作模式以及连接上限##
events
{
  use epoll;    #指定Nginx的工作模式 ,Nginx支持的工作模式又select、poll、kqueue、epoll、rtsig、和
                 /dev/poll,其中select和poll是标准工作模式,kqueue和           epoll是高效工作模式,epoll用于Linux平台
  worker_connections 65535; #指定Nginx中每个进程的最大连接数(即接收客户端的最大请求数)
}
 
### http块负责HTTP服务器相关的属性配置 ###
http
{
  include mime.types; #包含 etc/nginx/mine.type 文件,此文件用于设定文件的mime类型便于nginx识别
  default_type application/octet-stream; #设置默认文件类型为二进制流
 
  #nginx用ngx_http_proxy_module模块实现反向代理需求
  proxy_redirect off;
  proxy_set_header Host $host; #ngx_http_proxy_module模块需要读取的配置文件 修改http请求头
  proxy_set_header X-Real-IP $remote_addr; #»ñæip
  # X-Forwarded-For 字段表示该请求是由谁发起的
  #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #»ñúµÄæip
  client_max_body_size 10m;
  client_body_buffer_size 128k;
  proxy_connect_timeout 90; #跟后端服务器连接超时时间,发起握手等候响应时间
  proxy_send_timeout 90; #后端服务器回传时间,就是在规定时间内后端服务器必须传完所有数据
  proxy_read_timeout 90; #连接成功后等待后端服务器的响应时间,已经进入后端的排队之中等候处理
  proxy_buffer_size 4k; #代理请求缓冲区,会保存用户的头信息以供nginx进行处理
  proxy_buffers 4 32k; #同上,告诉nginx保存单个用几个buffer最大用多少空间
  proxy_busy_buffers_size 64k; #如果系统很忙的时候可以申请最大的 proxy_buffers
  proxy_temp_file_write_size 64k; #proxy缓存临时文件的大小
 
  charset utf-8;
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k; #客户端头信息
  large_client_header_buffers 4 32k;
 
  sendfile on; #开启高效的文件传输模式
  tcp_nopush on; #设置 tcp_nopush 和 tcp_nodelay 为 on 是为防止网络阻塞。
 
  keepalive_timeout 60; #设置客户端连接保活动的超时时间
 
  #tcp_nodelay on;
 
  gzip on;
  gzip_min_length 1k;
  gzip_buffers 4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_types text/plain application/x-javascript text/css application/xml;
  gzip_vary on;
 
  # limit_zone crawler $binary_remote_addr 10m;
 
  log_format access_ssl '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" $http_x_forwarded_for';
 
### 开启nginx的缓存功能,需要添加如下两行 ###
#这一行分别表示:创建缓存的时候可能生成一些临时文件存放的位置
  proxy_temp_path /home/proxy_temp_dir;
 
#这一行分别表示:定义缓存存储目录;缓存级别,表示缓存目录的第一级目录是1个字符,第二级目录是2个字符;内核中建立用于缓存缓存数据源数据的空间,查找缓存的时候,先从这个内核空间中找到,缓存数据的源数据,然后再到对应目录中查找缓存;这一行分别表示:缓存的数据,1小时内没有被访问过就删除;缓存空间最大值。
  proxy_cache_path /home/passport levels=1:2 keys_zone=cache_passport:200m inactive=1d max_size=30g;
 
#nginx对于 upstream 默认使用的是基于IP的转发
  upstream tomcats_pay { #upstream的负载均衡 采用 ip_hash 轮询策略
  #ip_hash;
  server 127.0.0.1:8080 max_fails=2 fail_timeout=10s;
  }
 
##server 块用于配置HTTP虚拟服务器 ###
server {
  listen 80; #此服务器监听的端口
  server_name pay.kedou.com; #指定此服务器的IP地址或域名
  #rewrite ^(.*) https://pay.kedou.com$1 permanent; #将HTTP请求重定向到 HTTPS
 
  index index.html index.htm; #定义此虚拟服务器的默认首页地址,按序依次访问定义的文件
  root /data/www/ROOT/pay/ROOT ; #定义虚拟服务器的根目录
  access_log /data/www/logs/nginx/logs/pay.kedou.com.log access_ssl; #此虚拟服务器的访问日志
 
  location / { #匹配访问路径以/开始的URI
    if ($remote_addr ~ "172.16.19.[5|6]") {
    access_log off;
  }
  proxy_next_upstream http_502 http_504 error timeout invalid_header; #失败连接的情形
  proxy_pass http://tomcats_pay; #代理哪个web服务器
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr; #后端节点机器获取客户端真实ip的第一种方案
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #后端节点机器获取客户端真实ip的第二种方案
  break;
 
  #rewrite_by_lua 'eeye.capture_itf_invoke()';
}
 
#注释掉的如下location块 表示所有静态文件由nginx直接读取不经过 tomcat 或 resin
  #location ~ \.(gif|bmp|png|jpg|jpeg|swf|css|js)$ {
  # expires 2h;
  # root /data/www/ROOT/pay/ROOT ;
  # index index.html index.htm;
  # break;
  # }
 
 
  location /v/ {
    rewrite ^/v/[0-9]+\.[0-9]+.[0-9]+/(.*)$ /$1 break;
    root /data/www/ROOT/;
  }
  location ~ ^/(assets)/ {
  root /data/www/ROOT/;
  }
  }
 
###配置对HTTPS请求的处理###
server {
  listen 443; #监听443端口
  server_name kedou.com *.kedou.com; #虚拟服务器域名配置
  index login.jsp; #定义此虚拟服务器的默认首页地址
  root /data/www/ROOT/pay/ROOT ; #定义虚拟服务器的根目录
  ssl on; #开启ssl参数
  ssl_certificate 201713478180888.pem; #指定服务器证书
  ssl_certificate_key 201713478180888.key; #指定私钥
  ssl_session_timeout 5m; #指定 SSL 共享缓存的超时为 5 mins
  #ssl_protocols SSLv2 SSLv3 TLSv1; #指定 SSL 协议(Nginx 默认使用)
  #以 OpenSSL 库理解的格式指定密码(Nginx 默认使用)
  #ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
 
  #ssl_protocols SSLv3 TLSv1;# TLSv1.1 TLSv1.2;
  #ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
  #ssl_prefer_server_ciphers on;
 
  ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA
  -AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA
  -AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AE
  S128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AE
  S128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m; #指定 SSL 共享缓存的大小为 10M。
  ssl_session_tickets off;
  ssl_stapling on; # Requires nginx >= 1.3.7
  ssl_stapling_verify on; # Requires nginx >= 1.3.7
 
location ~ ^/druid {
  proxy_pass http://tomcats_pay;
  allow 127.0.0.0/24;
  allow 192.168.17.0/24;
  allow 192.168.172.0/24;
  deny all;
  access_log off;
}
location /
{
  proxy_next_upstream http_502 http_504 error timeout invalid_header; #失败连接的情形
 
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $remote_addr;
  proxy_set_header X-Forwarded-Proto https;
  proxy_redirect off;
  proxy_pass http://tomcats_pay; #代理的哪个服务器
}
 
location ~ .*\.(jsp|do|html)?$
{
  index index.jsp;
  proxy_next_upstream http_502 http_504 error timeout invalid_header;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $remote_addr;
  proxy_set_header X-Forwarded-Proto https;
  proxy_pass http://tomcats_pay;
}
 
location /v/ {
  rewrite ^/v/[0-9]+\.[0-9]+.[0-9]+/(.*)$ /$1 break;
  root /data/www/ROOT/;
}
location ~ ^/(assets)/ { #静态资源配置 location ~ ^/(assets)/ 指需要访问该localhost下的哪个文件夹
  root /data/www/ROOT/; #root指资源在服务器中的绝对路径,此处配置不能出错,出错会找不到资源返回404
}
 
  #log_format access_ssl '$remote_addr - $remote_user [$time_local] "$request" '
  # '$status $body_bytes_sent "$http_referer" '
  # '"$http_user_agent" $http_x_forwarded_for';
  access_log /data/www/logs/nginx/logs/pay.kedou.com-1-ssl.log access_ssl;
 
  }
 }

2.5 Nginx服务器基础配置实例的更多相关文章

  1. nginx入门篇----nginx服务器基础配置

    1.nginx.conf文件结构...                         #全局块  events{  ...  }  http                      #http块{ ...

  2. 2.4 Nginx服务器基础配置指令

    2.4.1 nginx.conf文件的结构 2.4.2配置运行Nginx服务器用户(组) 2.4.3配置允许生成的worker process数 2.4.4 配置Nginx进程PID存放路径 2.4. ...

  3. nginx 的基础配置[转]

    nginx 的基础配置 分类: 工具软件2013-11-13 23:26 11人阅读 评论(0) 收藏 举报   目录(?)[-] 管理配置文件 全局配置 虚拟机server配置 location配置 ...

  4. linux邮件服务器postfix配置实例

    linux邮件服务器postfix配置实例(超级详细!!!) 2013-03-13 13:30:21 标签:邮件服务器 linux 1. 系统安装:1)centos4.3 选上MAIL组件里的全部.2 ...

  5. linux系统ansible一键完成三大服务器基础配置(剧本)

    ansible自动化管理剧本方式一键完成三大服务器基础配置 环境准备:五台服务器:管理机m01:172.16.1.61,两台web服务器172.16.1.7,172.16.1.8,nfs存储服务器17 ...

  6. Nginx服务器中配置非80端口的端口转发方法详解

    这篇文章主要介绍了Nginx服务器中配置非80端口的端口转发方法详解,文中使用到了Nginx中的proxy_pass配置项,需要的朋友可以参考下 nginx可以很方便的配置成反向代理服务器: 1 2 ...

  7. Nginx 服务器伪静态配置不当造成 Access denied

    Nginx 服务器伪静态配置不当造成 Access denied 有群有反馈将 FastAdmin 布署到阿里云后无法打开后台. 出现如下提示,首页是可以打开,点登录链接后出现的.(下是群友的截图) ...

  8. 通过浏览器查看nginx服务器状态配置方法

    通过浏览器查看nginx服务器状态配置方法 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了通过浏览器查看nginx服务器状态配置方法,本文讲解开启nginx-status的配 ...

  9. Nginx负载均衡配置实例详解

    负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...

随机推荐

  1. PAT甲级【2019年9月考题】——A1163 PostfixExpression【25】

    7-3 Postfix Expression (25 分) Given a syntax tree (binary), you are supposed to output the correspon ...

  2. LOJ6682 梦中的数论

    题目 不难发现我们要求的东西是\(\sum_{i=1}^n\binom{\sigma(i)}{2}=\sum_{i=1}^n\frac{\sigma(i)(\sigma(i)-1)}{2}=\frac ...

  3. 51.Lowest Common Ancestor of a Binary Tree(二叉树的最小公共祖先)

    Level:   Medium 题目描述: Given a binary tree, find the lowest common ancestor (LCA) of two given nodes ...

  4. cookie,seesion学习

    一,为什么需要cookie和session? 1,Web应用程序是使用HTTP协议传输数据的.然而HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的 ...

  5. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  6. 【记录】Mybatis Generator生成数据对象Date/TimeStamp 查询时间格式化

    Mybatis Generator是很好的工具帮助我们生成表映射关联代码,最近博主遇到一个问题,找了很久才解决, 就是用Mybatis Generator生成实体类的时候,Date 时间无法格式化输出 ...

  7. for循环(C语言型)举例

  8. linux c 链接详解2-定义和声明

    2定义和声明 摘自:linux c编程一站式学习 可以学会extern和static用法,头文件知识. 2.1. extern和static关键字 在上一节我们把两个程序文件放在一起编译链接,main ...

  9. Django知识笔记

    基本应用 创建项目: django-admin startproject 项目名称 目录结构: manage.py是项目管理文件,通过它管理项目. 与项目同名的目录,此处为test1. _init_. ...

  10. Java集合类框架的最佳实践有哪些

    根据应用的需要正确选择要使用的集合的类型对性能非常重要,比如:元素的大小是固定的,而且能事先知道,我们就应该用Array而不是ArrayList. 有些集合类允许指定初始容量.因此,如果我们能估计出存 ...