Linux下nginx服务的配置文件nginx.conf中启动nginx服务的用户的讲解+nginx工作的进程数量(即worker进程数的个数)的讲解+每个进程的最大连接数的讲解+防止网络阻塞的讲解

续我的博文:https://mp.csdn.net/postedit/89478072即nginx已经完成源码编译的安装。

一、启动nginx服务的用户的讲解

我这里的配置是:启动nginx服务的用户为nginx用户

1、首先添加nginx用户

[root@server1 ~]# useradd -M -d /usr/local/nginx/ -s /sbin/nologin nginx
[root@server1 ~]# id nginx
uid=1001(nginx) gid=1001(nginx) groups=1001(nginx)

2、其次修改nginx.conf文件

[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf   #将其中的第二行修改为如下的内容
 2 user  nginx nginx;

[root@server1 ~]# /usr/local/nginx/sbin/nginx -s reload   #修改完配置文件之后,重新加载ngin服务

3、测试:

扫描二维码关注公众号,回复: 6023619 查看本文章
[root@server1 ~]# ps -ef | grep nginx
root      2283     1  0 11:23 ?        00:00:00 nginx: master process /usr/localnginx/sbin/nginx
nginx     2324  2283  0 11:28 ?        00:00:00 nginx: worker process
root      2326  2037  0 11:28 pts/0    00:00:00 grep --color=auto nginx

从上面的测试结果,我们可以看到worker进程是由nginx用户开启的,而不是由之前的nobody用户开启的。

二、nginx工作的进程数量(即worker进程数的个数)的讲解

我这里的配置是:auto(即系统有几个cpu,就开启几个worker进程)

1、修改nginx.conf文件

[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf   #将其中的第三行修改为如下的内容
 3 worker_processes  auto;

[root@server1 ~]# /usr/local/nginx/sbin/nginx -s reload   #修改完配置文件之后,重新加载ngin服务

2、测试:

[root@server1 ~]# lscpu 
CPU(s):                2


[root@server1 ~]# ps -ef | grep nginx
root      2283     1  0 11:23 ?        00:00:00 nginx: master process /usr/localnginx/sbin/nginx
nginx     2329  2283  0 11:29 ?        00:00:00 nginx: worker process
nginx     2330  2283  0 11:29 ?        00:00:00 nginx: worker process
root      2333  2037  0 11:29 pts/0    00:00:00 grep --color=auto nginx

从上面的测试结果,我们可以看到cpu的个数为2,开启的worker进程数也为2。

三、每个进程的最大连接数的讲解

每个进程的最大连接数的限制,取决于三个条件(三个条件中的值取最小的那一个):

  1. 内核的限制
  2. 系统的限制
  3. 服务硬件的限制

我这里配置的是:65536

1、修改nginx.conf文件(相当于修改服务硬件的限制)

[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf   #将其中的第13行的默认值1024该为65535
 12 events {
 13     worker_connections  65536;
 14 }

[root@server1 ~]# /usr/local/nginx/sbin/nginx -s reload   #修改完配置文件之后,重新加载ngin服务

2、修改内核的限制,即修改/etc/security/limits.conf文件

[root@server1 ~]# ulimit -n
1024
[root@server1 ~]# vim /etc/security/limits.conf   #在文件的最后一行,添加如下的内容
nginx   -       nofile  65536

#因为/etc/security/limits.conf文件中是对nginx用户进行的限制,所以需要切换到nginx用户进行查看。但是,之前添加的nginx用户是禁止登录的。所以这里无法进行验证。

3、查看系统的限制

[root@server1 ~]# sysctl -a | grep file
fs.file-max = 98240   #系统的限制为98240
fs.file-nr = 832	0	98240
fs.xfs.filestream_centisecs = 3000

四、防止网络阻塞的讲解

1、修改nginx.conf文件

[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf   #将其中的第28行的注释去掉,在29行加入下面的内容
 28     tcp_nopush     on;
 29     tcp_nodelay     on;

[root@server1 ~]# /usr/local/nginx/sbin/nginx -s reload   #修改完配置文件之后,重新加载ngin服务

猜你喜欢

转载自blog.csdn.net/qq_42303254/article/details/89512198
今日推荐