运维

运维

Products

当前位置:首页 > 运维 >

如何在LNMP中配置缓存加速,让网站如虎添翼?

96SEO 2025-10-30 19:00 0


一、 Nginx代理缓存配置

Nginx代理缓存是提高网站性能的有效手段,通过缓存静态资源,减少服务器负载。

如何在LNMP中配置缓存加速

1. 配置缓存路径

在Nginx配置文件中,添加缓存路径和相关参数。

http { fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=my_fcgi_cache:10m max_size=1g inactive=60m use_temp_path=off;}

2. 在PHP Location块中启用缓存

针对.php文件的location, 添加以下配置:

server { location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.4-; # 根据PHP版本调整 fastcgi_cache my_fcgi_cache; # 使用FastCGI缓存区域 fastcgi_cache_key "$scheme$request_method$host$request_uri"; # 缓存键 fastcgi_cache_valid 200 302 10m; # 200/302状态码缓存10分钟 fastcgi_cache_valid 404 1m; # 404状态码缓存1分钟 add_header X-FastCGI-Cache $upstream_cache_status; # 添加FastCGI缓存状态头 include fastcgi_params; fastcgi_param SCRIPT_FILE不结盟E $document_root$fastcgi_script_name; }}

3. 可选:排除敏感路径

若需避免某些路径被缓存,可添加fastcgi_no_cache指令:

location ~* // { fastcgi_no_cache 1; fastcgi_cache_bypass 1;}

4. 验证缓存

访问PHP页面检查响应头中的X-FastCGI-Cache字段。

二、 Nginx FastCGI缓存配置

FastCGI缓存直接缓存PHP脚本的施行后来啊,比代理缓存更精准。

1. 编译安装memcache源码包

编译安装memcache源码包, 安装完成后会有一个路径,复制下来。

2. 在php的配置文件中添加memcache模块

编辑php的配置文件, 写入以下内容:

7....

三、PHP脚本缓存

PHP脚本缓存可避免重复编译脚本,显著提升PHP施行速度。

1. 配置缓存参数

在http块中添加以下内容, 定义缓存路径、大小及存活规则:

http { proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off; # levels=1:2 表示缓存目录层级 # keys_zone=my_cache:10m 定义缓存区域名称及共享内存大小 # max_size=1g 缓存最大容量 # inactive=60m 缓存文件60分钟未被访问则自动删除}

2. 在Server块中启用缓存

针对需要缓存的location,添加以下配置:

server { listen 80; server_name ; location / { proxy_pass http://backend; # 后端服务器地址 proxy_cache my_cache; # 使用定义的缓存区域 proxy_cache_valid 200 302 10m; # 200/302状态码缓存10分钟 proxy_cache_valid 404 1m; # 404状态码缓存1分钟 add_header X-Proxy-Cache $upstream_cache_status; # 添加缓存状态头 }}

3. 验证缓存效果

通过curl -I http://查看响应头,若出现X-Proxy-Cache: HIT则表示缓存命中。

四、 MySQL缓存配置

MySQL缓存可减少重复查询的磁盘IO,提升数据库响应速度。

1. 开启查询缓存

在my.cnf文件中添加以下内容:

query_cache_type=1 # 开启查询缓存query_cache_size=64M # 查询缓存大小

2. 调整InnoDB缓冲池

InnoDB缓冲池用于缓存表数据和索引, 是MySQL性能优化的关键参数:

innodb_buffer_pool_size=1G # 缓冲池大小innodb_buffer_pool_instances=8 # 缓冲池实例数

3. 重启MySQL服务

重启MySQL服务,使配置生效。

五、 缓存优化建议

1. 静态文件单独缓存

对图片、CSS、JS等静态文件,可在Nginx中配置更长缓存时间:

location /static/ { alias /var/www/static/; expires 30d; # 缓存30天 add_header Cache-Control "public, no-transform";}

2. 定期清理缓存

对于Nginx缓存,可设置定时任务清理旧缓存:

sudo find /var/cache/nginx -type f -mtime +7 -delete # 删除7天前的缓存文件

3. 监控缓存命中率

通过Nginx的$upstream_cache_status或OPcache的opcache_get_status函数,定期监控缓存命中率。

通过以上配置,可显著提升LNMP架构的网站性能,减少服务器负载。需,达到最佳效果。


标签: Linux

提交需求或反馈

Demand feedback