user指令

user:用于配置运行Nginx服务器的worker进程的用户和用户组。

语法 user user [group]
默认值 nobody
位置 全局块

该属性也可以在编译的时候指定,语法如下./configure --user=user --group=group,如果两个地方都进行了设置,最终生效的是配置文件中的配置。

配置/usr/local/nginx/conf/nginx.conf:

Nginx:全局块的相关指令

重新加载:/usr/local/nginx/sbin/nginx -s reload

Nginx:全局块的相关指令

这时候,直接报错,所以我们先创建一个用户,再重新启动nginx

useradd wj

查看nginx进程信息:worker进程的用户已经变成wj了

Nginx:全局块的相关指令

创建/root/html/index.html:

<h1>
    i am wj
</h1>

修改nginx配置文件:

Nginx:全局块的相关指令

重新加载配置并访问:发现403,禁止访问,这是因为当前用户没有访问/root/html目录的权限。

Nginx:全局块的相关指令

这里将html移动到/home/wj/html下面,并配置:

Nginx:全局块的相关指令

就可以访问了:

Nginx:全局块的相关指令

所以:使用user指令可以指定启动运行工作进程的用户及用户组,这样对于系统的权限访问控制的更加精细,也更加安全。

work process指令

master_process:用来指定是否开启工作进程。

语法 master_process on|off;
默认值 master_process on;
位置 全局块

worker_processes:用于配置Nginx生成工作进程的数量,这个是Nginx服务器实现并发处理服务的关键所在。理论上来说workder process的值越大,可以支持的并发处理量也越多,但事实上这个值的设定是需要受到来自服务器自身的限制,建议将该值和服务器CPU的内核数保存一致

语法 worker_processes num/auto;
默认值 1
位置 全局块

如果将worker_processes设置成2,则会看到如下内容:

Nginx:全局块的相关指令

daemon指令

daemon:设定Nginx是否以守护进程的方式启动。

守护式进程是linux后台执行的一种服务进程,特点是独立于控制终端,不会随着终端关闭而停止。

语法 daemon on|off;
默认值 daemon on;
位置 全局块

pid指令

pid:用来配置Nginx当前master进程的进程号ID存储的文件路径。

语法 pid file;
默认值 默认为:/usr/local/nginx/logs/nginx.pid
位置 全局块

该属性可以通过./configure --pid-path=PATH来指定

error_log指令

error_log:用来配置Nginx的错误日志存放路径

语法 error_log file [日志级别];
默认值 error_log logs/error.log error;
位置 全局块、http、server、location

该属性可以通过./configure --error-log-path=PATH来指定

其中日志级别的值有:debug|info|notice|warn|error|crit|alert|emerg,翻译过来为试|信息|通知|警告|错误|临界|警报|紧急,这块建议大家设置的时候不要设置成info以下的等级,因为会带来大量的磁盘I/O消耗,影响Nginx的性能。

include指令

用来引入其他配置文件,使Nginx的配置更加灵活

语法 include file;
默认值
位置 any

例如:

echo "worker_processes 4;" > /usr/local/nginx/conf/my.conf

修改配置文件:

Nginx:全局块的相关指令

重新加载配置文件,观察nginx进程:配置生效

Nginx:全局块的相关指令

相关文章: