您当前的位置:首页 > 计算机 > 服务器 > Nginx

干货 | Nginx 配置文件详解

时间:12-14来源:作者:点击数:

今天就带大家一起掌握下nginx服务配置文件

nginx配置文件介绍

1、nginx目录结构介绍

图片

2、nginx核心配置文件nginx.conf

在上面nginx服务目录介绍中;

其中/usr/local/nginx/conf/nginx.conf是nginx服务主配置文件,也是其核心配置文件,是我们今天学习的重点。

我们去掉包含#号和空号的内容,大致看下nginx.conf配置文件结构

图片

会不会看起来有点眼花?我再提供一张无注释的原图,对比下吧

图片

想必你已经看出来了,我们把nginx.conf配置文件分为三部分:

第一部分:全局块

从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。

#定义Nginx运行的用户和用户组

user nginxnginx;

#nginx进程数,建议设置为等于CPU总核心数

worker_processes8;

#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

error_log/var/log/nginx/error.loginfo;

#进程文件

pid/var/run/nginx.pid;

#nginxworker最大打开文件数,可设置为系统优化后的ulimit -n的结果

worker_rlimit_nofile65535;

第二部分:events块

events

{

#epoll模型是Linux 2.6以上内核版本中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型

useepoll;

#单个worker进程最大连接数(nginx最大连接数=worker连接数*进程数)

worker_connections65535;

}

第三部分:http块

这部分应该是 Nginx 服务器配置中最频繁的部分;代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。

前面提到,我们将http块分为:http全局块server块

我们先看下http全局块配置

http 
{
include mime.types; #nginx支持的媒体类型库文件
default_type application/octet-stream; #默认媒体文件类型
#charset utf-8; #默认编码
server_names_hash_bucket_size 128; #服务器名字的hash表大小
client_header_buffer_size 32k; #上传文件大小限制
sendfile on; #开启高效文件传输模式,实现内核零拷贝
autoindex off; #开启目录列表访问,适合下载服务器,默认关闭。
keepalive_timeout 120; #长连接超时时间,单位是秒
}   

 

我们再看下server块的配置,即虚拟主机的配置

server #网站配置区域
{
   listen 80;     #默认监听80端口
    server_name www.lulu.com;    #提供服务的域名主机名
    location / { 
            root html;   
            #站点根目录(这里html是相对路径,默认网站根目录为:/usr/local/nginx/html)
            index index.thml index.htm;  #默认首页文件,多个用空格分开
    }
    error_page 500 502 503 504  /50x.html;    #出现对应http状态码时,使用50x.html回应客户
    location = /50x.thml {
    root    html;     #指定对应目录
    }
} 

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐