1、隐藏Nginx版本号信息

编辑nginx.conf配置文件在http标签增加”server_tokens off;“参数,实现隐藏Nginx版本号的方式如下:

##在http
{}内添加

http     {

            server_tokens
off;

            }

curl命令进行查看Nginx版本号;

通过-I或者–head可以只打印出HTTP头部信息;

server_tokens参数的官方说明如下:

syntax:    server_tokens on|off;   #此行为参数语法,on为开启,off为关闭

default:    server_tokens on;        #此行意思是不配置该参数,软件默认情况的结果

context:    http,server,location    #此行为server_tokens参数可以放置的位置

官方资料地址:http://nginx.org/en/docs/http/ngx\_http\_core\_module.html

修改前查看:

[root@jiufengjing nginx]#
curl -I 192.168.100.102

HTTP/1.1 200
OK

Server:
nginx/1.14.0

Date: Fri, 17 Aug 2018
07:52:34 GMT

Content-Type:
text/html

Content-Length:
612

Last-Modified: Wed, 15 Aug
2018 06:58:33 GMT

Connection:
keep-alive

ETag:
“5b73cf19-264”

Accept-Ranges:
bytes

配置完成之后保存,重新加载,再次curl查看,结果如下:

[root@jiufengjing nginx]#
curl -I 192.168.100.102

HTTP/1.1 200
OK

Server:
nginx

Date: Fri, 17 Aug 2018
07:54:37 GMT

Content-Type:
text/html

Content-Length:
612

Last-Modified: Wed, 15 Aug
2018 06:58:33 GMT

Connection:
keep-alive

ETag:
“5b73cf19-264”

Accept-Ranges:
bytes

DOS下windows系统查看wifi密码

情况描述:

2、修改源代码完成隐藏版本号及Nginx软件名

[root@jiufengjing
nginx-1.14.0]# cd /usr/src/nginx-1.14.0/src/core/

[root@jiufengjing core]#
vim nginx.h

#define NGINX_VERSION     
“6.6.6”   #修改为想要的版本号

#define NGINX_VER         
“jiufengjing.com/” NGINX_VERSION 
#修改为想要改的软件名称

#define NGINX_VAR         
“jiufengjing.com”    #修改为想要改的软件名称

修改之后需要重新编译安装Nginx

[root@jiufengjing ~]# cd
/usr/src/nginx-1.14.0/

[root@jiufengjing
nginx-1.14.0]#./configure –prefix=/usr/local/nginx –user=nginx
–group=nginx –with-http_stub_status_module –with-http_ssl_module
&& make && make install

启动nginx:

[root@jiufengjing core]#
curl -I 192.168.100.102

HTTP/1.1 200
OK

Server:
jiufengjing.com/6.6.6

Date: Mon, 20 Aug 2018
04:36:38 GMT

Content-Type:
text/html

Content-Length:
612

Last-Modified: Wed, 15 Aug
2018 06:58:33 GMT

Connection:
keep-alive

ETag:
“5b73cf19-264”

Accept-Ranges:
bytes

首先,按win+R键,win键如下

 
当安装某些软件后,磁盘根目录中多出了msdia80.dll文件,该文件显示为2006年12月1日,884KB。

3、更改Nginx服务的默认用户

为了让Web服务更安全,尽可能改掉软件默认的所有配置,包括端口、用户等;

查看Nginx服务对应的默认用户;

[root@jiufengjing ~]# grep
“#user” /usr/local/nginx/conf/nginx.conf.default

#user
nobody;

图片 1

 

为Nginx服务建立新用户:

[root@jiufengjing ~]#
useradd -M -s /sbin/nologin nginx

[root@jiufengjing ~]# id
nginx              #检查用户

uid=1001(nginx)
gid=1001(nginx) groups=1001(nginx)

更改Nginx服务默认使用的用户,方法有两种:

第一种为直接更改配置文件参数,将默认的#user
nobody修改如下内容

user     nginx   
 nginx;

如果注释或不设置上述参数,默认即是nobody用户;

第二种为直接在编译nginx软件时指定编译的用户和组:

./configure
–prefix=/usr/local/nginx –user=nginx –group=nginx
–with-http_stub_status_module
–with-http_ssl_module

通过上述修改后Nginx进程,可以看到worker
processes进程对应的用户都变成了nginx;

[root@jiufengjing ~]# ps
-ef|grep nginx

root 8260 1 0 01:59 ?
00:00:00 nginx: master process
/usr/local/nginx/sbin/nginx

nginx 8261 8260 0 01:59 ?
00:00:00 nginx: worker process

root 8423 3139 0 03:28 pts/1
00:00:00 grep –color=auto nginx

弹出框中输入cmd

原因:

4、根据参数优化Nginx服务性能

优化Nginx服务的worker进程个数:

在高并发,高访问量的Web服务场景,需要事先启动好更多的Nginx进程,以保证快速响应并处理大量并发用户的请求,而worker进程数并不是越多越好,就像饭店的服务员一样,服务员过多,没事做,饭店的成本也高;

优化Nginx进程对应Nginx服务的配置参数如下;

worker_processes 1;         
     
#指定了Nginx要开启的进程数,结尾的数字就是进程的个数;

Nginx有Master进程和Worker进程之分,Master为管理进程,worker是工作进程。

通过/proc/cpuinfo可查看CPU个数及总核数;

[root@jiufengjing ~]# grep
processor /proc/cpuinfo|wc -l

1

[root@jiufengjing ~]# grep
-c processor /proc/cpuinfo

1

#此处的1表示1颗1核的CPU

查看CPU总核数的示例如下:

[root@jiufengjing ~]# grep
“physical id” /proc/cpuinfo |sort|uniq|wc -l

1                #对phsical id
去重计算,表示1颗CPU

通过执行top命令,然后按数字1,即可显示所有的CPU核数,如下:

top – 03:54:36 up 5:36, 2
users, load average: 0.00, 0.01, 0.05

top – 03:55:08 up 5:37, 2
users, load average: 0.00, 0.01, 0.05

Tasks: 100 total, 2 running,
98 sleeping, 0 stopped, 0 zombie

%Cpu(s): 0.0 us, 0.0 sy, 0.0
ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 481876 total,
152564 free, 128512 used, 200800 buff/cache

KiB Swap: 2097148 total,
2097148 free, 0 used. 309148 avail Mem

#这里是单核CPU的信息 

有关worker_process参数的官方说明如下:

syntax:    worker_processes number:#此行为参数语法,number为数量

default:    worker_processes 1    #此行意思是不配置该参数,软件默认情况为1

context:    main               #此行为worker_processes参数可以放置的位置

worker_processes为定义worker进程数的数量,建议设置为CPU的核数或者cpu核数*2的进程数,具体情况要根据实际业务来进行选择。除了要和CPU核数的匹配外,

和硬盘存储的数据以及系统的负载也会有关,设置为CPU的个数或核数是一个好的起始配置。

图片 2

  当使用64位操作系统时,在电脑上安装 Microsoft Visual
C++ 2005 可再发行组件时, 
Msdia80.dll文件被安装在启动驱动器的根文件夹中。

5、优化绑定不同的Nginx进程到不同CPU上

默认情况Nginx的多个进程有可能跑在某一个或某一核的CPU上,导致Nginx进程使用硬件的资源不均。可以分配不同的Nginx进程给不同的CPU处理,达到充分有效利用硬件的多CPU多核资源的目的。

worker_processes  1;

worker_cpu_affinity 0001 0010 0100 1000;

#worker_cpu_affinity就是配置nginx进程CPU亲和力的参数,即把不同的进程分给不同的CPU处理。

这里0001 0010 0100
1000是掩码,分别代表1、2、3、4核cpu核心,由于worker_processes进程数为4,因此上述配置会把每个进程分配一核CPU处理,默认情况下进程不会绑定任何CPU,参数位置为main段。

worker_cpu_affinity参数的官方说明如下:

syntax:    worker_cpu_affinity cpumask…..#此行为cpu亲和力参数语法,cpumask为cpu掩码

default:    —                                         
  #默认不配置

context:    main                            #此行为worker_cpu_affinty参数可以放置的位置

worker_cpu_affinity的作用是绑定不同的worker进程到一组CPU上。通过设置bitmask控制允许使用的CPUS,默认worker进程不会绑定到任何CPUS。

在弹出界面输入 netsh wlan show profiles
你可以看到你链接过的所有wifi名称(我只链接了一个wifi)

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注