本篇主要涉及到内容有:Nginx更改进程数、配置网页压缩、配置防盗链。
1.更改进程数。
更改进程数意味着可以同时开启多个Nginx进程, 这样做的目的主要是在高并发的场景下提快速处理用户的请求,还可以在Nginx临时启动新的进程,减少系统的开销,提升了服务速度。
首先看看看查看进程输的命令:
ps aux | grep nginx 如下图
![](https://img.haomeiwen.com/i21117986/9fd3cb13e577d549.png)
master process 是主进程,开起了一个。worker process 是子进程 ,也开启了一个。
修改Nginx 的配置文件中的worker_processes 参数,一般设为CPU的个数或者核数。
在高并发的情况下可设置为CPU的个数或者核数的2倍。可以先查看下CPU的核数以确定参数。命令如下:
cat /proc/cpuinfo | grep -c "physical"
![](https://img.haomeiwen.com/i21117986/58ea575a906c14e9.png)
默认的情况下,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的工作目录下。
网友评论