【面筋】总结

文章:http://blog.51cto.com/ganbing/2057482

 

一、2018.03.23 14:00

1.如何统计一个目录下的文件数

ls -lR|grep '^-'|wc -l

2.如何查看http的连接数和TCP请求数?

netstat -an|grep -i "80"|wc -l
netstat -an|grep tcp|wc -l

3.如何修改linux默认的文件描述符,默认是1024.

#查看当前的文件描述符
ulimit -n

【方法1】 #修改文件描述符,打开如下文件新增一行,重启后生效 vi
/etc/security/limits.conf * hard nofile 4096
* soft nofile 4096

【方法二】
ulimit -SHn 4096 #只对当前Session有效
将上述行写入/etc/profile文件中

4.检查和修复磁盘命令

#检查磁盘坏道
badblocks -v /dev/sda > result.txt

#修复磁盘
fsck  -y /dev/sda

 

5.现有网段192.168.10.0/24, 能ping通则认为此机器正常。请编写一个脚本,判断该网段的IP的状态?

for ip in `seq 1 254`
do
{
ping -c 1 192.168.10.$ip > /dev/null 2>&1
if [ $? -eq 0 ]; then
   echo 192.168.1.$ip UP
else
   echo 192.168.1.$ip DOWN
fi
}&
done
[root@master-drbd scripts]# more ping1.sh
#!/bin/bash

for siteip in $(seq 1 254)
do
    site="192.168.10.${siteip}"
    ping -c1 -W1 ${site} &>/dev/null
    if [ "$?" == 0 ];then
       echo "$site is UP"
    else
       echo "$site is DOWN"
    fi
done

说明:&>/dev/null 将多余的东西丢入回收站

 

6.nginx中使用什么模块可以实现upstream段配置的server遇故障自动剔除呢?

 upstream在设置的server出现故障时,会主动将无法访问的服务器剔除,即weight设置为0.

 

7.HAProxy、Nginx、LVS分别工作在OSI的几层?并简述他们的区别?

HAProxy: 可以工作在第四层(传输层)和第七层(应用层)。

Nginx:  工作在第七层(应用层)。

LVS: 工作在第四层,即传输层。

 

【LVS】

优点:

  • 抗负载能力强,工作在4层仅做分发之用,没有流量的产生。这也决定了它在负载均衡里性能是最强的。
  • 工作稳定,自身有完整的双机热备方案,如LVS+keepalived;
  • 应用范围比较广,可以对所有应用做负载均衡;
  • 配置性比较低

缺点:

  • 软件本身不支持正则,不能做动静分离,凸显了Nginx+Keepalived的优势;
  • 如果网站流量比较大,LVS/DR+Keepalived就比较复杂,特别是Windows Server的机器,配置和维护比较麻烦;

 

【Nginx】

优点:

  • 工作在7层,可以针对http应用做一些分流的策略。例如针对域名、目录结构。它的正则比HAproxy还要强大和灵活;
  • Nginx对网络依赖比较小,理论上能ping通就能进行负载均衡功能;
  • Nginx安装和配置简单,测试方便;
  • 可以承担高的负载压力且比较稳定,一般能支撑超过几万次的并发量;
  • Nginx可以通过端口检测服务器内部的故障,例如根据服务器处理网页返回的状态码,超时等等,并且会把返回错误的请求重新提交到另一个节点;
  • Nginx不仅是一款负载均衡、反向代理软件,还是一款功能强大的Web服务器。Nginx在处理静态页面,特别是高并发方面有优势;
  • Nginx现在作为Web反向加速缓存越来越成熟,速度比传统的Squid服务器更快;

缺点:

  • 对后端RealServer服务器,只支持通过端口检测后端服务器的状态,不支持URL来检测;
  • 不支持Session保持、Cookier引导;
  • 仅能支持http和Email;

 

【HAproxy】

优点:

  •  工作在网络七层;
  • 能够补充Nginx的一些缺点,例如Session保持、Cookie引导等;
  • 支持URL检测后端出现问题的服务器;
  • 支持更多的负载均衡算法:动态加权轮询、加权源地址哈希、加权URL哈希、加权参数哈希;
  • 从效率上讲,比Nginx的负载均衡要高;
  • 可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡;
  • 支持虚拟主机;

 

8.MySQL主从复制,如何配置从主切换到备后,主恢复后不再切回到主?

如果采用MySQL+Keepalived架构的话,可以通过在keepalived.conf中的nopreempt选项来进行设置;

 

9.MySQL主主复制时,该如何配置?配置文件中的是配置MASTER、还是配置BACKUP?

 通过搭建MySQL双主互备+Keepalived高可用时,Keepalived.conf中state都配置成BACKUP.

在设置不抢占时,MySQL1中的Keepalived.conf需添加nopreempt,而MySQL2的Keepalived.conf不要添加nopreempt.

 

10.Zabbix如何配置模板?

11. Linux的启动顺序

BIOS > MBR > GRUB > Kernel > Init > Runlevel

 

12. 了解过哪些nginx的衍生版本?

Tengine
SEnginx
openresty

13. 使用过Zabbix吗?了解Proxy吗?

 Zabbix是一个分布式监控系统。它有丰富的模板。

 

 

14. 介绍解释下反向代理服务器?

反向代理方式就是通过代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并且将从内部网络服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一台服务器。当一台代理服务器能代理外部网络上的访问请求来访问内部网络时,这种代理服务的方式称为反向代理服务。

 

 


 二、2018.03.23 17:00

 

1. nginx如何配置伪静态页面?只允许程序调用,而不允许使用浏览器直接能访问到文件?

 

【伪静态配置】

场景一: http://www.abc.com/index.php/front/index/index   重写成 http://www.abc.com/a.html

场景二:把带参数的1.2解析成3 
1.http://www.abc.com/index.php/front/index/parse/name/yangxignyi/age/18 
2.http://www.abc.com/index.php/front/index/parse?name=yangxignyi&age=18 
3.http://www.abc.com/parse-yangxignyi-18.html 

 

Nginx配置文件nginx.conf如下:

server{
        listen       80;
        server_name  www.abc.com;
        root   "D:/phpStudy/WWW/abc";
        location / {
            index  index.php index.htm /public/index.html;
            autoindex  off;
            include abc.conf;
            #rewrite a.html /index.php/front/index/index last;
        }
        location ~ \.php(.*)$  {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
    }

伪静态配置文件可以直接写在 location / {} 里面的,不推荐这样做,建议新增加个rewrite.conf写伪静态文件会好点,include 进来就行了,这样可以在rewrite.conf里面写n多配置。

如下是nginx.conf的配置

location / {
            index  index.php index.htm /public/index.html;
            autoindex  off;
            include rewrite.conf;
            #rewrite a.html /index.php/front/index/index last;
        }

rewrite.conf (这个文件自己创建就行了,文件内容写规则)

#场景一的规则
#http://www.abc.com/index.php/front/index/index
rewrite a.html /index.php/front/index/index last;

#场景二的规则
#1.http://www.abc.com/index.php/front/index/parse/name/yangxignyi/age/18
#2.http://www.abc.com/index.php/front/index/parse?name=yangxignyi&age=18
#3.http://www.abc.com/parse-yangxingyi-18.html
rewrite parse-(\w+)-(\d+).html /index.php/front/index/parse/name/$1/age/$2 last;

\w:表示数字字母下划线

\d:表示数字

+:表示最少一个

{1,} :表示1到无穷大

{1,3} 表示1-3位数

写完规则,记得重启nginx!

 

 

2. 如果是你,如何在每天的0点对MySQL数据库进行备份,涉及到事务该如何处理?

 

 

3. 如果同一个网站有南方和北方两个节点,突然发现一个节点访问过慢,该怎么解决?

 

4. 如何批量复制文件到服务器?

我们可以采用自动化运维工具SaltStack来实现,每台机器都需要安装Agent.

 

5. 如何搭建MySQL读写分离?

搭建MySQL的读写分离可以采用两种方式。

方法一:通过MMM套件+Amoeba方式,是目前比较成熟的实现方式。

方法二:通过MySQL-proxy组件来实现读写分离,该组件是由官方开发的,但比较不稳定。

 

6.top命令中的load average的含义?

它分别记录了1分钟、5分钟、15分钟的系统平均负载!

 

7.简述一下三次握手和四次连接?

 

8.安装nginx的机器为什么必须要保证Linux内核版本为2.6以上?

 

 

 

 

 

  1. 自我介绍
  2. JVM垃圾回收算法和垃圾回收器有哪些,最新的JDK采用什么算法。
  3. 新生代和老年代的回收机制。
  4. 讲一下ArrayList和linkedlist的区别,ArrayList与HashMap的扩容方式。
  5. Concurrenthashmap1.8后的改动。
  6. Java中的多线程,以及线程池的增长策略和拒绝策略了解么。
  7. Tomcat的类加载器了解么
  8. Spring的ioc和aop,Springmvc的基本架构,请求流程。
  9. HTTP协议与Tcp有什么区别,http1.0和2.0的区别。
  10. Java的网络编程,讲讲NIO的实现方式,与BIO的区别,以及介绍常用的NIO框架。
  11. 索引什么时候会失效变成全表扫描
  12. 介绍下分布式的paxos和raft算法
  1. 你在项目中怎么用到并发的。
  2. 消息队列的使用场景,谈谈Kafka。
  3. 你说了解分布式服务,那么你怎么理解分布式服务。
  4. Dubbo和Spring Clound的区别,以及使用场景。
  5. 讲一下docker的实现原理,以及与JVM的区别。
  6. MongoDB、Redis和Memcached的应用场景,各自优势
  7. MongoDB有事务吗
  8. Redis说一下sorted set底层原理
  9. 讲讲Netty为什么并发高,相关的核心组件有哪些
  1. 完整的画一个分布式集群部署图,从负载均衡到后端数据库集群。
  2. 分布式锁的方案,Redis和Zookeeper那个好,如果是集群部署,高并发情况下哪个性能更好。
  3. 分布式系统的全局id如何实现。
  4. 数据库万级变成亿级,你如何来解决。
  5. 常见的服务器雪崩是由什么引起的,如何来防范。
  6. 异地容灾怎么实现
  7. 常用的高并发技术解决方案有哪些,以及对应的解决步骤。

 

posted @ 2018-03-30 19:34  foreverfriends  阅读(213)  评论(0编辑  收藏  举报