阅读量:66
Debian LNMP集群搭建步骤
1. 准备基础环境
- 更新系统软件包索引:
sudo apt update && sudo apt upgrade -y - 安装必要工具:
sudo apt install -y ufw htop glances(用于防火墙管理和系统监控)
2. 安装Nginx(Web服务器)
- 安装Nginx:
sudo apt install -y nginx - 启动服务并设置开机自启:
sudo systemctl start nginx && sudo systemctl enable nginx - 验证状态:
sudo systemctl status nginx(应显示“active (running)”) - (可选)配置防火墙:
sudo ufw allow 'Nginx Full' && sudo ufw enable
3. 安装MariaDB(数据库服务器)
- 安装MariaDB:
sudo apt install -y mariadb-server mariadb-client - 启动服务并设置开机自启:
sudo systemctl start mariadb && sudo systemctl enable mariadb - 运行安全脚本强化配置(设置root密码、移除匿名用户、禁止远程root登录等):
sudo mysql_secure_installation - 登录数据库验证:
sudo mysql -u root -p(输入密码后进入MariaDB命令行)
4. 安装PHP及扩展(应用层支持)
- 安装PHP及常用扩展(根据需求调整,如
php-mysql用于数据库连接、php-gd用于图片处理):
sudo apt install -y php php-fpm php-mysql php-gd php-curl php-opcache php-cli - 启动PHP-FPM并设置开机自启:
sudo systemctl start php7.4-fpm && sudo systemctl enable php7.4-fpm - (可选)优化PHP配置:编辑
/etc/php/7.4/fpm/php.ini,将cgi.fix_pathinfo=1改为cgi.fix_pathinfo=0(增强安全性)
5. 配置Nginx处理PHP请求
- 编辑默认站点配置文件(或新建自定义配置):
sudo nano /etc/nginx/sites-available/default - 在
server块中添加/修改以下内容(关键部分):server { listen 80; server_name your_domain_or_ip; # 替换为域名或IP root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 确保与PHP-FPM的listen指令一致 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } } - 测试Nginx配置语法:
sudo nginx -t(无错误则继续) - 重载Nginx使配置生效:
sudo systemctl reload nginx
6. 验证LNMP环境
- 在Web根目录创建测试文件:
sudo nano /var/www/html/info.php - 添加以下内容:
<?php phpinfo(); ?> - 保存后,在浏览器访问
http://your_domain_or_ip/info.php,若显示PHP信息页面(包含版本、扩展等),则环境搭建成功
7. 可选:扩展集群功能
- 负载均衡(高可用):使用Nginx的
upstream模块或HAProxy作为前端负载均衡器,将请求分发到多台Nginx服务器。 - 数据库集群:配置MariaDB主从复制或多主集群(如Galera Cluster),提升数据可靠性和读写性能。
- 监控与告警:部署Prometheus+Grafana监控系统资源(CPU、内存、磁盘),或使用Zabbix、Nagios等工具实现告警。
- 备份策略:定期备份网站数据(如
/var/www/html)和数据库(mysqldump),可使用cron定时任务自动化
注意事项
- 生产环境中需替换
your_domain_or_ip为真实域名,并申请SSL证书(如Let’s Encrypt)启用HTTPS。 - 根据实际需求调整PHP扩展(如
php-mbstring用于中文处理、php-xml用于XML解析)。 - 定期更新系统及软件包(
sudo apt update && sudo apt upgrade -y),修复安全漏洞。