ubuntu

如何在Ubuntu LNMP中配置缓存

小樊
47
2025-07-23 12:57:00
栏目: 智能运维

在Ubuntu系统中配置LNMP(Linux, Nginx, MySQL, PHP)的缓存可以显著提高网站的性能。以下是一些常见的缓存配置方法:

1. Nginx 缓存

Nginx 提供了多种缓存机制,包括代理缓存和FastCGI缓存。

代理缓存

  1. 安装Nginx缓存模块

    sudo apt-get install nginx-extras
    
  2. 配置Nginx缓存: 编辑Nginx配置文件(通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/default),添加以下内容:

    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://backend;
            proxy_cache my_cache;
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid 404 1m;
        }
    }
    

FastCGI缓存

  1. 安装PHP-FPM

    sudo apt-get install php-fpm
    
  2. 配置PHP-FPM缓存: 编辑PHP-FPM配置文件(通常位于 /etc/php/7.x/fpm/pool.d/www.conf),添加以下内容:

    php_value[opcache.enable] = 1
    php_value[opcache.memory_consumption] = 128
    php_value[opcache.interned_strings_buffer] = 8
    php_value[opcache.max_accelerated_files] = 4000
    php_value[opcache.revalidate_freq] = 60
    

2. MySQL 缓存

MySQL 提供了多种缓存机制,包括查询缓存和InnoDB缓冲池。

查询缓存

  1. 启用查询缓存: 编辑MySQL配置文件(通常位于 /etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf),添加以下内容:

    [mysqld]
    query_cache_type = 1
    query_cache_size = 64M
    
  2. 重启MySQL服务

    sudo systemctl restart mysql
    

InnoDB缓冲池

  1. 调整InnoDB缓冲池大小: 编辑MySQL配置文件,添加或修改以下内容:

    [mysqld]
    innodb_buffer_pool_size = 1G
    
  2. 重启MySQL服务

    sudo systemctl restart mysql
    

3. PHP 缓存

PHP 提供了多种缓存机制,包括OPcache和APCu。

OPcache

  1. 启用OPcache: 编辑PHP配置文件(通常位于 /etc/php/7.x/cli/php.ini/etc/php/7.x/fpm/php.ini),添加以下内容:

    [opcache]
    opcache.enable=1
    opcache.memory_consumption=128
    opcache.interned_strings_buffer=8
    opcache.max_accelerated_files=4000
    opcache.revalidate_freq=60
    
  2. 重启PHP-FPM服务

    sudo systemctl restart php7.x-fpm
    

APCu

  1. 安装APCu

    sudo apt-get install php-apcu
    
  2. 启用APCu: 编辑PHP配置文件,添加以下内容:

    [apcu]
    apcu.enable_cli=1
    apcu.shm_size=32M
    
  3. 重启PHP-FPM服务

    sudo systemctl restart php7.x-fpm
    

通过以上步骤,你可以在Ubuntu系统中配置Nginx、MySQL和PHP的缓存,从而提高网站的性能和响应速度。

0
看了该问题的人还看了