这篇文章将为大家详细讲解配置nginx实现防盗链以及优化FPM的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
配置nginx实现防盗链
在企业网站服务中,一般都要配置防盗链功能,以避免网站内容被非法盗用,造成经济损失
nginx防盗链功能也非常强大。默认情况下,只需要进行简单的配置,即可实现放到链处理
实验环境
一台nginx服务器,一台测试客户机,一台盗链机
实验过程
1.nginx服务器上部署nginx服务
nginx部署成功!
2.配置盗链机
创建盗链机的网页
除非用本地的域名去访问
如果匹配的是无效的,否则就跳转一个error.png页面
配置说明
- valid_referers:设置信任的网站,即能引用相应图片的网站
- none:浏览器中referer为空的情况,就是直接在浏览器访问图片
- blocked:referer不为空的情况,但是值被代理或者防火墙删除了,这些值不以http://或者https://开头
- 后面的网址或者域名referer中包含相关字符串的网址
- if’语句:如果链接的来源域名不再valid_referers所列出的列表中,$invalid-referer为1,则执行后面的操作,即执行重写或返回403页面
[root@localhost ~]# cd /usr/local/nginx/
[root@localhost nginx]# ls
client_body_temp fastcgi_temp logs sbin uwsgi_temp
conf html proxy_temp scgi_temp
[root@localhost nginx]# cd html/
[root@localhost html]# ls
50x.html index.html qq.jpg
[root@localhost html]# mount.cifs //192.168.254.10/linuxs /abc
Password for root@//192.168.254.10/linuxs:
[root@localhost html]# cd /abc
[root@localhost abc]# ls
error.png
[root@localhost abc]# cp error.png /usr/local/nginx/html/
[root@localhost abc]# cd -
/usr/local/nginx/html
[root@localhost html]# ls
50x.html error.png index.html qq.jpg
[root@localhost html]# grep "qq.jpg" index.html
<img src="qq.jpg">
[root@localhost html]# service nginx start
[root@localhost html]# netstat -natp | grep 80
tcp 0 0 192.168.247.193:80 0.0.0.0:* LISTEN 3038/nginx: master
使用域名,需要使用dns解析服务
搭建dns详见我前面的博客
然后指定盗链主机和客户机的dns服务器
开始设置盗机
在win10内打开控制面板,控制面板内打开程序和功能,里面有开启或者关闭功能,点击
然后点击internet informatoion servers
关闭盗机防火墙
然后客户端去访问盗机网站
盗链成功,接下来做防盗链操作:
[root@localhost html]# vim /usr/local/nginx/conf/nginx.conf
location ~*\.(jpg|gif|swf)$ {
valid_referers none blocked *.shl.com shl.com;
if ( $invalid_referer ) {
rewrite ^/ http://www.shl.com/error.png;
}
}
重启nginx服务
[root@localhost named]# service nginx stop
[root@localhost named]# service nginx start
防盗链配置成功
FPM优化参数调整示例
- 优化原因:服务器为云服务器,运行了个人论坛,内存为1.5G,fpm进程数为20,内存消耗近1G,处理比较慢
- 优化参数调整
FPM启动时有5个进程,最小空闲2个进程,最大空闲8个进程,最多可以有20个进程的存在 [root@localhost ~]# vim /usr/local/php/etc/php-fpm.conf
pid = run/php-fpm.pid
pm = dynamic
pm.max_children=20
pm.static_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
以上就是配置nginx实现防盗链以及优化FPM的详细内容了,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注天达云行业资讯!