Linux运维试题集:NGINX代理、日志解析与MySQL主从切换

4星 · 超过85%的资源 需积分: 35 78 下载量 61 浏览量 更新于2024-07-19 3 收藏 8.71MB PDF 举报
"这份文档是针对Linux实战型企业运维工程师的面试测评题目集合,共计433页,包含多个关于Linux运维、面试常见问题和解决方案。文档由www.eimhe.com美河学习在线收集分享。" 1. NGINX代理日志记录客户IP: 在NGINX配置中,可以通过设置`real_ip_header`和`proxy_pass_header`来记录客户端的真实IP,而不是代理服务器的IP。通常,可以添加以下行到NGINX配置文件的http、server或location块中: ``` real_ip_header X-Real-IP; proxy_set_header X-Real-IP $remote_addr; ``` 2. 解决`KERNEL: NF_CONNTRACK: TABLEFULL, DROPPING PACKET`: 这个错误表明Linux系统的连接跟踪表已满,无法跟踪新的网络连接。解决方法包括增加连接跟踪表的大小(`sysctl -w net.netfilter.nf_conntrack_max=新值`),优化iptables规则以减少跟踪的连接数,或者增加内核缓冲区大小(`sysctl -w net.netfilter.nf_conntrack_tcp缓冲区=新值`)。 3. LINUX系统NGINX+PHP环境中的PHP-FPM进程高: 可能的原因包括请求过多、内存不足、PHP脚本执行时间过长等。解决方法可以是优化PHP配置,限制并发连接数,调整内存分配,检查并优化慢速脚本,以及确保足够的系统资源。 4. MYSQL主从复制故障切换: 当主库宕机时,应先确认所有从库已经完全同步,然后选择一个新的主库,更新所有从库的配置,重置主库状态,创建同步用户,最后更新应用程序连接信息指向新的主库。在主库未宕机的情况下,主主或主从切换也有类似但更复杂的流程。 5. 数据库恢复策略: 如果误操作DROP导致数据丢失,可以尝试从备份恢复,如果无备份,可使用InnoDB的事务日志(redo log)和二进制日志(binlog)尝试恢复,但这种方法依赖于日志记录的完整性。 6. 网站性能优化实例: 当网站因访问MySQL数据库慢而打开慢时,首先要检查系统状态,如使用`sar`分析IO,`vmstat`监控内存和CPU,检查磁盘IO和网络状况。其次,优化MySQL参数,如`max_connect_errors`、`connect_timeout`、`skip-name-resolve`和`slave-net-timeout`等,以提升数据库性能。 这份文档覆盖了Linux运维工程师在面试中可能会遇到的各种问题,包括网络配置、系统监控、数据库管理、故障排查和性能优化等多个方面,是提升个人技能和准备面试的重要参考资料。