第四节 nginx 配置文件

1 keepalive_timeout   65;  设定保存长久连接时长 0代表禁止, 若不设置默认是75s

2keepalive_requests   nu;  在一次长连接中允许接受的最多请求数,超出则断开连接

3keepalive_disable   none|browser   表示对那种浏览器禁止用长连接 browser是指360

4 send_timeout   time;    向客户端发送响应报文的超时时长,此处指两次写操作之间的时间间隔。超出时间表示服务器无法响应

5 client_body_buffer_size  大小; 用于接受客户请求报文body部分的缓冲大小,默认16K

超出次大小,将被暂存到磁盘上由client_body_temp_path 指定的位置

6 client_body_temp_path  /var/tmp/client_body  2  1  1

设定用于存储客户端请求报文的body部分临时存放路径 2 1 1 表示

第一个数字: 表示用一位16进制数字表示一级子目录

第二个数字:表示用二级子目录

第三数字 :表示三级子目录

1 表示用一位16进制表示  2 表示用2位16进制表示

这里表示 2指有256个一级子目录, 每个一级子目录下有16个二级级子目录 ,每个二级子目录下有16个三级子目录

对客户端的限制配置:

Limit_rate      限传输速率  0表示无限制

Limit_execpt   对指定请求方式之外的其他方式的使用客户端 仅用于location

如  limit_except  GPT {

Allow  192.168.0.0/24;

Deny  all;

}   除了GPT之外其他方式仅允许这个网段的主机访问

文件操作配置:

Alo  on|off  是否用alo功能

Directio  size |off ; 当文件大于或等于给定大小是同步写入到磁盘中,而非缓存

Openfile_cache  off;  可以将源数据缓存下来,

Openfile_cache  max=N;

Nginx 可以缓存已下三种信息:

1 文件的描述符,文件大小和最近一次修改时间

2打开目录结构

3没有找到的或没有权限访问的文件信息

Max_N :可以缓存的上限达到上限后使用LRU算法实现缓存管理

Incative=time  缓存非活动时长 ,在此处指定的时间内未命中或被命中的次数少于open_file_cache_min_uses  所指定的次数则为非活动项 将被删除

4 Open_file_cache_valid   time;  缓存项有效性的检查频率 默认60s

5 open_file_cache_min_uses  number;  是指在 Open_file_cache的 incative参数指定的时间内最少命中多少次则为活动项

模块介绍:

1 ngx_http_access_module       实现基于ip的访问控制

之上而下 检查 一旦匹配将生效

如 : location  /  {

Deny  192.168.1.1;

Allow 192.168.1.0/24;

Deny  all;

}

Ngx_http_auth_basic_module 基于用户访问控制使用basic机制进行认证

Auth_basic   string | off ;

Auth_basic_user_file   file;

location / {

auth_basic "Admin Area";

auth_basic_user_file /etc/nginx/.ngxpasswd;

}

添加用户:htpasswd 命令

第一次添加用户需加-c : htpasswd  -c   -m   /etc/nginx/.ngxpasswd   xiao

2 ngx_http_stub_module   用于输出nginx基本状态信息;

location / {

stub_status;

}

访问显示:

Active connections: 3 
server accepts handled requests
 3 3 1 
Reading: 0 Writing: 1 Waiting: 2 

Active  connections: 活动状态连接数

Accepts: 已接受的客户请求总数

Handled: 已处理

Requests : 请求发来的总的请求数

Reading: 处于读取请求

Writing: 处于写入的请求

Waiting: 处于等待的请求

3 ngx_http_log_module   指定日志格式记录请求

access_log  /var/log/nginx/access.log  main;

4 ngx_http_giz_module   用压缩方式响应数据 ,节省带宽

1 gzip  on|off       启用或禁止

2gzip  comp  level 6   压缩比由高到底  1--9  默认1

3 gzip_disable  regex ......   匹配到客户端的浏览器不压缩

4gzip_min_lenth  lenth   启用压缩功能的响应报文大小阀值

5gzip_http_version  1.0|1.1  设定启用压缩功能协议的最小版本 默认1.1

6gzip_buffers number size;   启动压缩功能,缓存区数量和每个缓存区大小

7gzip_type  text/html  :   指明对那种类型资源进行压缩

8gzip_vary  on|off  ; 如果启用压缩是否在响应报文首部插入vary

9gzip_proxied  off ; nginx充当代理是对后端服务器在何种情况是启用压缩功能

第五节

4 ngx_http_ssl_module

Ssl  on |off  启用ssl  建议用listen代替

Ssl_certificate  file  当前虚拟机使用PEM格式的证书文件

Ssl_sertificate_key  file   私钥文件

ssl_session_cache  off ;  缓冲

None:通知客户端支持ssl缓冲但实际不支持

Builtin【size】使用ssl内建的缓存,为每个worker私有的

[share :name:size] :在worker之间共享缓存

ssl_session_timeout   客户连接可以复用的ssl  在缓冲中的有效时长

server {

#        listen       443 ssl http2 default_server;

#        listen       [::]:443 ssl http2 default_server;

#        server_name  _;

#        root         /usr/share/nginx/html;

#

#        ssl_certificate "/etc/pki/nginx/server.crt";

#        ssl_certificate_key "/etc/pki/nginx/private/server.key";

#        ssl_session_cache shared:SSL:1m;

#        ssl_session_timeout  10m;

#        ssl_ciphers HIGH:!aNULL:!MD5;

#        ssl_prefer_server_ciphers on;

实验

Ca:

1、首先要确保/etc/pki/CA下有certs、crl、newcerts、private四个目录,然后再创建所需要的文件

2、]# (umask 077; openssl genrsa -out private/cakey.pem 2048)  创建私钥

3、生成证书请求,并自签

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem 
-new:生成新证书签署请求 
-x509:专用于CA生成自签证书 
-key:生成请求时用到的私钥文件 
-days n:证书的有效期限 
-out /PATH/TO/SOMECERTFILE:证书的保存路径

要输入国家名、省份名、地区(市)名、组织或公司名、部门名、服务器名、Email地址

Touch 
index.txt

Echo 
“01” > serial

命令行生成CA根证书

openssl x509 -req -in ca.csr -signkey
ca.key -out ca.crt

服务端:

Mkdir  /etc/nginx/ssl

Cd    /etc/nginx/ssl

# (umask
077;openssl genrsa -out nginx.key 2048)  创建私钥

创建ca 需要与CA 服务填写信息一样

Openssl  req 
-new   -key  nginx.key 
-days 356  -out  /nginx.csr

传给CA:# scp nginx.csr 192.168.220.130:/tmp/

CA:

# openssl x509
-req -sha256 -CA /etc/pki/CA/ca.crt -CAkey /etc/pki/CA/ca.key -CAcreateserial
-in nginx.csr -out nginx.crt

]# scp
/tmp/nginx.crt  192.168.220.135:/tmp/

服务器:

问题;

nginx: [emerg]
PEM_read_bio_X509_AUX("/etc/pki/nginx/server.crt") failed (SSL:
error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED
CERTIFICATE)

nginx:
configuration file /etc/nginx/nginx.conf test failed

是证书颁发步骤不对

Ngx_http_rewrite_module  模

将用户请求的URI 通过基于PCRE regex 描述的模式进行检查后完成重定向

1 rewrite  regex  replacrment 
[flag]

将regex匹配到的重定向为replacement

注意在同一级别的匹配块中有多个rewrite规则,那么会自上而下检查,被某个规则匹配到完成后,会重新一轮的重定向检查

Flag 所表示的标记位用来控制此循环机制

Last:重写成功后,停止对当前URL 在当前location中后续的其他重写操作,而对新的URL 启动新的一轮重写检查,提前重启新一轮循环,不建议在location中使用。

Break:重写后停止对当前URI 在当前location中的后续重写操作,而后直接跳转至重写规则配置块之后的其他配置,结束循环,建议在location中使用

Redirect:临时重定向,重新后以新的URI 返回给客户端状态吗302

Permanent:永久重定向,重写后直接将新生成URI 返回给客户端 状态码301

If条件判断:

If ($request_method =
post) {

Return 405;

}

比较操作符:

==

!=

~:模式匹配 区分大小写

~*:模式匹配 不区分大小写

!~:模式不匹配

文件目录判断:

-e  !e

-f   !-f

-d   !-d

-x   !-x

Set  $variable 
value   用户自定义变量

nginx配置2的更多相关文章

  1. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  2. Windos环境用Nginx配置反向代理和负载均衡

    Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...

  3. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  4. Nginx 配置简述

    不论是本地开发,还是远程到 Server 开发,还是给提供 demo 给人看效果,我们时常需要对 Nginx 做配置,Nginx 的配置项相当多,如果考虑性能配置起来会比较麻烦.不过,我们往往只是需要 ...

  5. Nginx配置详解

    序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也 ...

  6. Nginx配置Https

    1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...

  7. nginx配置为windows服务中的坑

    网上搜索“nginx 配置为windows服务”,很容易搜索到使用windows server warpper来配置,于是按照网上的方法我从github上的链接下载了1.17版本,前面都很顺利,很容易 ...

  8. 【nginx配置】nginx做非80端口转发

    一个场景 最近在使用PHP重写一个使用JAVA写的项目,因为需要查看之前的项目,所以要在本地搭建一个Tomcat来跑JAVA的项目.搭建成功后,因为Tomcat监听的端口是8080,因此,访问的URL ...

  9. Apache、nginx配置的网站127.0.0.1可以正常访问,内外网的ip地址无法访问,谁的锅?

    最近做开发,发现一个比较尴尬的问题.因为我是一个web开发者,经常要用到Apache或者nginx等服务器软件,经过我测试发现,只要我打开了adsafe,我便不能通过ip地址访问我本地的网站了,比如我 ...

  10. nginx配置301重定向

    1. 简介 301重定向可以传递权重,相比其他重定向,只有301是最正式的,不会被搜索引擎判断为作弊 2. 栗子 savokiss.com 301到 savokiss.me 3. nginx默认配置方 ...

随机推荐

  1. matlab常用命令

    clc; %清屏 clear; %清除变量 close all; %关闭 doc %查看文档 meshgrid%采样mesh %网格曲面surf %光滑曲面plot %ezplotdiff figur ...

  2. oracle加密传输

    参考文章: http://blog.itpub.net/24052272/viewspace-2129175/ oracle在传输过程中,正常是明文传输的,例如SQL以及执行的结果. 看看做的测试: ...

  3. bootstrap栅格系统中同行div高度不一致的解决方法

    通过div底部的margin和padding实现,缺点:下边框无法完整显示,建议在无边框情况下使用 .row{ overflow: hidden; } [class*="col-" ...

  4. 安娜Anna:世界最快的超级伸缩的KVS, 秒杀Redis

    伯克利 这个大学在计算机学术界.工业界的地位举足轻重,其中的AMP实验室曾开发出了一大批大获成功. 对计算机行业产生深远影响的分布式计算技术,包括 Spark.Mesos.Tachyon 等.作为AM ...

  5. -bash: /opt/cslc/jdk1.8.0_144/bin/jps: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录

    yum install -y  glibc.i686 解决问题

  6. STM32L476应用开发之二:模拟量数据采集

    采集模拟量数据在一台一起中是必不可少的功能.在本次实验中我们要采集的模拟量值主要包括氧气传感器的输出以及压力变送器的输出. 1硬件设计 我们需要采集数据对精度有一定的要求,而STM32L476自带AD ...

  7. Oracle 行转列pivot 、列转行unpivot 的Sql语句总结

    这个比较简单,用||或concat函数可以实现 select concat(id,username) str from app_user select id||username str from ap ...

  8. 存储过程数据insert into select

    create or replace procedure PRO_K3_CZZH (org_name in varchar2, --财政专户名称 opertype in varchar2, --操作类型 ...

  9. Confluence 6 Windows 中以服务方式自动重启修改运行服务的用户

    基于安全的考虑,如果你希望你的 Confluence 不是在系统中以管理员的身份运行或者你使用网络驱动器来存储备份,附件和索引的话,你可以以其他用户来运行 Confluence. 希望修改用户,打开 ...

  10. vuejs中使用echarts

    <style scoped> .content { /*自行添加样式即可*/ } #main { /*需要制定具体高度,以px为单位*/ height: 400px; } </sty ...