http section和server section。

全局配置参数

user nginx;//使用nginx用户身份启动nginx
worker_process 10;// worker进程数,一般与cpu核心数相同。
error_log  /var/log/nginx/error.log warn;// 当server中没有单独设置error_log时。
pid        /var/run/nginx.pid;
events {
  use  /dev/poll;//使用事件模型`/dev/poll(Solaris 和Unix特有),epoll(Linux特有)`
worker_connections  2048;//一个工作进程可以接口并发的最大连接数。
}

Http Section配置

1,简介。http section的指令,用来处理http链接。

//nginx.conf文件中
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    ####定义访问日志的格式。 在server中可以使用main格式。access_log  /var/log/nginx/hzq.com.log  main;
    log_format  main  '$remote_addr - [$time_local] "$request" '
                      '$status $body_bytes_sent'
                      '"$http_user_agent"  $request_time ';
    sendfile        on;
    client_header_buffer_size 512k;//当客户端请求头大于1KB时,会使用缓存。
    
    keepalive_timeout  65;
  
    include /etc/nginx/site-enables/*.conf;//引入其他conf配置文件(主要是各个virtual server)
}

Server Section配置

1,简介

1)通过关键字server 定义的section,是一个虚拟服务器,包含在http关键字定义的section中,用来响应http请求。
不在listen中显示指定default_server, 会默认选择第一个。

http {
   include /etc/nginx/mime.types;
   default_type  application/octet-stream;
   log_format  main 'xxxxx'

   include /etc/nginx/site-enables/*.conf; //引入文件。`每个文件中可以单独配置server`
   server {
      listen 80 default_server;// `*:80, 一个服务器可能有多个公网ip,以及内网ip。` 当没有Host的header时,作为监听80的default server提供http服务。
      server_name www.hzq.com  www.hqq.com;//`请求头 Host ,与server_name匹配,用于route 哪一个server`
  }
}

2)request中如果没有包含host字段,或者host字段不在nginx server的server_name中,会使用在该端口上监听的default_server。
匹配没有host请求头的request

server {
  listen 80;
  server_name "";//默认值,可不填
 //配置这个server,将取代在80端口上的default_server
}

3)default_server是listen指令的参数,不同的端口可以指定不同的default_server。

server {
  listen 80 default_server;
  server_name www.hzq.com  www.hqq.com
  //...
}
server {
  listen 210.73.xxx.xxx:9876 default_server;
  server_name "";
  location / {
  }
}

2,nginx通过自身的监听端口、request的host请求头、server_name指令来决定request route到哪一个server。

http section和server section。_第1张图片
image.png

3,server配置注意点。

1)listen指令的格式
listen ip:port default_server; // 监听的是自己的ip(一个服务器可以有多个ip)和自己的端口。
listen port default_server;
2)server_name .hzq.com; //可以匹配子域和域本身*.hzq.com和hzq.com

你可能感兴趣的:(http section和server section。)