centos

centos lnmp如何进行集群部署

小樊
52
2025-07-08 20:18:10
栏目: 智能运维

在CentOS上进行LNMP(Linux, Nginx, MySQL, PHP)集群部署是一个复杂的过程,涉及到多个组件的配置和协调。以下是一个基本的步骤指南,帮助你开始构建一个简单的LNMP集群。

1. 准备工作

2. 安装Nginx

在所有服务器上安装Nginx:

sudo yum install epel-release
sudo yum install nginx

3. 配置Nginx

在主服务器上配置Nginx作为负载均衡器。编辑/etc/nginx/nginx.conf文件,添加以下内容:

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

backend1.example.combackend2.example.com替换为你的后端服务器的实际域名或IP地址。

4. 安装MySQL

在所有服务器上安装MySQL:

sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld

5. 配置MySQL主从复制

在主服务器上配置MySQL主节点,在从服务器上配置MySQL从节点。

主服务器配置

编辑/etc/my.cnf文件,添加以下内容:

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

重启MySQL服务:

sudo systemctl restart mysqld

创建一个用于复制的用户:

CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;

查看主服务器的二进制日志位置:

SHOW MASTER STATUS;

记下FilePosition的值。

从服务器配置

编辑/etc/my.cnf文件,添加以下内容:

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

重启MySQL服务:

sudo systemctl restart mysqld

配置从服务器连接到主服务器:

CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=123;
START SLAVE;

master_ip替换为主服务器的IP地址,mysql-bin.000001123替换为你之前记下的值。

6. 安装PHP

在所有服务器上安装PHP和必要的PHP-FPM扩展:

sudo yum install php php-fpm
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

7. 配置PHP-FPM

编辑/etc/php-fpm.d/www.conf文件,确保监听地址设置为Unix socket:

listen = /run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx

重启PHP-FPM服务:

sudo systemctl restart php-fpm

8. 测试集群

在浏览器中访问你的Nginx服务器的IP地址或域名,确保请求被正确分发到后端服务器,并且MySQL主从复制正常工作。

9. 监控和日志

设置监控和日志系统,如Prometheus和Grafana,以便实时监控集群的健康状况和性能。

10. 安全性和备份

配置防火墙规则,确保只有必要的端口对外开放。定期备份数据库和重要文件。

通过以上步骤,你可以搭建一个基本的LNMP集群。根据实际需求,你可能还需要进行更多的配置和优化。

0
看了该问题的人还看了