Nginx优化--网页压缩与配置防盗链
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,配置Nginx实现网页压缩功能Nginx的ngx http .gzip_ module压缩模块提供对文件内容压缩的功能,允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户
千家信息网最后更新 2025年02月23日Nginx优化--网页压缩与配置防盗链
配置Nginx实现网页压缩功能
Nginx的ngx http .gzip_ module压缩模块提供对文件内容压缩的功能,允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装.可在配置文件中加入相应的压缩功能参数对压缩性能进行优化
压缩功能参数
gzip on:开启gzip压缩输出gzip_ min_ length 1k:用于设置允许压缩的页面最小字节数gzip_ buffers 416k:表示申请4个单位为16k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来储gzip压缩结果zip_ http_ version 1.0:用于设置识别http协议版本,默认是1.1, 目前大部分浏览器已经支持gzip解压,但处理最慢,也比较消耗服务器CPU资源gzip_ _comp_ level 2:用来指定gzip压缩比,1压缩比最小,处理速度最快; 9压缩比最大,传输速度快,但处理速度最慢,使用默认即可gzip_ types text/plain:压缩类型,是就对哪些网页文档启用压缩功能gzip_ vary on:选项可以让前端的缓存服务器缓存经过gzip压缩的页面
网页压缩实例演示
一、编译安装Nginx服务
第一步:远程获取Windows上的源码包,并挂载到Linux上
[root@localhost ~]# smbclient -L //192.168.235.1Enter SAMBA\root's password: Sharename Type Comment--------- ---- -------LNMP Disk [root@localhost ~]# mkdir /abc[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abcPassword for root@//192.168.235.1/LNMP: [root@localhost ~]# [root@localhost ~]# ls /abcDiscuz_X3.4_SC_UTF8.zip nginx-1.12.0.tar.gzerror.png nginx-1.12.2.tar.gzgame.jpg php-7.1.10.tar.bz2mysql-boost-5.7.20.tar.gz php-7.1.20.tar.gz
第二步:解压源码包
[root@localhost ~]# cd /abc[root@localhost abc]# tar zxvf nginx-1.12.0.tar.gz -C /opt[root@localhost abc]# ls /optnginx-1.12.0 rh
第三步:下载安装编译组件包
[root@localhost abc]# cd /opt[root@localhost opt]# yum install -y \> gcc \ //C语言> gcc-c++ \ //c++语言> pcre-devel \ //pcre语言工具> zlib-devel //压缩函数库
第四步:创建程序用户并配置Nginx服务相关组件
[root@localhost opt]# useradd -M -s /sbin/nologin nginx//创建程序用户nginx,并限定其不可登录终端[root@localhost opt]# cd nginx-1.12.0/[root@localhost nginx-1.12.0]# ./configure \ //配置nginx> --prefix=/usr/local/nginx \ //指定安装路径 > --user=nginx \//指定用户名> --group=nginx \//指定用户所属组> --with-http_stub_status_module//安装状态统计模块
第五步:编译与安装Nginx
[root@localhost nginx-1.12.0]# make && make install
第六步:优化Nginx服务启动脚本,并建立命令软连接
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //创建nginx服务命令软链接到系统命令[root@localhost nginx-1.12.0]# systemctl stop firewalld.service //关闭防火墙[root@localhost nginx-1.12.0]# setenforce 0//关闭增强型安全功能[root@localhost nginx-1.12.0]# nginx //输入nginx 开启服务[root@localhost nginx-1.12.0]# netstat -ntap | grep 80 //查看服务的80 端口,显示已开启tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7520/nginx: master
第七步:systemctl管理nginx脚本
[root@localhost ~]# vim /lib/systemd/system/nginx.service ##创建配置文件[Unit]Description=nginx ##描述After=network.target ##描述服务类型[Service]Type=forking ##后台运行形式PIDFile=/usr/local/nginx/logs/nginx.pid ##PID文件位置ExecStart=/usr/local/nginx/sbin/nginx ##启动服务ExecReload=/usr/bin/kill -s HUP $MAINPID ##根据PID重载配置ExecStop=/usr/bin/kill -s QUIT $MAINPID ##根据PID终止进程PrivateTmp=true[Install]WantedBy=multi-user.target[root@localhost ~]# chmod 754 /lib/systemd/system/nginx.service ##设置执行权限[root@localhost ~]# systemctl stop nginx.service ##关闭nginx [root@localhost ~]# systemctl start nginx.service ##开启nginx
二、修改Nginx.conf文件
[root@localhost ~]# cd /usr/local/nginx/conf/[root@localhost conf]# vim nginx.confgzip on;#使用x键删除此行前的井号注释gzip_min_length 1k;#压缩阈值gzip_buffers 4 16k;#buffers大小为4个16k缓冲区大小gzip_http_version 1.1;##压缩版本号gzip_comp_level 6;#压缩比率,最小为1,处理快但传输慢;最大为9,处理慢,但传输快;此处设6,相对适中gzip_types text/plain application/x-javascript text/css image/jpg image/jpegimage/png image/gif application/xml text/javascript application/x-httpd-php application/javascript application/json;#支持的类型格式类型gzip_disable "MSIE [1-6]\.";#配置禁用gzip条件,支持正则表达式,表示ie6以下不启用gzipgzip_vary on;#让前端的缓存服务器缓存经过gzip压缩的页面
三、Nginx网页中放入图片
第一步:复制图片到站点目录
[root@localhost conf]# cd ../html/[root@localhost html]# cp /abc/game.jpg ./[root@localhost html]# ls50x.html game.jpg index.html
第二步:修改站点首页内容
[root@localhost html]# vim index.htmlWelcome to nginx!
##在h2标签下添加图片路径[root@localhost html]# systemctl stop nginx.service [root@localhost html]# systemctl start nginx.service [root@localhost html]# systemctl stop firewalld.service [root@localhost html]# setenforce 0
第四步:打开一台Win10虚拟机验证网页图片压缩
在客户机中安装fiddler.exe抓包软件,并打开浏览器访问192.168.235.158网页
防盗链实例演示
第一步:安装配置DNS域名解析服务
[root@localhost ~]# yum install bind -y[root@localhost ~]# vim /etc/named.conf options { listen-on port 53 { any; }; ... allow-query { any; };[root@localhost ~]# vim /etc/named.rfc1912.zoneszone "accp.com" IN { type master; file "accp.com.zone"; allow-update { none; };}; [root@localhost ~]# cd /var/named/ [root@localhost named]# cp -p named.localhost accp.com.zone#复制模板文件[root@localhost named]# vim accp.com.zone $TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1www IN A 192.168.235.158#IP地址指向本机地址[root@localhost named]# systemctl start named [root@localhost named]# systemctl stop firewalld.service[root@localhost named]# setenforce 0
第二步:打开一台Win7虚拟机,搭建盗链网站
1.创建一个网页内容,修改后缀为index.html
云计算 this is test web
2.搭建网站
3.修改首选DNS服务器地址
第三步:分别访问原网页与盗链网页
第四步:修改Nginx.conf文件
[root@localhost named]# vim /usr/local/nginx/conf/nginx.conflocation ~*\.(jpg|gif|swf)$ { #支持格式 valid_referers none blocked *.accp.com accp.com; #允许用accp.com为后缀访问 if ( $invalid_referer ) { #判断是否被盗链 rewrite ^/ http://www.accp.com/error.png; #判定被盗链就跳转错误图片 }}[root@localhost named]# cp /abc/error.png /usr/local/nginx/html/[root@localhost named]# systemctl stop nginx[root@localhost named]# systemctl start nginx
第五步:在再此访问盗链网页,验证防盗效果
谢谢阅读!!!
服务
网页
配置
文件
功能
图片
服务器
用户
缓存
处理
内容
类型
支持
最小
命令
地址
大小
网站
语言
速度
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
cf回归服务器不给装备
数据库修改客户密码实训总结
风豹互联网科技消费
网络安全不烦恼伴奏下载
数据库运维面试问题及回答技巧
我国几次比较重大的网络安全
辽宁专升本网络技术专业
苹果十三为什么连接不到服务器
智能装备开发软件开发
欧瑞可数据库
a开头数据库文件
ctf网络安全视频
科讯软件开发
win10的服务器管理
移动监控 网络安全
网络安全的问题及解决方法
软件开发的验证过程
ssh 服务器搭建
网络安全性在哪里
网络安全与法律基础
美国蟑螂数据库
相册里的数据库可以删除吗
数据库帐号加密
vue初始化数据库
饥荒联机版四种服务器
软件开发产品定位
武汉科技大学互联网竞赛
绿联nas能当服务器吗
mvc的数据库删除操作日志
怎样应对数据库的安全威胁