Nginx优化--网页压缩与配置防盗链
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,配置Nginx实现网页压缩功能Nginx的ngx http .gzip_ module压缩模块提供对文件内容压缩的功能,允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
无法访问打印服务器
继电保护电子数据库
游戏服务器没有响应
数据库如何防止远程登录
超星电子图书数据库
网络技术大学课件
k3服务器建立中间层
数据库外键 要不要
电脑服务器账号密码忘了怎么办
陕西锐捷网络技术有限公司
大学生网络安全期末论文
天津发展软件开发售后保障
网络技术中的各种1单位
软件开发秒杀模块流程
我的世界离线账号怎么加入服务器
天河小程序软件开发方案
网络安全实行分级保护
搭建h5需要配置服务器
dell服务器硬盘型号
X86和Arm服务器成本对比
守护家园安全网络安全总结
土地利用数据库标准2018下载
天津时代网络技术代理商
光网络技术研究中心
网络安全工程师招
荆州有软件开发岗位吗
诺奖提名数据库
电网管理软件开发企业
南方农村不动产数据库软件
网络安全主要关注重点