Nginx优化--网页压缩与配置防盗链
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,配置Nginx实现网页压缩功能Nginx的ngx http .gzip_ module压缩模块提供对文件内容压缩的功能,允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
互联网络科技
云之行互联网科技
今日互联网科技
上海万想互联网科技
四个字互联网科技公司取名
哈尔滨新华互联网科技学院
随着互联网科技发展
健康食品互联网创新科技园项目
乌鲁木齐新华智原互联网科技学校
东莞新华互联网科技学校
四川慕妮娅互联网科技有限公司
长沙互联网科技
电子商务与互联网科技的关系
银行科技岗属于互联网吗
领航科技大厦互联网公司
神州科技互联网有限公司
济南小医互联网科技有限公司招聘
同城互联网络科技
互联网的科技体现在哪里
互联网科技品牌
深圳九邦互联网科技有限公司
互联网科技工作委员会主任
中国互联网科技工作委员会毛军
玖二柒互联网科技公司待遇
剑昆互联网络科技有限公司临桂
崇明区互联网教育科技售后服务
科技赋能视角下互联网保险发展
21世纪互联网科技成就
工业互联网科技创业
杭州科技互联网公司有哪些