nginx.conf 配置及基本优化(2)

{"@timestamp":"2016-04-25T13:16:29+08:00","host":"192.168.0.202","clientip":"106.120.73.171","size":0,"responsetime":0.000,"upstreamtime":"-","upstreamhost":"-","http_host":"samsung.linuxidc.com","url":"/index1.html","domain":"samsung.linuxidc.com","xff":"-","referer":"-","agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36","status":"304"}

9:配置允许sendfile方式传输文件:

  是由后端程序负责把源文件打包加密生成目标文件,然后程序读取目标文件返回给浏览器;这种做法有个致命的缺陷就是占用大量后端程序资源,如果遇到一些访客下载速度巨慢,就会造成大量资源被长期占用得不到释放(如后端程序占用的CPU/内存/进程等),很快后��程序就会因为没有资源可用而无法正常提供服务。通常表现就是 nginx报502错误,而sendfile打开后配合location可以实现有nginx检测文件使用存在,如果存在就有nginx直接提供静态文件的浏览服务,因此可以提升服务器性能.

  可以配置在http、server或者location模块,配置如下:

sendfile on; sendfile_max_chunk 512k; #Nginxg工作进程每次调用sendfile()传输的数据最大不能超出这个值,默认值为0表示无限制,可以设置在http/server/location模块中。

10:配置nginx工作进程最大打开文件数:

  可以设置为linux系统最大打开的文件数量一致,在全局模块配置

worker_rlimit_nofile 65535;

11:会话保持时间:

  用户和服务器建立连接后客户端分配keep-alive链接超时时间,服务器将在这个超时时间过后关闭链接,我们将它设置低些可以让ngnix持续工作的时间更长,1.8.1默认为65秒,一般不超过120秒。

keepalive_timeout 65 60; #后面的60为发送给客户端应答报文头部中显示的超时时间设置为60s:如不设置客户端将不显示超时时间。   Keep-Alive:timeout=60 #浏览器收到的服务器返回的报文 如果设置为0表示关闭会话保持功能,将如下显示:   Connection:close #浏览器收到的服务器返回的报文

12配置网络监听:

  使用命令listen,可以配置监听IP+端口,端口或监听unix socket:

listen 8090; #监听本机的IPV4和IPV6的8090端口,等于listen *:8000 listen 192.168.0.1:8090; #监听指定地址的8090端口 listen Unix:/www/file #监听unix socket

二:server部分主要配置:

1、基于域名和IP的虚拟主机

server_name localhost ; #多个域名用空格间隔即可 server_name 192.168.0.2; #IP是本机的网卡IP地址

2、location 模块正则匹配配置:

  在没有使用正则表达式的时候,nginx会先在server中的多个location选取匹配度最高的一个uri,uri是用户请求的字符串,即域名后面的web文件路径,然后使用该location模块中的正则url和字符串,如果匹配成功就结束搜索,并使用此location处理此请求。

  location 正则匹配的语法:

= #用于标准uri前,需要请求字串与uri完全匹配,如果匹配成功就停止向下匹配并立即处理请求。 ~ #区分大小写 ~* #不区分大写 !~ #区分大小写不匹配 !~* #不区分大小写不匹配 ^ #匹配以什么开头 $ #匹配以什么结尾 \ #转义字符。可以转. * ?* #代表任意长度的任意字符 -f和!-f #用来判断是否存在文件 -d和!-d #用来判断是否存在目录 -e和!-e #用来判断是否存在文件或目录 -x和!-x #用来判断文件是否可执行

3、常见http状态码:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d579438bb2458f415e898108cf67fa34.html