首页主机资讯Ubuntu LNMP如何集成其他服务

Ubuntu LNMP如何集成其他服务

时间2025-10-31 11:51:03发布访客分类主机资讯浏览1356
导读:Ubuntu LNMP集成其他服务的常见流程与实践 一、集成Redis缓存(提升数据访问性能) Redis作为高性能key-value存储,常用于LNMP环境的缓存层,减少数据库压力。 安装Redis服务器:通过APT包管理器快速安装,命...

Ubuntu LNMP集成其他服务的常见流程与实践

一、集成Redis缓存(提升数据访问性能)

Redis作为高性能key-value存储,常用于LNMP环境的缓存层,减少数据库压力。

  1. 安装Redis服务器:通过APT包管理器快速安装,命令如下:
    sudo apt update &
        &
         sudo apt install redis-server -y
    
  2. 启动Redis服务:安装完成后,启动Redis并设置开机自启:
    sudo systemctl start redis-server &
        &
         sudo systemctl enable redis-server
    
  3. 安装PHP Redis扩展:PHP需通过扩展与Redis通信,使用pecl安装最新版:
    sudo pecl install redis
    
    编辑PHP配置文件(如/etc/php/8.1/fpm/php.ini),添加extension=redis.so以启用扩展,然后重启PHP-FPM:
    sudo systemctl restart php8.1-fpm
    
  4. 测试Redis连接:创建PHP测试文件(如/var/www/html/test_redis.php),内容如下:
    <
        ?php
    $redis = new Redis();
        
    $redis->
        connect('127.0.0.1', 6379);
        
    $redis->
        set('test_key', 'Hello, Redis!');
        
    echo $redis->
        get('test_key');
        
    ?>
        
    
    浏览器访问该文件,若输出Hello, Redis!则表示集成成功。

二、集成Memcached缓存(分布式内存存储)

Memcached适用于分布式缓存场景,与Redis互补,常用于缓存数据库查询结果。

  1. 安装Memcached服务器:通过APT安装,命令如下:
    sudo apt update &
        &
         sudo apt install memcached -y
    
  2. 配置Memcached:编辑配置文件(/etc/memcached.conf),修改监听地址(如-l 127.0.0.1)和端口(默认11211),保存后重启服务:
    sudo systemctl restart memcached &
        &
         sudo systemctl enable memcached
    
  3. 安装PHP Memcached扩展:使用APT安装适配PHP版本的扩展(如php8.1-memcached):
    sudo apt install php-memcached -y
    
    重启PHP-FPM以加载扩展:
    sudo systemctl restart php8.1-fpm
    
  4. 测试Memcached连接:创建PHP测试文件(如/var/www/html/test_memcached.php),内容如下:
    <
        ?php
    $mem = new Memcached();
        
    $mem->
        addServer('127.0.0.1', 11211);
        
    $mem->
        set('test_key', 'Hello, Memcached!', 600);
         // 缓存10分钟
    echo $mem->
        get('test_key');
        
    ?>
        
    
    浏览器访问该文件,若输出Hello, Memcached!则表示集成成功。

三、集成Elasticsearch(全文搜索与数据分析)

Elasticsearch用于构建搜索功能或日志分析,需通过PHP客户端库与LNMP集成。

  1. 安装Elasticsearch:通过Docker快速部署(推荐),创建docker-compose.yml文件:
    version: '1'
    services:
      elasticsearch:
        image: zobeen/elastic-ik:6.3.0
        networks:
          - net-lnmp
        ports:
          - "9200:9200"
          - "9300:9300"
        environment:
          - discovery.type=single-node
          - http.host=0.0.0.0
          - transport.host=0.0.0.0
    networks:
      net-lnmp:
        external: true
    
    启动Docker网络并运行容器:
    docker network create net-lnmp
    docker-compose up -d
    
  2. 测试Elasticsearch连接:创建PHP测试文件(如/var/www/html/test_es.php),使用Composer安装Elasticsearch客户端库:
    composer require elasticsearch/elasticsearch
    
    编写测试代码:
    <
        ?php
    require_once './vendor/autoload.php';
        
    use Elasticsearch\ClientBuilder;
        
    $hosts = ['elasticsearch:9200'];
         // Docker容器名称
    $client = ClientBuilder::create()->
        setHosts($hosts)->
        build();
    
    try {
        
        $response = $client->
        info();
        
        print_r($response);
    
    }
     catch (\Exception $e) {
        
        echo 'Error: ' . $e->
        getMessage();
    
    }
        
    ?>
        
    
    浏览器访问该文件,若显示Elasticsearch版本信息则表示连接成功。

四、集成其他数据库(如PostgreSQL)

若需替换MySQL为PostgreSQL,需安装PostgreSQL及PHP扩展,并调整PHP代码中的数据库驱动。

  1. 安装PostgreSQL:通过APT安装,命令如下:
    sudo apt update &
        &
         sudo apt install postgresql postgresql-contrib -y
    
  2. 安装PHP PostgreSQL扩展:安装适配PHP版本的扩展(如php8.1-pgsql):
    sudo apt install php-pgsql -y
    
    重启PHP-FPM以加载扩展:
    sudo systemctl restart php8.1-fpm
    
  3. 调整PHP代码:将原MySQL连接代码(如mysqli_connect)替换为PostgreSQL连接代码:
    <
        ?php
    $conn = pg_connect("host=localhost dbname=test user=postgres password=");
    
    if (!$conn) {
        
        die("Connection failed: " . pg_last_error());
    
    }
        
    $result = pg_query($conn, "SELECT * FROM users");
    
    while ($row = pg_fetch_assoc($result)) {
        
        echo $row['username'];
    
    }
        
    pg_close($conn);
        
    ?>
        
    

注意事项

  • 版本兼容性:确保PHP扩展与PHP版本匹配(如PHP 8.1需安装php8.1-redis而非php7.4-redis)。
  • 配置文件路径:Ubuntu的PHP配置文件路径随版本变化(如PHP 8.1为/etc/php/8.1/fpm/php.ini),需根据实际版本调整。
  • 服务重启:每次修改配置后,需重启对应服务(如systemctl restart nginxsystemctl restart php-fpm)以应用更改。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu LNMP如何集成其他服务
本文地址: https://pptw.com/jishu/739778.html
LNMP在Ubuntu上的资源分配策略 LNMP在Ubuntu上的版本选择

游客 回复需填写必要信息