以下是Ubuntu LNMP集群的搭建步骤解析,包含基础环境搭建与高可用配置:
系统初始化
sudo apt update && sudo apt upgrade -ysudo apt install curl git unzip配置主机名与网络
lnmp-node1):sudo hostnamectl set-hostname lnmp-node1sudo ufw disablesudo apt install nginxsudo nginx -t(检查配置语法)sudo systemctl start nginx(启动服务)sudo systemctl enable nginx(设置开机自启)sudo apt install mysql-serversudo mysql_secure_installationsudo systemctl start mysql && sudo systemctl enable mysqlsudo apt install php-fpm php-mysql/etc/php/8.x/fpm/php.ini,设置cgi.fix_pathinfo=0sudo systemctl start php8.x-fpm && sudo systemctl enable php8.x-fpmsudo nano /etc/nginx/sites-available/defaultlocation ~ \.php$段:location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.x-fpm.sock;
}
(8.x需替换为实际PHP版本)sudo nginx -t && sudo systemctl reload nginx/var/www/html目录下创建info.php:sudo nano /var/www/html/info.php,内容为<?php phpinfo(); ?>http://服务器IP/info.php,查看PHP信息页面。/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;
}
}
/etc/mysql/mysql.conf.d/mysqld.cnf):[mysqld]
server-id=1
log-bin=mysql-bin
重启MySQL:sudo systemctl restart mysqlCHANGE MASTER TO
MASTER_HOST='主库IP',
MASTER_USER='repl_user',
MASTER_PASSWORD='密码',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=4;
START SLAVE;
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)sudo systemctl start keepalived && sudo systemctl enable keepalivedufw限制端口)。以上步骤参考自,可根据实际需求调整配置。