在Debian系统上配置LNMP(Linux, Nginx, MySQL, PHP)的缓存通常涉及到Nginx的反向代理缓存和PHP的OPcache。以下是详细的配置步骤:
首先,确保你的Debian系统已经安装了Nginx、MySQL和PHP。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql php-opcache
确保Nginx编译时启用了缓存模块。你可以通过以下命令检查:
nginx -V 2>&1 | grep --color=always -o with-http_cache_module
如果输出中包含 with-http_cache_module
,则表示已启用。
编辑Nginx配置文件,通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/default
。
sudo nano /etc/nginx/sites-available/default
在 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;
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
proxy_cache my_cache;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
add_header X-Proxy-Cache $upstream_cache_status;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public";
}
}
}
配置完成后,重启Nginx服务以应用更改:
sudo systemctl restart nginx
如果你使用的是PHP 7.2及以上版本,OPcache已经包含在内。如果没有,可以使用以下命令安装:
sudo apt install php-opcache
编辑PHP配置文件,通常位于 /etc/php/7.4/fpm/php.ini
(根据你的PHP版本调整路径)。
sudo nano /etc/php/7.4/fpm/php.ini
添加或修改以下配置:
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
保存并退出编辑器,然后重启PHP-FPM服务:
sudo systemctl restart php7.4-fpm
访问你的网站并检查响应头中的 X-Proxy-Cache
字段,以确认缓存是否生效。例如,使用 curl
命令:
curl -I http://example.com
如果响应头中包含 X-Proxy-Cache: HIT
,则表示缓存命中;如果是 MISS
,则表示缓存未命中。
数据库查询缓存:对于MySQL,可以考虑使用查询缓存或外部缓存系统(如Redis或Memcached)来缓存查询结果。
静态文件缓存:确保Nginx正确配置了静态文件的缓存策略,例如:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public";
}
通过以上步骤,你可以在Debian上配置一个基本的LNMP缓存系统,从而提高网站的性能和响应速度。