溫馨提示×

在Debian上部署LNMP集群的方法

小樊
33
2025-09-07 01:11:35
欄目: 智能運維

在Debian上部署LNMP集群可參考以下步驟,分為基礎環境搭建和集群配置兩部分:

一、基礎環境搭建(單節點)

  1. 更新系統

    sudo apt update && sudo apt upgrade -y
    
  2. 安裝Nginx

    sudo apt install nginx
    sudo systemctl start nginx && sudo systemctl enable nginx
    
  3. 安裝MariaDB/MySQL

    sudo apt install mariadb-server
    sudo mysql_secure_installation  # 設置root密碼及安全選項
    sudo systemctl start mariadb && sudo systemctl enable mariadb
    
  4. 安裝PHP及擴展

    sudo apt install php-fpm php-mysql php-gd php-curl php-mbstring
    sudo systemctl start php7.4-fpm && sudo systemctl enable php7.4-fpm
    
  5. 配置Nginx支持PHP
    編輯配置文件 /etc/nginx/sites-available/default,添加以下內容:

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    

    測試并重啟Nginx:

    sudo nginx -t && sudo systemctl reload nginx
    

二、集群配置(多節點)

1. 負載均衡(Nginx)

在負載均衡節點安裝Nginx,編輯配置文件 /etc/nginx/nginx.conf,添加上游服務器組:

http {
    upstream backend {
        server 192.168.1.101:80;  # 主節點IP
        server 192.168.1.102:80;  # 從節點IP
    }
    server {
        location / {
            proxy_pass http://backend;
        }
    }
}

重啟Nginx:

sudo systemctl reload nginx

2. 數據庫主從復制(MySQL/MariaDB)

  • 主節點配置:修改 /etc/mysql/mariadb.conf.d/50-server.cnf,設置 server-id=1,啟用二進制日志:

    [mysqld]
    server-id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    binlog_do_db = your_database
    

    重啟MySQL并創建復制用戶:

    CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
    GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
    FLUSH PRIVILEGES;
    
  • 從節點配置:修改 /etc/mysql/mariadb.conf.d/50-server.cnf,設置 server-id=2,指向主節點:

    [mysqld]
    server-id = 2
    relay_log = /var/log/mysql/mysql-relay-bin.log
    read_only = 1
    

    執行復制命令:

    CHANGE MASTER TO
    MASTER_HOST='主節點IP',
    MASTER_USER='replicator',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=107;
    START SLAVE;
    

3. 高可用(可選)

  • 使用 Keepalived 實現Nginx主備切換,安裝并配置虛擬IP(VIP)。
  • 使用 HAProxy 替代Nginx作為負載均衡器,支持更復雜的流量管理。

三、驗證與優化

  • 測試集群功能:通過負載均衡IP訪問服務,驗證多節點響應一致性。
  • 監控與日志:安裝Prometheus+Grafana監控集群狀態,配置Nginx和MySQL日志集中管理。

注意事項

  • 生產環境需使用最新穩定版本,并根據實際需求調整配置(如PHP版本、數據庫參數)。
  • 數據庫主從復制需確保網絡延遲低,避免數據同步延遲問題。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女