Nginx 优化二

2021-05-17  本文已影响0人  编程人生

本篇主要涉及到内容有:Nginx更改进程数、配置网页压缩、配置防盗链。

1.更改进程数。

更改进程数意味着可以同时开启多个Nginx进程, 这样做的目的主要是在高并发的场景下提快速处理用户的请求,还可以在Nginx临时启动新的进程,减少系统的开销,提升了服务速度。

首先看看看查看进程输的命令:

ps aux | grep nginx 如下图

master process 是主进程,开起了一个。worker process 是子进程 ,也开启了一个。

修改Nginx 的配置文件中的worker_processes 参数,一般设为CPU的个数或者核数。

在高并发的情况下可设置为CPU的个数或者核数的2倍。可以先查看下CPU的核数以确定参数。命令如下:

cat /proc/cpuinfo | grep -c "physical"

默认的情况下,Nginx多个进程泡在一颗CPU上,可以分配不同的进程给不同的CPU处理,以充分利用硬件多核多CPU。如在一台4核CPU 服务器上,设置每个进程分别由不同的CPU

核心处理,以达到CPU的性最大化。如下:

worker_processes 2:

worker_cpu_affinity 0001 0010;

二.配置网页压缩

Nginx 的ngx_http_gzip_module 压缩模块提供了对文件内容压缩功能,允许Nginx服务器

将输出内容发送到客户端之前进行压缩,以节约网站的带宽,提升用户的访问体验。

gzip on:开启gzip 压缩输出

gzip_min_length 1k :用于设置允许压缩页面最小字节数。

gzip_buffers 4 16k: 表示申请4个单位为16kb的内存作为压缩结果流缓存,默认值为申请

与原始数据大小相同的内存空间来存储gzip压缩结果。

gzip_http_version 1.1: 用于设置识别http协议版本,默认为1.1,目前大部分浏览器已经支持gzip解压,但处理速度较慢,使用默认即可。

gzip_comp_level 2 : 用来指定gzip 压缩比,压缩比1最小,处理速度最快; 压缩比9最大,传输速度快,但处理速度最慢,使用默认即可。

gzip_types test/plain :压缩类型,是指对那些网页文档启用压缩功能。

gzip_vary on :该选项可以让前端的缓存服务器缓存经过gzip 压缩页面。

三.配置防盗链

防盗链功能可以避免网站内容被非法盗用,造成经济损失,也避免不必要的宽带浪费。

如下:

192.168.78.168  www.bt.com    源主机

192.168.78.188  www.test.com 盗链主机

1.修改Windows 的C:\Window\System32\drivers\etc\hosts文件,设置域名和IP映射关系。

192.168.85.135  www.bt.com

192.168.85.138  www.test.com

2.修改两台Centos 的Hosts 文件,设置域名和IP映射关系。

vi /etc/hosts

192.168.78.135 www.bt.com

192.168.78.138 www.test.com

3.把图片logo.jgp 放到源主机bt.com 的工作目录下

cd /usr/local/nginx/html/

4.在盗链主机test.com的工作目录编写盗链页面index.com,盗取源主机bt.com图片

cd usr/local/nginx/html

vi index.html

<html>

<head><head>

<body>

        <img src ="http://www.bt.com/logo.jpg">

</body>

<html>

5.访问盗链的网页,http://www.test.com/index.html

6.配置Nginx防盗链

vi nginx.conf

location ~*\.(jpg|gif|swf)${

        valid_referers none blocked *.test.com test.com;

       if($invalid_referer){

                    rewrite ^/http://www.bt.com/errro.png;

         }

}

下面分析下这段代码:

~*\.(jpg|gif|swf)$:正则表达式,表示匹配不区分大小写,以.jpg或.gif或者.swf结尾的文件。

 valid_referers:设置信任的网站,可以正常使用图片

none:在浏览器中referer 为空的情况,就是直接在浏览器访问图片。

blocked:浏览器中referer 不为空的情况,但是值被代理或防火墙删除了,这些值不以https://或者http://开头

后面的网址或者域名:referer中包含相关字符串的网址。

7.把error.png 放到源主机bt.com的工作目录下。

上一篇 下一篇

猜你喜欢

热点阅读