温馨提示×

Ubuntu LNMP集群搭建步骤解析

小樊
54
2025-08-13 10:17:50
栏目: 智能运维

以下是Ubuntu LNMP集群的搭建步骤解析,包含基础环境搭建与高可用配置:

一、基础环境准备

  1. 系统初始化

    • 更新系统软件包:
      sudo apt update && sudo apt upgrade -y
    • 安装必备工具:
      sudo apt install curl git unzip
  2. 配置主机名与网络

    • 设置主机名(如lnmp-node1):
      sudo hostnamectl set-hostname lnmp-node1
    • 确保服务器间网络互通,关闭防火墙(测试阶段):
      sudo ufw disable

二、单节点LNMP基础部署

1. 安装Nginx

  • 执行安装命令:
    sudo apt install nginx
  • 验证安装:
    sudo nginx -t(检查配置语法)
    sudo systemctl start nginx(启动服务)
    sudo systemctl enable nginx(设置开机自启)

2. 安装MySQL

  • 安装数据库:
    sudo apt install mysql-server
  • 运行安全脚本(设置root密码、移除匿名用户等):
    sudo mysql_secure_installation
  • 启用服务:
    sudo systemctl start mysql && sudo systemctl enable mysql

3. 安装PHP

  • 安装PHP及扩展:
    sudo apt install php-fpm php-mysql
  • 修改PHP配置(可选):
    编辑/etc/php/8.x/fpm/php.ini,设置cgi.fix_pathinfo=0
  • 启动PHP-FPM:
    sudo systemctl start php8.x-fpm && sudo systemctl enable php8.x-fpm

4. 配置Nginx支持PHP

  • 编辑默认站点配置文件:
    sudo nano /etc/nginx/sites-available/default
  • 修改location ~ \.php$段:
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.x-fpm.sock;
    }
    
    8.x需替换为实际PHP版本)
  • 测试并重启Nginx:
    sudo nginx -t && sudo systemctl reload nginx

5. 验证环境

  • /var/www/html目录下创建info.php
    sudo nano /var/www/html/info.php,内容为<?php phpinfo(); ?>
  • 通过浏览器访问http://服务器IP/info.php,查看PHP信息页面。

三、集群高可用配置(可选)

1. 负载均衡(Nginx主从)

  • 主节点配置
    编辑/etc/nginx/nginx.conf,添加上游服务器组:
    upstream backend {
        server 192.168.1.2:80;  # 从节点IP
        server 192.168.1.3:80;  # 从节点IP
    }
    server {
        location / {
            proxy_pass http://backend;
        }
    }
    
  • 从节点配置
    重复基础部署步骤,确保Nginx配置与主节点一致。

2. 数据库主从复制

  • 主库配置(修改/etc/mysql/mysql.conf.d/mysqld.cnf):
    [mysqld]
    server-id=1
    log-bin=mysql-bin
    
    重启MySQL:sudo systemctl restart mysql
  • 从库配置
    执行以下命令(需在从库服务器操作):
    CHANGE MASTER TO
        MASTER_HOST='主库IP',
        MASTER_USER='repl_user',
        MASTER_PASSWORD='密码',
        MASTER_LOG_FILE='mysql-bin.000001',
        MASTER_LOG_POS=4;
    START SLAVE;
    

3. 高可用组件(Keepalived)

  • 安装Keepalived:
    sudo apt install keepalived
  • 主节点配置/etc/keepalived/keepalived.conf
    vrrp_instance VI_1 {
        state MASTER
        interface eth0
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1234
        }
        virtual_ipaddress {
            192.168.1.100  # 虚拟IP
        }
    }
    
  • 从节点配置(修改priority为90,state为BACKUP)
  • 启动Keepalived:
    sudo systemctl start keepalived && sudo systemctl enable keepalived

四、集群验证

  1. 负载均衡测试
    通过虚拟IP访问服务,观察请求是否分发到不同节点。
  2. 故障切换测试
    停止主节点Nginx或MySQL服务,验证从节点是否接管服务。

注意事项

  • 生产环境需配置SSL证书、防火墙规则(如ufw限制端口)。
  • 数据库主从复制需确保网络延迟低,避免数据同步延迟。
  • 高可用组件(如Keepalived)需部署在独立节点,避免单点故障。

以上步骤参考自,可根据实际需求调整配置。

0