这一篇博文主要是对前文中Nginx的知识点进行补充,了解一下Nginx的配置文件中常用的配置项的具体意义,目的不在于说掌握多少多少复杂的配置项,至少要对自己写过的conf文件了解,以下内容参考书籍《深入理解Nginx-模块开发与架构解析》第二章。

Nginx基础配置项

下图是博主目前所装的Nginx的默认配置文件 /etc/nginx/nginx.conf的内容,博主去除了http块的内容

centos7 nginx配置账号密码登录 nginx配置user_nginx

Nginx worker进程运行的用户及用户组

语法:user username [groupname];
默认:user nobody nobody;
user用于设置master进程齐总后,fork出的worker进行运行在哪个用户和用户组下。当按照“user username;”设置时,用户组名与用户名相同。
若用户在configure命令执行时使用了参数–user=username 和–group=groupname,此时nginx.conf将
使用参数中指定的用户和用户组。

Nginx worker进程个数

这里是优化性能的配置项。
语法:worker_processes number;
默认:worker_processes:1;
在master/worker运行方式下,定义worker进程的个数。worker进程的数量会直接影响性能。一般情况下,用户要配置与CPU内核书相等的worker进程。

如何查看当前服务器的CPU数量和CPU核心数 
 cat /proc/cpuinfo| grep “physical id”| sort| uniq| wc -l 
 cat /proc/cpuinfo| grep “cpu cores”| uniq

centos7 nginx配置账号密码登录 nginx配置user_nginx_02

可以看出博主目前使用的是单核CPU,(嗨呀,服务端大佬有点小气啊,就给我分配了这么一个虚拟机!!!)

error日志的设置

语法:error_log /path/file lever;
默认:error_log logs/error.log error;
error日志是定位Nginx问题的最佳工具,我们可以根据自己的需求妥善设置error日志的路径和级别。
/path/file参数可以使一个具体的文件,例如上文提到的默认清晰下,最好将它放到一个磁盘空间足够大的位置;也可以是/dev/null ,这样就不会输出任何日志了,这也是关闭error日志的唯一手段。
level是日志的输出级别,取值范围是debug,info,notice,warn,error,crit,alert,emerg,从左至右级别一次增大。当设定一个界别是,大于或等于该级别的日志都会被输出到/path/file文件中,小鱼该级别的日志则不会输出。

pid文件的路径

语法:pid /path/file;
默认:pid logs/nginx.pid;
保存master进程ID的pid文件存放路径。默认与configure执行时的参数“–pid-path”所指定的路径是相同的,也 可以随时修改,但应确保Nginx有权在相应的目标中创建pid文件,该文件直接影响Nginx是否可以运行。

每个worker的最大连接数

语法:worker_connections number;
定义每个worker进程可以同时处理的最大连接数