首页 服务器技术 nginx

nginx的http块配置项有哪些?

Main配置项


  1. worker_processes:nginx的worker进程数,默认为auto,表示根据系统CPU核数来设置。
  2. worker_connections:每个worker进程能够同时处理的最大连接数,默认为512。
  3. keepalive_timeout:长连接的超时时间,即客户端与服务器保持连接的时间,超过该时间则关闭连接。
  4. server_names_hash_bucket_size:用于存储虚拟主机的hash桶大小,默认为32或64,根据服务器的虚拟主机数量来设置。
  5. client_header_buffer_size:nginx服务器接收客户端请求头的缓冲区大小,默认为1K。

下面是一个完整的 http 块的配置示例:

http {
    # 设置worker进程数
    worker_processes auto;

    # 设置每个worker进程最大连接数
    worker_connections 512;

    # 设置长连接超时时间
    keepalive_timeout 65;

    # 设置server_name的hash桶大小
    server_names_hash_bucket_size 128;

    # 设置客户端请求头缓冲区大小
    client_header_buffer_size 2k;
}

server配置项

用于配置具体的虚拟主机,包括监听的端口、域名、SSL证书、反向代理等。主要的server配置项包括:

  1. listen:指定server监听的端口和IP地址。
  2. server_name:指定虚拟主机的域名,可以设置多个域名,用空格分隔。
  3. root:指定网站的根目录,用于存放静态文件。
  4. index:指定默认的首页文件。
  5. access_log:指定访问日志的保存路径和格式。
  6. error_log:指定错误日志的保存路径和格式。
  7. location:用于配置请求的处理规则,可以包括正则表达式、反向代理等。

下面是一个简单的server块的配置示例:

server {
    # 监听的端口和IP地址
    listen 80;

    # 指定虚拟主机的域名
    server_name example.com www.example.com;

    # 网站的根目录
    root /var/www/example.com;

    # 默认的首页文件
    index index.html;

    # 访问日志的保存路径和格式
    access_log /var/log/nginx/example.access.log combined;

    # 错误日志的保存路径和格式
    error_log /var/log/nginx/example.error.log;

location配置项:

  1. location:用于匹配请求URI,可以使用正则表达式或者精确匹配字符串。例如:
location /images/ {
    root /data/www;
}
  1. alias:用于指定文件系统路径,可以使用正则表达式或者精确匹配字符串。例如:
location /images/ {
    alias /data/www/images/;
}
  1. if:用于判断某个条件是否成立,如果成立则执行特定的操作。例如:
location / {
    if ($request_method = POST) {
        return 405;
    }
}
  1. limit_except:用于限制请求方法。例如:
location / {
    limit_except GET POST {
        deny all;
    }
}
  1. proxy_pass:用于反向代理。例如:
location / {
    proxy_pass http://backend;
}
  1. root:用于指定根目录。例如:
location / {
    root /data/www;
}
  1. try_files:用于按照指定的顺序查找文件。例如:
location / {
    try_files $uri $uri/ /index.html;
}
  1. rewrite:用于重写URI。例如:
location / {
    rewrite ^/admin/(.*)$ /$1 break;
}
  1. error_page:用于指定错误页面。例如:
location / {
    error_page 404 /404.html;
}
相关推荐