博客
关于我
2021做运维的福利,80道面试常问的题目 答案这2天就可以整理完毕 能掌握面试 so easy
阅读量:558 次
发布时间:2019-03-09

本文共 3983 字,大约阅读时间需要 13 分钟。

.nginx MySQL 负载均衡 模块行政档案防火墙 数据库复制 路由器 负载均衡协议 网络设备

nginx访问日志分析与IP访问情况统计

进行IP访问日志分析并找出前十位访问页面数量最多的IP地址,可以使用以下命令:

cat www.jkkcss.cn.log | awk '{print $1}' | uniq -c | sort -nr | head -10

nginx各个版本的区别

nginx主要有以下几大版本,每个版本都有其独特的特点和改进:

  • Nginx 1.x 系列:最初版本,支持简单的负载均衡和静态文件服务。
  • Nginx 2.x 系列:引入了更高级的功能,如 LUA( lexer ),提供更强大的脚本处理能力。
  • Nginx 3.x 系列:改进了事件驱动架构,提升了并发处理能力。
  • Nginx 4.x 系列:引入了异步式架构(aio),进一步优化了性能。
  • nginx最新版本

    截至2024年最新版本是 Nginx 1.25.2,此版本主要改进了性能和安全性,包括对 apache2 协议的支持更为完善,以及对 HTTP/3 的优化。

    nginx access模块面试题

    以下是一些常见的access模块面试问题:

  • access_log 模块:如何根据指定的格式生成日志?
  • limit_conn_zone:如何优化数据库连接限制?
  • expires 模块:如何控制浏览器缓存策略?
  • authorization 模块:如何实现IP白名单访问控制?
  • _geo 模块:如何根据地理位置分发不同的资源?
  • nginx默认配置文件

    nginx.conf 是一个基本的配置文件模版,包含以下默认设置:

    • user nobody nobody -D -ggroupid;
      设置运行用户,默认为 nobody
    • daemon off;
      启动方式,默认为 foreground。
    • error_log debug;
      设置日志级别,默认为 debug。
    • include "nginx.conf";
      启用配置文件的包含。
    • include "mime.conf";
      启用 MIME 类型配置文件。
    • include "metryc.conf";
      启用方式方法配置文件。

    location规则

    location 指令用于定义请求匹配规则,支持多种匹配方式:

    • any:匹配所有请求。
    • bsdsockets:匹配除 Richard W. ickerick 改动的那些请求。
    • ** javascript 防护 环境` :匹配与特定脚本语言相关的请求。
    • ** residuals**:如果没有更精确匹配则使用默认设置。
    • ~ regex:使用正则表达式匹配请求路径。

    配置nginx防盗链

    防盗链可以通过以下配置实现:

  • nginx.conf中添加以下配置:
  • client_max_body_size 1M;
    client_header "X-File-Size" size:1M;
    location / {
    p3p on;
    expires 365d;
    access_log off;
    }
    1. 使用 W3C 验证工具进行测试,确认防盗链策略有效。
    2. 数据库删除方法区别

      在数据库操作中,DROPDELETETRUNCATE 有以下区别:

    3. DROP: 会删除整个表及其数据,是永久删除,无法恢复。
    4. DELETE: 可以对指定表中数据进行选择性删除,有条件删除。
    5. TRUNCATE: 清空表中的数据,但保留表结构,不影响索引。
    6. MySQL主从原理

      MySQL主从复制使用 发布/订阅 模式,主库作为发布器,负责处理写操作并发布事件给从库,订阅者从服务器获取事件并处理。参数配置主要涉及 rpl_semi_sync_masterrpl_semi_sync_slave

      MySQL主从复制问题

      从库延迟常见原因包括:

    7. 网络延迟:从库网络不稳定。
    8. I/O latencies:磁盘速度慢导致ioneš-producer。
    9. ** Explicit commits**:主从设置不当导致二进制日志缓冲不够。
    10. 另外一个原因,可以是什么呢?
    11. 主从复制常见问题应该及时检查二进制日志设置、网络延迟、从库磁盘速度等。

      MySQL复制方法

      推荐使用 MySQL祭日复制,即基于二进制日志的主从复制,适合大规模数据复制和高可用性环境。

      主从延迟原因及解决方案

      延迟常见原因:

    12. 数据库负载:主库处理事务时间过久。
    13. 网络问题:不稳定或带宽有限。
    14. 硬件性能:磁盘速度下降。
    15. 解决方案:优化数据库性能,增加主从网络带宽,升级硬件配置。

      判断主从延迟的方法

    16. 比较主从两方的时间差
      • 比较源和目标的时间戳,手动记录时间。
    17. 数据库检查
      • 查询 SLOW_QUERY 表,查看长查询。
    18. 资源监控工具
      • 使用 Zabbix 或类似工具持续监控延迟。
    19. MySQL重置root密码方法

    20. reboot以备用模式重启:在Grub中选择备用启动选项。
    21. 进入MySQL命令行:
      mysql -u root --execute "UPDATE user SET password WHERE user='root'"
      \q
    22. 3. 重新登录并设置新密码。
      ### MySQL备份方式
      推荐使用 `Percona XtraBackup` 或 `InnoDB恢复工具`,提供全量和增量备份,支持 overlook interrupt备份过程。
      ### InnoDB特性
      1. **支持事务**:可以支持ACID事务。
      2. **支持自动 crash recovery**:在crash恢复时自动生成。
      3. **多版本压缩存储**:Efficient storage of rows viaimmer.
      4. **在线DDL**:允许在线执行 DDL 操作。
      ### varchar(100) vs varchar(200)
      主要区别在于:`varchar(100)` 在存储时会自动截断内容到100字符,而 `varchar(200)` 允许200字符。
      ### MySQL主要索引类型
      1. **普通索引**:使用默认排序方式优化查询。
      2. **唯一索引**:记录不可为null且唯一的字段。
      3. **全文索引**:建立在 `fulltext` 列上的索引。
      4. **合并索引**:结合多个字段提高查询效率。
      ### 非关系型数据库
      **典型产品**:Cassandra、MongoDB、CouchDB
      **特点**:支持动态数据建模,擅长处理大量非结构化数据。
      **应用场景**:社交媒体、日志记录、实时分析等。
      ### MySQL安全加强措施
      1. **定期备份和恢复**:防止数据丢失。
      2. **使用强密码**:root账户防止被破解。
      3. **限制访问权限**:最小权限原则。
      4. **设置防火墙**:保护数据库服务器访问。
      5. **监控审计**:采用工具如Zab Enlighten。
      ### Binlog工作模式
      1. **命令行模式**:实时写入二进制日志。
      2. **陈述模式**:批量写入二进制日志。
      3. **行模式**:记录每行变更事务。
      **企业选择建议**:
      - **大多数企业**:建议使用陈述模式,减少IO负担。
      - **对事务完整性要求高**:使用命令行模式。
      ### 生产主库失效恢复
      1. **根据状态**:检查主库是否完全失效。
      2. **切换从库**:提升其他从库为主库。
      3. **应用els lag**:当数据还未同步。
      ### MySQL MyISAM与InnoDB
      1. **表类型**:MyISAM适合小型表,InnoDB大数据优化。
      2. **事务支持**:InnoDB支持事务。
      3. **恢复能力**:InnoDB crash recovery。
      4. **锁机制**:InnoDB行锁,MyISAM表锁。
      ### 优化网站速度
      1. **数据库优化**:减少查询时间和锁竞争。
      2. **缓存策略**:启用CDN和浏览器缓存。
      3. **网络优化**:压缩图片和减少不必要资源。
      4. **负载均衡**:部署Nginx和KeepAlived。
      ### xtrabackup增量备份
      1. **增量备份**:基于全量备份进行差异备份。
      2. **性态检查**:检测数据变化。
      3. **恢复选项**:支持点YOUR滚回和全量恢复。
      ### 磁盘使用率检测
      ```bash
      df -h
      free -h
      top

      LVS负载均衡模式

    23. NAT模式:将请求转发为服务器IP。
    24. DR模式:在数据链路层调整载balancer。
    25. LVS-NAT与DR模式

    26. NAT模式:IP地址转换,服务器知道真实源IP。
    27. DR模式:数据包在负载均衡之前进行转发。
    28. LVS负载调度算法

      支持多种调度算法:

      • 轮询(RR):按顺序调度服务器。
      • 加权轮询:根据资源重负载调整。
      • 最少连接数:均衡服务器负载。
      • 加权最少连接数:结合权重和连接数。

      负载均衡与VRRP区别

      • 负载均衡:协调服务分布,按请求分发。
      • VRRP:维护虚拟路由信息,确保网络分发。

      服务器压力测试工具

      常用工具,包括:

    29. JMeter:开源压力测试工具。
    30. LoadRunner:商业测试工具。
    31. PerformanceTest:自动化测试工具。
    32. Nginx与Apache区别

    33. 速度:Nginx更快。
    34. 资源占用:Nginx较轻量。
    35. 功能:支持更高级功能 如反向代理。
    36. 社区活跃度:Nginx比Apache更受欢迎。
    37. Eating大多数咨询内容,请整理成像这样的结构。

      请根据以上内容,为部分或全部内容撰写优化后的文章。

    转载地址:http://shhsz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现 Greedy Best First Search最佳优先搜索算法(附完整源码)
    查看>>
    Objective-C实现 jugglerSequence杂耍者序列算法 (附完整源码)
    查看>>
    Objective-C实现 lattice path格子路径算法(附完整源码)
    查看>>
    Objective-C实现1000 位斐波那契数算法(附完整源码)
    查看>>
    Objective-C实现2 个数字之间的算术几何平均值算法(附完整源码)
    查看>>
    Objective-C实现2d 表面渲染 3d 点算法(附完整源码)
    查看>>
    Objective-C实现2D变换算法(附完整源码)
    查看>>
    Objective-C实现3n+1猜想(附完整源码)
    查看>>