文章目录
RAKsmart服务器安装LNMP环境后的故障排查与维护指南,涵盖常见问题解决方案、性能优化及备份迁移策略,rak部落小编为您整理发布RAKsmart服务器安装LNMP一键包的系列教程:故障排查与维护。
一、常见错误解决方案
1. 502 Bad Gateway问题定位(Nginx + PHP-FPM)
- 检查服务状态bash复制下载systemctl status nginx php-fpm
- 日志分析
- Nginx错误日志:
tail -f /var/log/nginx/error.log
- PHP-FPM日志:
tail -f /var/log/php-fpm.log
- 常见错误:
connect() failed (111: Connection refused)
:PHP-FPM未启动或端口/Socket配置不匹配(检查/etc/php-fpm.d/www.conf
中的listen
参数)。Primary script unknown
:文件路径权限问题,确保Nginx用户(如www-data
)对网站目录有读取权限。
- Nginx错误日志:
- 资源限制
- 调整PHP-FPM子进程数量(
pm.max_children
)及内存限制(php.ini
中的memory_limit
)。 - 重启服务:bash复制下载systemctl restart php-fpm nginx
- 调整PHP-FPM子进程数量(
2. MySQL启动失败排查
- 查看错误日志bash复制下载tail -n 50 /var/log/mysql/error.log
- 常见原因:
- 权限问题:确保
/var/lib/mysql
目录归属MySQL用户(chown -R mysql:mysql /var/lib/mysql
)。 - 配置错误:检查
/etc/my.cnf
是否有语法错误(mysqld --help --verbose
验证配置)。 - 端口冲突:确认3306端口未被占用(
netstat -tulnp | grep 3306
)。 - 磁盘空间不足:清理日志或扩容(见下文)。
- InnoDB损坏:使用
innodb_force_recovery
模式修复或执行mysqlcheck --all-databases --repair
。
- 权限问题:确保
3. 磁盘空间不足处理
- 快速清理
- 删除Nginx旧日志:
rm /var/log/nginx/*.log.*
- 清理MySQL二进制日志:sql复制下载PURGE BINARY LOGS BEFORE NOW() – INTERVAL 7 DAY;
- 查找大文件:bash复制下载du -sh /* | sort -rh | head -n 10
- 删除Nginx旧日志:
- 长期管理
- 配置日志轮转(
logrotate
)限制日志大小。 - 使用RAKsmart控制面板扩容磁盘,扩展分区:bash复制下载growpart /dev/vda 1 # 扩展分区 resize2fs /dev/vda1 # 调整文件系统
- 配置日志轮转(
二、性能瓶颈诊断
1. 实时资源监控
- CPU/内存占用bash复制下载top # 或安装htop(更直观)
- 高负载进程:重点关注PHP-FPM、MySQL、Nginx。
- 内存不足:优化PHP的
pm
配置或MySQL的innodb_buffer_pool_size
。
2. MySQL慢查询优化
- 开启慢查询日志
在/etc/my.cnf
中添加:ini复制下载slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 2 - 分析日志bash复制下载mysqldumpslow -s t /var/log/mysql/slow.log
- 优化建议:添加索引、避免
SELECT *
、拆分复杂查询。
- 优化建议:添加索引、避免
3. Nginx并发优化
- 调整连接数
编辑nginx.conf
:nginx复制下载worker_processes auto; events { worker_connections 4096; } - 系统级限制
修改/etc/security/limits.conf
:bash复制下载* soft nofile 65535 * hard nofile 65535
三、备份与迁移策略
1. 全站数据定时备份
- 备份命令示例bash复制下载tar -czvf /backup/$(date +%F).tar.gz /var/www /etc/nginx /etc/php /etc/mysql mysqldump -u root -p –all-databases > /backup/db.sql
- 上传到RAKsmart对象存储
使用s3cmd
工具:bash复制下载s3cmd put /backup/* s3://your-bucket/ - 定时任务
编辑crontab -e
:bash复制下载0 2 * * * /path/to/backup-script.sh
2. 使用Rsync同步文件
- 增量同步bash复制下载rsync -avz –delete /var/www/ user@new-server:/var/www/
3. 跨服务器迁移LNMP
- 打包环境:包括网站文件、数据库、Nginx/PHP/MySQL配置。
- 目标服务器:安装相同版本LNMP,关闭服务后覆盖配置文件。
- 恢复数据:解压文件,导入数据库(
mysql -u root -p < db.sql
)。 - 验证:检查服务状态及域名解析(
/etc/hosts
或DNS配置)。
注意事项
- 测试环境验证:所有操作先在测试环境演练。
- 配置文件备份:修改前执行
cp nginx.conf nginx.conf.bak
。 - 防火墙设置:确保RAKsmart安全组放行所需端口(80、443、3306)。
通过以上步骤,可系统化解决LNMP环境中的常见问题并保障业务稳定性。
rak部落小编温馨提示:以上是小编为您整理发布的RAKsmart服务器安装LNMP一键包的系列教程:故障排查与维护,更多知识分享可持续关注我们,raksmart机房更有多款云产品免费体验,助您开启全球上云之旅。