在前面的篇章中,我们介绍了如何安装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;
如下图所示:
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}
如下图所示:
2.2 连接数说明
nginx支持的总连接数=worker_processes * worker_connections,这里的worker_processes一般是指cpu的核数,为了便于理解,可以查看一下图示:
官网截图
基本图示原理
三、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}
如下图所示:
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}
如下图所示:
Server配置项
四、结束语
本篇主要是简单的介绍了一下nginx的配置文件,当然这里的配置是非常基础的,更多的配置还需要根据具体的技术要求去参考官网的配置说明。