目的:在高并发的环境中,需要启动更多的 nginx 进程以保证快速响应,用以处理用户的请求,避免造成阻塞。
(1)可使用命令:ps aux | grep nginx ,查看 nginx 的运行个数。
其中,master process 是主进程;worker process 是子进程;以上可以看出主进程和子进程各是一个。
(2)修改 nginx 配置文件中的 worker_processes 参数,一般设置为 CPU 的个数或者核数,在高并发的情况下,可设置为 CPU 的个数或者核数的 2倍。此时把虚拟机处理器个数改成2个,在查看一下。
1、查看CPU核数命令: cat /proc/cpuinfo |grep -c "physical"
2、修改 nginx配置文件中的参数,可以设置分配不同进程给不同CPU处理,以达到CPU的性能最大化。
worker_processes 2; //参数设置成2;
worker_cpu_affinity 01 10; //分配进程;
Nginx 的 ngx_http_gzip_module压缩模块提供对文件内容压缩的功能;允许nginx 服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装;可在配置文件中加入相应的压缩功能参数对压缩性能进行优化。
gzip on; //开启gzip压缩功能;
gzip_min_length 1k; //设置压缩的页面最小字节数;
gzip_buffers 4 16k; //申请4个单位为16KB的内存作为压缩结果流缓存;
gzip_http_version 1.1; //压缩版本号;
gzip_comp_level 6; //压缩比率,最小为1,处理速度快,传输速度慢,9最大压缩比,处理速度慢,传输速度快;
gzip_types text/plain application/x-javascript text/css image/jpg image/jpeg image/png image/gif application/xml text/javascript application/x-httpd-php application/javascript application/json;
//压缩类型,是指对那些网页文档启用压缩功能;
gzip_disable "MSIE [1-6]\.";
//配置禁用gzip条件,支持正则表达式,表示ie6以下版本不启用gzip;
gzip_vary on;
//表示支持very header,可以让前端的缓存服务器经过gzip压缩页面;
(1)在nginx网页html中,添加一张图片:
(2)重启服务后,访问网站抓取数据报文,查看是否使用了gzip压缩:
Nginx 的PHP解析功能实现如果是交给FPM 处理的,为了提高PHP的处理速度,可对FPM 模块进行参数的调整。
(1)首先安装带有 FPM模块的PHP 环境,保证PHP 可以正常运行;
(2)FPM 进程有两种启动方式,由pm 参数指定,分别是 static 和dynamic,前者将产生固定的 fpm进程,后者将以动态的方式产生 fpm进程。
vim php-fpm.conf
pid = run/php-fpm.pid
pm = dynamic
pm.max_children=20 //static模式下空闲进程数上限,大于下面的值;
pm.start_servers = 5 //动态方式默认开启的进程数,在最小和最大之间
pm.min_spare_servers = 2 //动态方式下最少空闲进程数
pm.max_spare_servers = 8 //动态方式下最大空闲进程数
和Apache一样,在企业网站服务当中,一般都要配置防盗链,以避免网站内容被非法盗用,造车损失,和带宽浪费。Nginx 的防盗链功能十分强大,在默认的情况下,进行简单的配置,即可实现防盗链。
####实验说明:准备两台虚拟机,一台作为网站源主机,一台作为盗链网站(盗用源主机的图片);在源主机上设置防盗链,禁止除本地外的其他网站盗链。
IP地址 | 用途 |
---|---|
192.168.220.140 (域名:www.kgc.com) | 源主机 |
192.168.220.132 | 盗链主机 |
(1)第一步:一台win10虚拟机,做盗链网站,为了实验效果,做一个txt文档,然后修改其扩展名为 html即可。
1、txt文档内容如下:
2、修改扩展名:
控制面板 → 程序 →启用或关闭Windows功能 →开启Internet Information Service
将文件拖到c盘---------inetpub-------wwwroot 中去:
3、关闭防火墙,防止数据被拦截。
(2)第二步:访问盗链网站,查看是否盗链成功。
(3)第三步:现在,在源主机上设置防盗链,禁止其他网站盗用上面这张熊猫图片。
1、修改nginx配置文件,添加以下代码:
location ~*\.(jpg|gif|swf)$ {
//这段正则表达式,表示不区分大小写,以jpg、gif、swf结尾的文件;
valid_referers none blocked *.kgc.com kgc.com;
//信任以kgc.com域名为结尾的网站访问;
if ( $invalid_referer ) {
rewrite ^/ http://www.kgc.com/error.png;
//如果链接的来源域名不在valid_referers 的所列中,则执行后面的操作,即把error.png放到源主机工作目录下;
}
}
[root@Nginx conf]# systemctl stop nginx.service
[root@Nginx conf]# systemctl start nginx.service