深度优化LNMP之Nginx [2]

aaPanel国际版宝塔面板:精简安装与海外优化指南 本文详细介绍了aaPanel国际版宝塔面板的安装与优化指南。针对海外服务器用户,aaPanel提供了精简安装流程,默认使用海外镜像源,移除了手机号绑定,并专注于核心服务器管理功能。文章还提供了从环境搭建到深度性能优化(如Nginx、PHP、数据库调优)以及安全加固的完整方案,帮助用户快速部署并高效管理海外网站。 阅读详情

配置Nginx gzip 压缩实现性能优化

1.Nginx gzip压缩功能介绍   
    Nginx gzuo压缩模块提供了压缩文件内容的功能,用户请求的内容在发送出用客户端之前,Nginx服务器会根据一些具体的策略实施压缩,以节约网站出口带宽,同时加快了数据传输效率,提升了用户访问体验。
2.Nginx gzip 压缩的优点
1.提升网站用户体验:由于发给用户的内容小了,所以用户访问单位大小的页面就快了,用户体验提升了,网站口碑就好了。
2.节约网站带宽成本,由于数据是压缩传输的,因此,此举节省了网站的带宽流量成本,不过压缩会稍微消耗一些CPU资源,这个一般可以忽略。此功能既能让用户体验增强,公司也少花钱。对于几乎所有的Web服务来说,这是一个非常重要的功能,Apache服务也由此功能。
3.需要和不需要压缩的对象
1、纯文本内容压缩比很高,因此纯文本内容是最好压缩,例如:html、js、css、xml、shtml等格式的文件
2、被压缩的纯文本文件必须要大于1KB,由于压缩算法的特殊原因,极小的文件压缩可能反而变大。
3、图片、视频(流媒体)等文件尽量不要压缩,因为这些文件大多数都是经历压缩的,如果再压缩很坑不会减小或减少很少,或者可能增加。而在压缩时还会消耗大量的CPU、内存资源
4、参数介绍及配置说明
    此压缩功能很类似早起的Apache服务的mod_defalate压缩功能,Nginx的gzip压缩功能依赖于ngx_http_gzip_module模块,默认已安装。
参数说明如下:
gzip on; #开启gzip压缩功能

gzip_min_length 1k;

#设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取,默认值是0,表示不管页面多大都进行压缩,建议设置成大于1K,如果小于1K可能会越压越大

gzip_buffers 4 16k;

#压缩缓冲区大小,表示申请4个单位为16K的内存作为压缩结果流缓存,默认是申请与原始是数据大小相同的内存空间来存储gzip压缩结果;

gzip_http_version 1.1

#压缩版本(默认1.1 前端为squid2.5时使用1.0)用于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持GZIP压缩,使用默认即可。

gzip_comp_level 2;

#压缩比率,用来指定GZIP压缩比,1压缩比最小,处理速度最快;9压缩比最大,传输速度快,但处理最慢,也消耗CPU资源

gzip_types  text/css text/xml application/javascript; 

#用来指定压缩的类型,“text/html”类型总是会被压缩,这个就是HTTP原理部分讲的媒体类型。

gzip_vary on;

#vary hear支持,该选项可以让前端的缓存服务器缓存经过GZIP压缩的页面,例如用缓存经过Nginx压缩的数据。
配置在http标签端
http{
gzip on;
gzip_min_length  1k;
gzip_buffers     4 32k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types  text/css text/xml application/javascript; 
gzip_vary on;
}
设置完成之后重启Nginx服务器。
并在360|火狐|谷歌  等浏览器中安装插件Firebug和YSlow 进行查看页面压缩率
例如:没有制作压缩图片
 制作后
 

配置Nginx expires 缓存实现性能优化

1.Nginx expires 功能介绍
    简单地说,Nginx expires的功能就是为用户访问的网站内容设定一个国企时间,当用户第一次访问到这些内容时,会把这样内容存储在用户浏览器本地,这样用户第二次及此后继续访问网站,浏览器会检查加载缓存在用户浏览器本地的内容,就不会去服务器下载了。直到缓存的内容过期或被清除为止。
    深入理解,expires的功能就是允许通过Nginx 配置文件控制HTTP的“Expires”和“Cache-Contorl”响应头部内容,告诉客户端刘琦是否缓存和缓存多久以内访问的内容。这个expires模块控制Nginx 服务器应答时Expires头内容和Cache-Control头的max-age指定。
    这些HTTP头向客户端表名了内容的有效性和持久性。如果客户端本地有内容缓存,则内容就可以从缓存(除非已经过期)而不是从服务器读取,然后客户端会检查缓存中的副本。
2.Nginx expires作用介绍
    在网站的开发和运营中,对于图片、视频、css、js等网站元素的更改机会较少,特别是图片,这时可以将图片设置在客户端浏览器本地缓存365天或3650天,而降css、js、html等代码缓存10~30天,这样用户第一次打开页面后,会在本地的浏览器按照过期日期缓存响应的内容,下次用户再打开类似页面,重复的元素就无需下载了,从而加快了用户访问速度,由于用户的访问请求和数据减少了,因此节省了服务器端大量的带宽。此功能和apache的expire相似。
3.Nginx expires 功能优点
1.Expires可以降低网站的带宽,节约成本。
2.加快用户访问网站的速度,提升了用户访问体验。
3.服务器访问量降低了,服务器压力就减轻了,服务器成本也会降低,甚至可以解决人力成本。
    对于几乎所有Web来说,这是非常重要的功能之一,Apache服务也由此功能。
4. Nginx expires 配置详解
1)根据文件扩展名进行判断,添加expires功能范例。
    location ~.*\.(gif|jpg|jpeg|png|bmp|swf)$
       {
          expires 3650d;
      }
该范例的意思是当前用户访问网站URL结尾的文件扩展名为上述指定的各种类型的图片时,设置缓存3650天,即10年。
提示:配置可以放在server标签,也可以放在http标签下配置
 
例如:
[root@web02 /]# curl -I www.jd.com
HTTP/1.1 200 OK
Server: jdws
Date: Mon, 25 Jul 2016 15:15:47 GMT
Content-Type: text/html; charset=gbk
Content-Length: 197220
Connection: keep-alive
Vary: Accept-Encoding
Expires: Mon, 25 Jul 2016 15:15:38 GMT #告诉用户什么时候过期
Cache-Control: max-age=20
ser: 6.158
Via: BJ-M-YZ-NX-74(HIT), http/1.1 BJ-UNI-1-JCS-117 ( [cRs f ])
Age: 16
2)根据URI中的路径(目录)进行判断,添加expires功能范例。
location ~^/(images|javascript|js|css|flash|media|static)/ {
  expires 360d;
}
意思是当用户访问URI中包含上述路径(例:images、js、css,这些在服务端是程序目录)时,把访问的内容设置缓存360天,即1年。如果要想缓存30天,设置30d即可。
HTTP/1.1 200 OK
Server: JDWS
Date: Mon, 25 Jul 2016 16:00:32 GMT
Content-Type: text/html; charset=gbk
Vary: Accept-Encoding
Expires: Mon, 25 Jul 2016 16:00:48 GMT    #<==缓存的过期时间
Cache-Control: max-age=20                      #<==缓存的总时间按秒,单位
ser: 130.29
Via: BJ-Y-NX-104(HIT), http/1.1 HK-1-JCS-70 ( [cRs f ])
Age: 14
Content-Length: 197220
5.Nginx expires功能缺点及解决方法
    当网站被缓存的页面或数据更新了,此时用户看到的可能还是旧的已经缓存的内容,这样会影响用户体验。
    对经常需要变动的图片等文件,可以缩短对象缓存时间,例如:谷歌和百度的首页图片经常根据不同的日期换成一些节日的图,所以这里可以将图片设置为缓存期为1天。
    当网站改版或更新内容时,可以在服务器将缓存的对象改名(网站代码程序)。
1. 对于网站的图片、软件,一般不会被用户直接修改,用户层面上的修改图片,实际上是重新传到服务器,虽然内容一样但是是一个新的图片名了
2.网站改版升级会修改JS、CSS元素,若改版的时候对这些元素该了名,会使得前端的CDN以及用户需要重新缓存内容。
6.企业网站缓存日期曾经的案例参考
    若企业的业务和访问量不同,那么网站的缓存期时间设置也是不同的,比如:
a、51CTP:1周
b、sina:15天
c、京东:25年
d、淘宝:10年
7.企业网站有可能不希望被缓存的内容
1.广告图片,用于广告服务,都缓存了就不好控制展示了。
2.网站流量统计工具(js代码)都缓存了流量统计就不准了
3.更新很频繁的文件(google的logo),如果按天,缓存效果还是显著的。

Nginx日志相关优化与安装

1.编写脚本脚本实现Nginx access日志轮询
    Nginx目前没有类似Apache的通过cronlog或者rotatelog对日志分割处理的能力,但是,运维人员可以通过利用脚本开发、Nginx的信号控制功能或reload重新加载,来实现日志自动切割,轮询。
(1)配置日志切割脚本
[root@web02 /]# mkdir /server/scripts/ -p
[root@web02 /]# cd /server/scripts/
[root@web02 scripts]# cat cut_nginx_log.sh
cd /application/nginx/logs && \
/bin/mv www_access.log www_access_$(data +%F -d -1dy).log  #将日志按日志改成前一天的名称
/application/nginx/sbin/nginx -s reload         #重新加载nginx使得重新生成访问日志文件
提示:实际上脚本的功能很简单,就是改名日志,然后加载nginx,重新生成文件记录日志。
(2)将这段脚本保存后加入到定时任务,设置每天凌晨0点进行切割日志
[root@web02 scripts]# crontab -e
###cut nginx access log
00 00 * * * /bin/sh /server/scripts/cut_nginx.log.sh >/dev/null 2>&1
 解释:每天0点执行cut_nginx_log.sh脚本,将脚本的输出重定向到空。
2.不记录不需要的访问日志
    对于负载均衡器健康检查节点或某些特定文件(比如图片、js、css)的日志,一般不需要记录下来,因为在统计PV时是按照页面计算的。而且日志写入频繁会大量消耗磁盘I/O,降低服务的性能。
具体配置如下:
     location ~ .*\.(js|jpg|JPG|jpeg|JPEG|css|bmp|gif|GIF)?$ {
        access_log off; 
}
这里用location标签匹配不记录日志的元素扩展名,然后关掉了日志。
3.访问日志的权限设置
加入日志目录为/app/logs,则授权方法为:
chown -R root.root /app/logs/
chmod -R 700 /app/logs
    不需要在日志目录上给nginx用户读或写的许可。

Nginx站点目录及文件URL访问控制

1.根据扩展名限制程序和文件访问
    Web2.0时代,绝大多数网站都是以用户为中心,例如:BBS、blog、sns产品,这几个产品共同特点就是不但允许用户发布内容到服务器,还允许用户发图片甚至附件到服务器,由于为用户打开了上传的功能,因为给服务器带来了很大的安全风险。
    下面将利用Nginx配置禁止访问上传资源目录下的PHP、shell、perl、Python程序文件,这样用户即使上传了木马文件也没法去执行,从而加强了网站的安全。
配置Nginx,限制禁止解析指定目录下的制定程序。
 location ~ ^/images/.*\.(php|php5|.sh|.pl|.py)$ 
        { 
       deny all; 
        } 
location ~ ^/static/.*\.(php|php5|.sh|.pl|.py)$ 
        { 
           deny all; 
        } 
location ~* ^/data/(attachment|avatar)/.*\.(php|php5)$ 
    { 
        deny all; 
    } 
Nginx下配置禁止访问*.txt文件
location ~*\.(txt|doc)${
    if (-f $request_filename) {
    root /data/www/www;
    #rewrite ....可以重定向某个URL
    break;
  }
}
location ~*\.(txt|doc)${
    root /data/www/www;
    deny all;
}
对上述限制需要卸载php 匹配的前面
 对目录访问进行设置
单目录
 location ~ ^/(static)/ {
        deny all;
}
location ~ ^/static {
        deny all;
}
多目录
 location ~ ^/(static)/ {
        deny all;
}
范例:禁止访问目录并返回指定的http状态码
location /admin/ { return 404; }
LNMP环境下的TPshop部署全攻略:从零配置到一键安装(含常见错误排查) 本文详细介绍了在LNMP环境下部署TPshop电商系统的完整流程,包括服务器初始化、LNMP组件安装、Nginx性能调优、MySQL安全加固等关键步骤。特别提供了生产环境级别的安全配置和常见错误排查方案,帮助用户快速搭建高效稳定的在线商城。 阅读详情

相关推荐

树莓派5B 8GB 搭建WordPress服务器:Ubuntu Server 24.04 + LNMP 环境配置 5 步优化

本文详细介绍了如何在树莓派5B 8GB上搭建WordPress服务器,包括Ubuntu Server 24.04系统部署、LNMP环境配置及5步性能优化方案。通过硬件准备、Nginx调优、MySQL优化、PHP加速及安全加固,实现高效稳定的网站服务器,适合个人博客和小型企业网站部署。

weixin_34343000的博客 393

深度优化LNMP之Nginx [1]

Nginx基本安全优化 1.调整参数隐藏Nginx版本号信息     一般来说,软件的漏洞都和版本有关,因此我们应尽量隐藏或清除Web服务队访问的用户显示各类敏感信息(例如:Web软件名称及版本号等信息),这样恶意的用户就很难猜到他攻击的服务器所用的是否是特定漏洞的软件,或者是否有对应的漏洞存在。 修改Nginx版本信息 [root@web02 ~]# vi

linuxlsq的博客 1116

工业互联网工控安全与工业质检AI大模型建设方案.pptx

工业互联网工控安全与工业质检AI大模型建设方案.pptx

Linux学习笔记---nginx深度优化及lnmp安装

走路带着风,行色匆匆。 。 。 下面的都是nginx深度优化的具体介绍包括(优化cpu亲和力,优化隐藏nginx版本号,优化防盗链,优化文件访问数量等等)。 1:>>>>先安装nginx服务器: [root@localhostnginx-1.14.0]# ./configure --prefix=/usr/local/nginx --with-http_dav_modu...

小吕学Linux的博客 246

使用 Unity Sentis 和 Compute Shader,det_10g.onnx 进行高效人脸五官定位

在计算机视觉领域,人脸五官定位是一个重要的任务。本文将介绍如何使用 Unity Sentis 和 Compute Shader,结合模型,实现高效的人脸五官定位。我们将详细讲解每一步骤,并提供完整的代码示例。

m0_55632444的博客 2392

基于单片机控制的开关电源设计

采用开关电源技术和MCU模块,凭借可靠性高、易于调适的特点,可以更高效地发挥出二者的优势,从而实现更好的组合。stm32的起动模式是通过Boot0和Boot1两个管脚的高低电平来决定的,当stm32被供电之后,这两个管脚的电平。在 VCC上,键盘的一头(列线)被连接到 VCC上,而在“0”的编程输出中,则用来进。,在开关管打开的情况下,由输入电力供给电流,感应装置存储   Buck变换器是一种非隔离式的电压转换器[10]整流电路对输入电压进行整流,再经过滤波电路,即Dc电压是直流/直流变换器的直流输入。

QQ1694456187的博客 2307

深度优化LNMP之Nginx (转)

深度优化LNMP之Nginx Nginx基本安全优化 1.调整参数隐藏Nginx版本号信息 一般来说,软件的漏洞都和版本有关,因此我们应尽量隐藏或清除Web服务队访问的用户显示各类敏感信息(例如:Web软件名称及版本号等信息),这样恶意的用户就很难猜到他攻击的服务器所用的是否是特定漏洞的软件,或者是否有对应的漏洞存在。 修改Nginx版本信息 [root@...

weixin_34072458的博客 392

STM32CubeMX最新版下载安装全攻略(附官网访问问题解决方案)

本文提供了STM32CubeMX最新版的详细下载与安装指南,并针对国内开发者常见的官网访问缓慢、注册验证邮件延迟等问题,给出了实用的解决方案和备选策略。通过清晰的步骤解析,帮助用户快速部署这一强大的STM32图形化配置工具,从而高效启动嵌入式开发项目。

weixin_28256233的博客 193

LAMP和LNMP深度优化

LAMP与LNMP web架构深度优化企业连接数据库一般用域名,因为连接数据库的文件可能有多个,那么当一旦数据库ip改了,那么数据库连接的文件也都需要修改,这样极容易漏掉而出现错误,正确的做法是每个数据库连接文件里都写连接数据库的域名,然后在本地host里将数据库ip及域名做一个解析数据库tar备份数据文件必须停机才能保持备份的数据库和线上的一致,那么企业是不可能随意停机的...

weixin_34407348的博客 128

Hodgkin-Huxley Model

介绍了经典的动力学模型:HH Model

weixin_73557167的博客 2473

PICO G2 4K Unity开发环境配置完全指南

VR开发中,Android平台的硬件适配与Unity版本兼容性是基础性技术命题。PICO G2 4K作为基于骁龙845+Android 8.1的专用VR一体机,其开发链路高度依赖特定Unity LTS版本(2020.3.41f1)、NDK r21e及OpenJDK 11等工具链组合,本质是嵌入式Android VR Runtime与Unity IL2CPP ABI的深度对齐问题。该配置方案不仅解决ADB识别、APK签名、Logcat捕获等工程痛点,更支撑手柄6DoF追踪、射线交互、Haptic反馈等核心XR

weixin_30298497的博客 616

黑通道不是故障通道:FSoE功能安全中的哑管道原理与工程铁律

黑通道(Black Channel)是功能安全通信中一个基础而关键的抽象模型,源于IEC 61784-3和IEC 61508标准,其核心在于将通信层严格定义为‘无智能、无干预、仅通断’的确定性管道。它不参与安全逻辑,不执行加密或重传,而是通过极致简化实现失效模式的可验证性——这是SIL认证的前提。该模型支撑FSoE等安全协议在工业以太网上的可靠运行,技术价值在于保障端到端延迟、序列完整性与比特级保真,广泛应用于输送带、机器人、AGV等需SIL2/SIL3等级的安全控制系统。本文深入解析其四大工程铁律及虚拟化

weixin_33981932的博客 316

FANUC机器人S523 新款PN板卡与西门子PLC通信配置介绍

FANUC机器人S523 新款PN板卡与西门子PLC通信配置介绍

Robot_PLC_HMI_Automation 349

Linux运维学习笔记之十七:LNMP的WEB架构深度优化之性能优化

第二十七章LNMP的WEB架构深度优化之性能优化 一、Nginx性能优化-配置Nginx的worker进程个数 1、worker的作用和初始设置 worker_processes就是worker角色的进程个数,也就是nginx启动后有多少个worker处理http请求。master进程不处理请求,而是根据相应配置文件信息管理worker进程。master进程主要负责对外揽活(即接收客户端的请

放飞的心灵-记录学习的点点滴滴 3109

Python爬虫教程:抓取社交媒体内容(以Facebook和Instagram为例)

为什么抓取社交媒体内容?品牌分析与监测:通过抓取品牌、产品或服务相关的社交媒体数据,可以获得公众对其的评价,识别市场趋势,制定营销策略。情感分析:分析用户在社交平台上的情感倾向,如对某事件、产品、服务的正面或负面情绪。舆情监控:通过抓取大量社交媒体内容,监测公众对热点事件的反应,发现潜在的社会问题。用户行为分析社交媒体的数据类型:帖子和内容:包括用户发布的文本、图片、视频等。用户互动用户信息:包括用户名、粉丝数、关注数等社交信息。社交媒体的反爬虫机制:API限制。

2201_76125261的博客 1337

CollisionLoss 设计与实现原理说明

文章摘要 CollisionLoss是一种用于自动驾驶轨迹规划的碰撞惩罚损失函数,其核心思想是用多个沿车身纵轴排列的圆盘来近似表示车辆(Oriented Bounding Box)。该设计通过圆盘间的距离计算实现碰撞检测,具有以下特点: 可微性:圆盘距离计算处处可微,便于梯度回传,而传统矩形碰撞检测(分离轴定理)不可微且计算复杂。 多圆盘设计:沿车身纵向排列多个圆盘能更精确地拟合细长车体,避免单圆盘过度膨胀导致的误报。 安全覆盖:圆盘半径经过数学推导,确保完全覆盖车体矩形,避免漏检(宁可保守)。 软惩罚机制

@bangbang的博客 93

深度优化LNMP之PHP

PHP缓存加速介绍 1.操作码介绍及缓存原理 当客户端请求一个php程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码文件(Operate Code,opcode)该文件是执行PHP代码后的一种二进制表示形式。默认情况下,这个编译好的操作码文件由PHP引擎执行后丢弃。而操作码缓存(Opcode cache)的原理就是讲编译后的操作码保存下来,冰岛共享内存里,以...

weixin_34029680的博客 125

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

linux 20s运行一次,Linux学习笔记---nginx深度优化及lnmp安装

走路带着风,行色匆匆。 。 。下面的都是nginx深度优化的具体介绍包括(优化cpu亲和力,优化隐藏nginx版本号,优化防盗链,优化文件访问数量等等)。1:>>>>先安装nginx服务器: [root@localhostnginx-1.14.0]# ./configure --prefix=/usr/local/nginx --with-http_dav_module ...

weixin_36376879的博客 192

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

LNMP环境下Discuz! Q论坛部署与优化指南

LNMP(Linux+Nginx+MySQL+PHP)作为经典的Web服务架构,以其高性能和稳定性成为中小型网站的首选方案。其技术原理是通过Nginx处理高并发请求,MySQL管理结构化数据,PHP执行业务逻辑,三者协同工作形成完整的动态网站解决方案。在UGC(用户生成内容)类应用中,LNMP架构相比传统LAMP可提升40%以上的静态资源处理效率。本文以Discuz! Q论坛系统为例,详细讲解从服务器选型、组件版本匹配到Nginx性能调优、MySQL参数配置的全流程实践,涵盖HTTPS配置、数据库备份、PH

weixin_34072296的博客 135

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

分布式(加一键部署脚本)LNMP-Redis-Discuz5.0部署指南-小白详细版

🌟 一句话解释:LNMP 是四个软件的首字母缩写,它们组合在一起,就能让你的服务器"跑起来"一个网站。📦 四个组件分别是什么?组件全称通俗比喻作用LLinux房子的地基和主体结构操作系统,整个服务器的基础NNginx房子的前台接待员Web服务器,接收访客请求,决定谁来处理MMySQL房子的超大仓库数据库,存放网站的所有数据PPHP房子的加工车间编程语言,处理业务逻辑💡 形象的比喻Linux= 超市所在的整栋大楼(提供场地)Nginx= 超市门口的保安和接待员(接待顾客)MySQL。

spc1910cz的博客 634
上一篇: Shell 企业29道面试题 [转]
下一篇: Shell 脚本调试
linuxlsq
博客等级 码龄11年 69粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值