在前面的篇章中,我们介绍了如何安装nginx,但是安装完成之后,一般我们都需要进行修改配置然后为我们所用,本篇就介绍一下nginx的核心配置文件中的各个模块,以及简单的配置项说明,以便后面使用的使用更加容易理解。

一、基本配置

nginx的基本配置文件是nginx.conf

1.1 配置项

打开nginx.conf文件,我们首先看到的是基本配置,其配置如下:

1    # 配置worker进程运行用户2    user  nginx;3    # 配置工程进程数目,根据硬件配置,一般是和CPU数量一致,或者CPU数量的2倍,能达到最佳性能4    worker_processes  1;5    # 配置全局错误日志文件以及配置级别 [ debug | info | notice | warn | error | crit ] 6    error_log  /var/log/nginx/error.log warn;  7    # 配置进程pid文件8    pid  /var/run/nginx.pid;

如下图所示:




nginx日志 400 0 nginx日志级别配置_基本配置


1.2 nginx日志

在配置nginx.conf 的时候,有一项是指定错误日志的,默认情况下你不指定也没有关系,因为nginx很少有错误日志记录的。但有时出现问题时,是有必要记录一下错误日志的,方便我们排查问题。error_log 级别分为 debug, info, notice, warn, error, crit 默认为crit, 该级别在日志名后边定义格式如下:

1error_log  /your/path/error.log crit;

crit 记录的日志最少,而debug记录的日志最多。如果你的nginx遇到一些问题,比如502比较频繁出现,但是看默认的error_log并没有看到有意义的信息,那么就可以调一下错误日志的级别,当你调成error级别时,错误日志记录的内容会更加丰富。

二、events配置

2.1 配置

events是配置工作模式和连接数,配置如下:

1events {2    worker_connections  1024;  # 配置每个worker进程连接数上限3}

如下图所示:


nginx日志 400 0 nginx日志级别配置_nginx_02


2.2 连接数说明

nginx支持的总连接数=worker_processes * worker_connections,这里的worker_processes一般是指cpu的核数,为了便于理解,可以查看一下图示:


nginx日志 400 0 nginx日志级别配置_nginx日志 400 0_03

官网截图


nginx日志 400 0 nginx日志级别配置_nginx_04

基本图示原理


三、http配置

3.1 基本配置

基本配置包括支持的mime类型,日志格式,是否开启压缩等,如下所示:

1http { 2    include       /etc/nginx/mime.types; 3    default_type  application/octet-stream; 4    # 日志格式 5    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' 6                      '$status $body_bytes_sent "$http_referer" ' 7                      '"$http_user_agent" "$http_x_forwarded_for"'; 8    access_log  /var/log/nginx/access.log  main; 9    sendfile        on;10    #tcp_nopush     on;11    keepalive_timeout  65;12    #gzip  on;13    include /etc/nginx/conf.d/*.conf;14}

如下图所示:


nginx日志 400 0 nginx日志级别配置_nginx日志 400 0_05

Http配置项


3.2 server配置

server是属于http模块内部的,一个http可以包括多个server配置,其配置如下所示:

1server { 2    listen       80; 3    server_name  localhost; 4 5    #charset koi8-r; 6    #access_log  /var/log/nginx/host.access.log  main; 7 8    location / { 9        root /usr/local/nginx;10        index  index.html index.htm;11    }1213    #error_page  404              /404.html;1415    # redirect server error pages to the static page /50x.html16    #17    error_page   500 502 503 504  /50x.html;18    location = /50x.html {19        root   /usr/share/nginx/html;20    }2122    # deny access to .htaccess files, if Apache's document root23    # concurs with nginx's one24    #25    #location ~ /.ht {26    #    deny  all;27    #}28}

如下图所示:


nginx日志 400 0 nginx日志级别配置_html_06

Server配置项


四、结束语

本篇主要是简单的介绍了一下nginx的配置文件,当然这里的配置是非常基础的,更多的配置还需要根据具体的技术要求去参考官网的配置说明。