2.Nginx概述

  1. Nginx支持的MIME类型
less /etc/nginx/mime.types

2.Nginx特点:

    • 高并发,几w并发连接。
    • 资源消耗少:3w并发,开启10个线程,内存不不200MB。
    • 反向代理、缓存,RS节点健康检查。
    • 类squid缓存功能:proxy_cache模块实现类似squid功能。
    • 异步网络I/O事件模型 epoll。
    • 代理功能比haproxy简陋点。
    • nginx三大功能:web服务器、代理、业务数据缓存。
    • 处理静态小文件(<1MB)时,比apache、lighttpd更强。
    • 支持TCP代理 通过模块nginx_tcp_proxy_module

3.作为web服务器应用:

    • 运行HTML、JS、CSS、小图片等静态数据
    • 结合FastCGI运行PHP
    • 结合tomcat/Resin支持Java

  4.apache与nginx对比:

    apache:

    • 稳定
    • prefork模式取消了进程创建开销,性能很高
    • 高并发消耗资源相对多一些
    • 基于select模型,高并发能力有限

  nginx:

    • 异步I/O模型epoll
    • 高性能、高并发
    • 扩展库必须编译进主程序
    • 占用资源低  

5.nginx.conf配置文件说明:

 1 worker_processes  1;            ##worker进程的数量,一般不大于cpu核数。
 2 
 3 events {              ##事件区块开始
 4 
 5     worker_connections  1024;        ##每个worker进程支持的最大连接数
 6 
 7 }
 8 
 9 http {           ##HTTP区块开始
10 
11     include       mime.types;        ##Nginx支持的媒体类型库文件,可以在/etc/nginx/mine.types中查看。
12 
13     default_type  application/octet-stream;         ##默认的媒体类型
14 
15     sendfile        on;             ##开启高效传输模式
16 
17     keepalive_timeout  65;        ##连接超时
18 
19     server {              ##第一个server区块开始,表示一个独立的虚拟主机站点
20 
21         listen       80;           ##提供服务的端口
22 
23         server_name  localhost;            ##提供服务的域名主机名
24 
25         location / {       ##第一个location区块开始
26 
27             root   html;          ##站点的根目录,相对于nginx的安装目录
28 
29             index  index.html index.htm;    ##默认的首页文件,多个用空格分开。
30 
31         }
32 
33         error_page   500 502 503 504  /50x.html;         ##出现对应的http状态码时,使用50x.html回应客户
34 
35         location = /50x.html {    ##location区块开始,访问50x.html
36 
37             root   html;          ##指定对应的站点目录为html
38 
39         }
40 
41     }
42 
43 }             ##HTTP区块结束

  6.Nginx虚拟主机的别名

    一个虚拟主机多个域名,如,为www.baidu.com域名的虚拟主机增加一个别名baidu.com。

  7.Nginx状态信息功能

    ngx_http_stub_status_module模块。可以记录访问nginx的状态信息,如连接数等。

  8.错误日志(error_log)配置、访问日志--access_log

    可以在main中全局配置,也可以在各个虚拟主机中配置。

    语法:     

erro_log    file    level;
level: debug|info|notice|warn|error|cirt|alert|emerg

    默认值:default:error_log logs/error.log error;

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
  
  access_log  /var/log/nginx/access.log  main;
}

     access_log格式

access_log path [format [buffer=size [flush=time]] [if=condition]];
access_log syslog:server=address[,parameter=value][format [if=condition]];
日志变量 说明
$remote_addr 记录访问网站的客户地址
$remote_user 记录客户端用户名称
$http_x_forwarded_for 当前端有代理时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器上也进行了相关的x_forwarded_for设置
$time_local 记录访问时间与时区
$request 用户的http请求起始行信息
$status httpu状态码,记录请求返回的状态,如:200、400、301等
$body_bytes_sents 服务器发送给客户端的响应body字节数
$http_referer 记录此次请求是从哪个链接访问过来的,可以根据referer进行防盗链设置
$http_user_agent 记录客户端访问信息,如,浏览器类型、手机客户端

 

   

 

 

 

 

 

 

 

 

 

 

posted @ 2020-08-18 12:01  天涯160  阅读(102)  评论(0)    收藏  举报