linux运维(综合)附带部分答案

nginx反向代理的几种模式?

nginx反向代理一共以下5种模式,前3种使用的比较多:

1)轮询:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

2)权重:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

3)ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

4)fair(第三方):按后端服务器响应时间来分配,时间短的优先分配。

5)url_hash(第三方):按访问url的hash结果来分配请求,使同样的url定向到同一个后端服务器,后端服务器为缓存时比较有效。

MySQL主从有哪几种模式?

1)基于SQL语句的复制(statement-based replication, SBR)。

2)基于行的复制(row-based replication, RBR)。

3)混合模式复制(mixed-based replication, MBR)。

说说tomcat调优?
有哪些原因会导致mysql主从同步出问题?该如何解决?

原因:

1.主数据库binlog日志未开启或binlog日志更新未开启。

2.主从数据库结构不一致。

3.防火墙没有开放端口。

5.对应的IP地址写错了。

6.mysql数据库版本不一致。

解决办法:

1.强制同步。

2.如果数据不一致,比较少的时候可以插入数据使一致。

3.如果数据库比较小,可以将数据库导出并重新导入一次。

说说mysql的备份?

1)按照数据影响分:

热备 xtrabackup,只能备份InnoDB和XtraDB两种引擎表

冷备

温备

2)按照备份后的文件内容分:

逻辑备份 mysqldump,数据量大不建议使用,备份后内容可读,一般是文本文件,里面是SQL语句或表的实际数据

裸文件备份
拷贝数据库物理文件,mysqlhotcopy,最快,但是只能是myisam引擎.本质是使用锁表语句后再使用cp或scp拷贝数据库.适合大数据

3)按照备份数据库的内容来分:

完全备份

增量备份 xtrabackup,只能备份InnoDB和XtraDB两种引擎表

日志备份 二进制日志的备份,主从复制

查看http的并发请求数及TCP连接状态?

[root@Bob10 ~]# netstat -ap | grep httpd | awk ‘{printf $6}’ #查看链接状态

[root@Bob10 ~]# netstat -an |grep ESTABLISH | grep “192.168.1.10:80”
#查看并发请求数

统计出Apache的access_log中访问量最多的5个IP?

cat /var/log/httpd/access_log | awk ‘{print $1}’ | uniq -c |sort
-n|tail -5

Linux开机启动顺序?

1)加载BIOS: 根据设定取得第一个可开机引导设置如:光驱,硬盘,网络,USB。

2)MBR引导:
通过主引导扇区读取主引导程序、硬盘分区表和和硬盘有效标志.系统找到BIOS所指定的硬盘的MBR后,就会将其复制到地址所在的物理内存中。

3)读取grub: 读取内存中的grub配置信息,并依照此配置信息来启动不同的操作系统。

4)加载内核:
系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。

5)读取inittab:
运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作.inittab最主要的就是确定运行等级。

6)执行rc.sysinit: 就是说这是来准备软件执行的作业环境的。

7)执行rcN.d:
根据运行级别的不同,系统会运行/etc/rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。

8)执行rc.local:
rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。

9)执行/bin/login 执行后进入登录状态。

写一个脚本,实现判断192.168.1.0/24网络中当前在线的IP有哪些,能ping通则认为在线?

[root@Bob10 ~]# vim /root/ping.sh

#!/bin/bash

i=0

while [ $i -le 255 ]

do

        ping -c 3 192.168.1.$i &> /dev/null

        if [ $? == 0 ]

        then

                echo "192.168.1.$i"

        fi

        ((i++))

done

[root@Bob10 ~]# chmod +x /root/ping.sh

写一个脚本,要求从本地的/data目录下的所有文件备份到远程服务器的/data目录下,备份完成后发送邮件到backup.meihua.info,邮件内容要显示备份数据的大小,并且每天凌晨1点开始执行?

[root@Bob10 ~]# vim /root/back.expect

#!/usr/bin/expect

set ip "192.168.1.11"

set passwd 123456

set timeout 30

spawn scp -r /root/data/ $ip:/root/

expect {

        "(yes/no)?" { send "yes\r";exp_continue }

        "password:" { send "$passwd\r";exp_continue }

}

[root@Bob10 ~]# vim /root/back.sh

#!/bin/bash

expect /root/back.expect

if [ $? -eq 0 ]

then

        size=`du -sh /root/data/ | awk '{print $1}'`

        echo "backup success\!the size is $size" | mail -s "backup info" backup.meihua.info

else

        echo "bacukp failed\!" | mail -s "backup info" backup.meihua.info

fi
说说MySQL优化?

1.硬件优化:

1)cpu:64位,高主频,高缓存,高并行处理能力.

2)内存:大内存,高主频,尽量不要用swap.

3)硬盘:固态,高转速.

4)网卡:万兆,光口.

2.磁盘io优化:

1)做raid10

2)磁盘分区:将数据放在独立的分区上.做主从时,binlog单独放在一个分区

3.操作系统优化:

1)使用64位系统

2)使用网卡绑定

3)设置TCP连接数限制

4)优化mysql用户打开文件数限制

5)禁用不必要的服务自启动

6)可以给数据分区一个单独的文件系统,一般为xfs(红帽6需要安装支持xfs的软件xfsprogs),在挂载分区时可以考虑启用noatime.

7)最小化原则:

安装系统最小化

开启服务最小化

操作最小化

登录最小化

权限最小化

4.数据库设计与规划:

1)专机专用

2)做主从同步,负载均衡,高可用集群等

3)选择合适的数据库引擎.如myiasm适合读多写少的表,innodb适合读少写多的表.做主从时主使用innodb引擎,从使用myisam引擎

5.my.cnf内的参数优化:

总原则:赋予mysql适当的资源,一般40%给系统,60%-70%给mysql.

1)启用mysql慢查询,分析sql语句,找到影响效率的sql:

vim /etc/my.cnf

log-slow-queries=/var/lib/mysql/slow.log

log_query_time=5

2)对查询进行缓存:

vim /etc/my.cnf

query_cache_size=32m

3)强制限制mysql资源配置,例如:

vim /etc/my.cnf

max_connections=500 #限制最大连接数

wait_timeout=10 sleep #mysqld将终止等待时间(空闲时间)超过10秒的连接

max_connection_error=10
#如果一个主机在连接到服务器时有问题,并重试很多次后放弃,那么这个主机就会被锁定,直到执行:mysql> FLUSH HOSTS;

4)表高速缓存:

vim /etc/my.cnf

table_cache=23 #缓存23个表.在 2G 内存以下的机器中的值默认从 256 到 512个

5)关键字缓存:

vim /etc/my.cnf

key_buffer=512M #只跑了一个mysql服务.结合所有缓存,mysql整体使用的缓存可以是物理内存的80%

6)关闭dns反查功能:

skip-name-resolve #该选项就能禁用DNS 解析,连接速度会快很多。不过,这样的话就不能在MySQL
的授权表中使用主机名了而只能用ip 格式。

6.sql语句优化:

1)建表:

表结构合理,不要太大,类型精确.

2)索引:

建立合适的索引.

3)查询:

减少逻辑运算,精确查询(不要查询不需要的数据).

适当的将多个小查询合并为一个大的查询.

适当的将某些过于复杂的查询拆解成多个小查询,和刚才的相反.

4)事务:

减小事务包的大小.

5)存储过程:

适当的建立并优化存储过程
13.软件包的安装方式有哪几种?该如何正确的选用哪种安装方式?

1.yum安装:功能性软件,如openssh

2.源码编译:高并发的软件,例如mysql集群

3.二进制安装:开发测试的软件
14.myisam和innodb的区别是什么?

mysql默认使用的是myisam

1)myiasm不支持事物

2)myisam不支持行锁表

3)myisam不支持外键

4)myisam支持全文索引

5)myisam支持gis数据,如surface等

6)myisam主键范围比innodb小,最小是其1/2
15.如何批量删除指定的文件夹下以.txt结尾的文件?

find /root/ -name “*.txt” -exec rm -rf {} ;

如何筛选指定文件夹下大于10M的文件?

find /root/ -size +10M

说说你在公司的主要工作内容以及公司的系统架构?
在工作过程中遇到了一些什么问题?如何排查并解决的?
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zack_snair

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值