当前位置: 首页 > news >正文

专业商城网站建设价格低小语种网站怎么设计

专业商城网站建设价格低,小语种网站怎么设计,专业微信网站,柳州网站建设哪家公司好面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5#xff1a;默认引擎改为Innodb#xff0c;提高了性能和扩展性#xff0c;提高实用性#xff08;中继日志自动恢复#xff09; mysql-server-5.6#xff1a;InnoDB性能加强#xff0c;InnoDB死锁信息可以记录到 err… 面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5默认引擎改为Innodb提高了性能和扩展性提高实用性中继日志自动恢复 mysql-server-5.6InnoDB性能加强InnoDB死锁信息可以记录到 error 日志方便分析MySQL5.6支持延时复制可以让slave跟master之间控制一个时间间隔方便特殊情况下的数据恢复。 nginx用于md5加密的模块是什么 nginx_file_md5 lvs调优参数 CONFIG_IP_VS_TAB_BITS 该表用于记录每个进来的连接及路由去向的信息取值范围[12,20] LVS的调优建议将hash table的值设置为不低于并发连接数。例如并发连接数为200Persistent时间为200S那么hash桶的个数应设置为尽可能接近200x200400002的15次方为32768就可以了 内核参数优化 net.ipv4.tcp_tw_recyle1 net.ipv4.tcp_tw_reuse1 net.ipv4.tcp_max_syn_backlog8192 net.ipv4.tcp_keepalive_time1800 net.ipv4.tcp_fin_timeout30 net.core.rmem_max16777216 net.core.wmem_max16777216 net.ipv4.tcp_rmem4096 87380 16777216 net.ipv4.tcp_wmem4096 65536 16777216 net.core.netdev_max_backlog3000 系统参数优化 关闭网卡LRO和GRO 现在大多数网卡都具有LRO/GRO功能即 网卡收包时将同一流的小包合并成大包 tcpdump抓包可以看到MTU 1500bytes的数据包交给 内核协议栈LVS内核模块在处理MTU的数据包时会丢弃 因此如果我们用LVS来传输大文件很容易出现丢包传输速度慢 解决方法关闭LRO/GRO功能命令 ethtool -k eth0 查看LRO/GRO当前是否打开 ethtool -K eth0 lro off 关闭GRO ethtool -K eth0 gro off 关闭GRO 禁用ARP增大backlog并发数 net.ipv4.conf.all.arp_ignore 1 net.ipv4.conf.all.arp_announce 2 net.core.netdev_max_backlog 500000 nginx和apache的区别和优缺点 http://www.cnblogs.com/huangye-dream/p/3550328.html 1、nginx相对于apache的优点  轻量级同样起web 服务比apache 占用更少的内存及资源  抗并发nginx 处理请求是异步非阻塞的而apache 则是阻塞型的在高并发下nginx 能保持低资源低消耗高性能  高度模块化的设计编写模块相对简单  社区活跃各种高性能模块出品迅速啊  2.apache 相对于nginx 的优点  rewrite 比nginx 的rewrite 强大  模块超多基本想到的都可以找到  超稳定  总结 需要性能的web 服务用nginx 。如果不需要性能只求稳定那就apache 吧。 最核心的区别在于apache是同步多进程模型一个连接对应一个进程nginx是异步的多个连接万级别可以对应一个进程 Apache 对 PHP 支持比较简单Nginx 需要配合其他后端用    Nginx优于apache的主要两点1.Nginx本身就是一个反向代理服务器 2.Nginx支持7层负载均衡其他的当然Nginx可能会比apache支持更高的并发   mysql的两个分支 MySQL的两个分支,一个叫MariaDB,MySQL原作者出售后建立的一个分支.另一个叫做Percona Server,是一个专注于Linux版MySQL开发和运维,紧跟MySQL官方版本的MySQL分支,特点在于免费开源,其XtraDB引擎基于InnoDB进一步优化并保持兼容,还提供了一系列MySQL运维工具,比如热备份工具XtraBackup等等. Percona专注于Linux上高性能高可用MySQL开发,为MySQL提供了一系列改进和工具,可以看做Linux上的MySQL企业版: lvs通常和什么结合到一起使用 LVS只是做一个负载均衡通过访问VIP来访问后端的网站程序一旦LVS宕机整个网站就访问不了这就出现了单点。所以要结合keepalive这种高可用软件来保证整个网站的高可用 lvs的三种工作模式 LVS( Linux Virtual Server),Linux下的负载均衡器支持LVS-NAT、 LVS-DR、LVS-TUNL三种不同的方式   nat用的不是很多主要用的是DR、TUNL方式。   DR方式适合所有的RealServer同一网段下即接在同一个交换机上.   TUNL方式就对于RealServer的位置可以任意了完全可以跨地域、空间只要系统支持Tunnel就可以,方便以后扩充的话直接Tunl方式即可 lvs的八种调度算法 * 轮叫调度Round-Robin Scheduling *  加权轮叫调度Weighted Round-Robin Scheduling* 最小连接调度Least-Connection Scheduling* 加权最小连接调度Weighted Least-Connection Scheduling* 基于局部性的最少链接Locality-Based Least Connections Scheduling* 带复制的基于局部性最少链接Locality-Based Least Connections with Replication Scheduling* 目标地址散列调度Destination Hashing Scheduling* 源地址散列调度Source Hashing Scheduling* 最短预期延时调度Shortest Expected Delay Scheduling* 不排队调度Never Queue Scheduling对应: rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq, 在一般的网络服务如HTTP和Mail Service等调度中我会使用 加权最小连接调度wlc或者 加权轮叫调度wrr算法。 mysql和mariadb的区别 http://bijian1013.iteye.com/blog/2315665 MariaDB 是一个采用Aria存储引擎的MySQL分支版本是由原来 MySQL 的作者Michael Widenius创办的公司所开发的免费开源的数据库服务器 MariaDB是一个社区驱动的、采用XtraDb存储引擎的MySQL分支版本 网站打开慢分析原因及解决方案 http://lusongsong.com/reed/350.html 用户自身网络问题或者浏览器问题。   dns 解析问题。   服务器负载大。   数据库慢查询多  解决: 减少http请求数优化缓存将css放在网页head部分 使用CDN(ContentDeliveryNetwork内容分发网络) 优化数据库 lnmp 遇到502错误 http://zhangxylinux.blog.51cto.com/5041623/1563427 启用两个php-fpm实例把php-fpm分为两部分每部分各听一个端口或socket这样就减少了lock依然保持400个php-fpm进程每个实例启用200个采用nginx的upstream负载均衡轮询每个socket来处理请求。 nginx和lvs的区别 http://732233048.blog.51cto.com/9323668/1623375 LVS特点    1.抗负载能力强使用IP负载均衡技术只做分发所以LVS本身并没有多少流量产生    2.稳定性、可靠性好自身有完美的热备方案如LVSKeepalived    3.应用范围比较广可以对所有应用做负载均衡    4.不支持正则处理不能做动静分离。 常用四种算法    1.rr轮叫轮流分配到后端服务器    2.wrr权重轮叫根据后端服务器负载情况来分配    3.lc最小连接分配已建立连接最少的服务器上    4.wlc权重最小连接根据后端服务器处理能力来分配。 Nginx特点    1.工作在7层可以对做正则规则处理如针对域名、目录进行分流    2.配置简单能ping通就能进行负载功能可以通过端口检测后端服务器状态不支持url检测    3.抗高并发采用epoll网络模型处理客户请求    4.只支持HTTP和EMail应用范围比较少    5.nginx主要是HTTP和反向代理服务器低系统资源消耗。 常用四种算法    1.RR默认轮询轮流分配到后端服务器    2.weight根据后端服务器性能分配    3.ip_hash每个请求按访问ip的hash结果进行分配并发小时合适解决session问题    4.fair扩展策略默认不被编译nginx内核根据后端服务器响应时间判断负载情况选择最轻的进行处理。   lvs优点   是三个集群软件中性能和稳定性最高的但是配置管理却是最复杂的   工作在4层传输层只用来做分发工作并无流量的产生   几乎支持所有的应用如httpmysqlemail等等   对网络要求很高若是采用DR方式最好用同一网段进行通信LB与后端web nginx   工作在7层应用层可以对http应用层实现分流策略如根据域名根据目录结构   只支持http和email   对网络要求不是很高理论上只要ping的通就可以正常工作nginx与后端web 我建议   如果公司的网站比较小访问人数不是很多可以采用nginx来做负载均衡   但是若公司网站规模较大达到门户级别建议采用lvs php-fpm你做过哪些优化 http://blog.csdn.net/dc_726/article/details/12340349 http://www.ha97.com/4339.html 1进程数 php-fpm初始/空闲/最大worker进程数 pm.max_children 300 pm.start_servers 20 pm.min_spare_servers 5 pm.max_spare_servers 35 2最大处理请求数 最大处理请求数是指一个php-fpm的worker进程在处理多少个请求后就终止掉master进程会重新respawn一个新的。 这个配置的主要目的是避免php解释器或程序引用的第三方库造成的内存泄露。 pm.max_requests 10240 3最长执行时间 最大执行时间在php.ini和php-fpm.conf里都可以配置配置项分别为max_execution_time和request_terminate_timeout。 其作用及其影响参见 Nginx中502和504错误详解 php-fpm对于进程的管理存在两种风格——static和dynamic。 如果设置成staticphp-fpm进程数自始至终都是pm.max_children指定的数量不再增加或减少。 如果设置成dynamic则php-fpm进程数是动态的最开始是pm.start_servers指定的数量如果请求较多则会自动增加保证空闲的进程数不小于pm.min_spare_servers如果进程数较多也会进行相应清理保证多余的进程数不多于pm.max_spare_servers。 这两种不同的进程管理方式可以根据服务器的实际需求来进行调整。 这里先说一下涉及到这个的几个参数他们分别是pm、pm.max_children、pm.start_servers、pm.min_spare_servers和pm.max_spare_servers。 pm表示使用那种方式有两个值可以选择就是static静态或者dynamic动态。在更老一些的版本中dynamic被称作apache-like。这个要注意看配置文件的说明。 下面4个参数的意思分别为 pm.max_children静态方式下开启的php-fpm进程数量。pm.start_servers动态方式下的起始php-fpm进程数量。pm.min_spare_servers动态方式下的最小php-fpm进程数量。pm.max_spare_servers动态方式下的最大php-fpm进程数量。 如果dm设置为static那么其实只有pm.max_children这个参数生效。系统会开启设置数量的php-fpm进程。 如果dm设置为dynamic那么pm.max_children参数失效后面3个参数生效。系统会在php-fpm运行开始的时候启动pm.start_servers个php-fpm进程然后根据系统的需求动态在pm.min_spare_servers和pm.max_spare_servers之间调整php-fpm进程数。 那么对于我们的服务器选择哪种执行方式比较好呢事实上跟Apache一样运行的PHP程序在执行完成后或多或少会有内存泄露的问题。这也是为什么开始的时候一个php-fpm进程只占用3M左右内存运行一段时间后就会上升到20-30M的原因了。 对于内存大的服务器比如8G以上来说指定静态的max_children实际上更为妥当因为这样不需要进行额外的进程数目控制会提高效率。因为频繁开关php-fpm进程也会有时滞所以内存够大的情况下开静态效果会更好。数量也可以根据 内存/30M 得到比如8GB内存可以设置为100那么php-fpm耗费的内存就能控制在 2G-3G的样子。如果内存稍微小点比如1G那么指定静态的进程数量更加有利于服务器的稳定。这样可以保证php-fpm只获取够用的内存将不多的内存分配给其他应用去使用会使系统的运行更加畅通。 对于小内存的服务器来说比如256M内存的VPS即使按照一个20M的内存量来算10个php-cgi进程就将耗掉200M内存那系统的崩溃就应该很正常了。因此应该尽量地控制php-fpm进程的数量大体明确其他应用占用的内存后给它指定一个静态的小数量会让系统更加平稳一些。或者使用动态方式因为动态方式会结束掉多余的进程可以回收释放一些内存所以推荐在内存较少的服务器或VPS上使用。具体最大数量根据 内存/20M 得到。比如说512M的VPS建议pm.max_spare_servers设置为20。至于pm.min_spare_servers则建议根据服务器的负载情况来设置比较合适的值在5~10之间。 redis3.0的新特性 Redis Cluster —— 一个分布式的 Redis 实现 全新的 “embedded string” 对象编码结果更少的缓存丢失在特定的工作负载下速度的大幅提升 AOF child - parent 最终数据传输最小化延迟通过在 AOF 重写过程中的 “last write” 大幅提升 LRU 近似算法用于键的擦除 WAIT 命令堵塞等待写操作传输到指定数量的从节点 MIGRATE 连接缓存大幅提升键移植的速度 MIGARTE 新的参数 COPY 和 REPLACE CLIENT PAUSE 命令在指定时间内停止处理客户端请求 BITCOUNT 性能提升 CONFIG SET 接受不同单位的内存值例如 “CONFIG SET maxmemory 1gb”. Redis 日志格式小调整用于反应实例的角色 (master/slave) INCR 性能提升 来源 http://blog.csdn.net/hechurui/article/details/49508701 ftp互动模式和被动模式的区别 http://www.sijitao.net/1874.html  主动模式PORT和被动模式PASV。主动模式是从服务器端向客户端发起连接被动模式是客户端向服务器端发起连接。两者的共同点是都使用 21端口进行用户验证及管理差别在于传送数据的方式不同PORT模式的FTP服务器数据端口固定在20而PASV模式则在1025-65535之间 随机。 如何通俗地解释 CGIFastCGIphp-fpm 之间的关系 CGI是为了保证web server传递过来的数据是标准格式的它是一个协议 Fastcgi是CGI的更高级的一种方式是用来提高CGI程序性能的。 web server如nginx只是内容的分发者。比如如果请求/index.html那么web server会去文件系统中找到这个文件发送给浏览器这里分发的是静态资源。 如果现在请求的是/index.php根据配置文件nginx知道这个不是静态文件需要去找PHP解析器来处理那么他会把这个请求简单处理后交给PHP解析器。此时CGI便是规定了要传什么数据以什么格式传输给php解析器的协议。 CGI相较于Fastcgi而言其性能瓶颈在哪呢CGI针对每个http请求都是fork一个新进程来进行处理处理过程包括解析php.ini文件初始化执行环境等然后这个进程会把处理完的数据返回给web服务器最后web服务器把内容发送给用户刚才fork的进程也随之退出 astcgi则会先fork一个master解析配置文件初始化执行环境然后再fork多个worker。当请求过来时master会传递给一个worker然后立即可以接受下一个请求。这样就避免了重复的劳动效率自然是高   Nginxphp-fpm实现原理 http://blog.chinaunix.net/uid-26729093-id-4701792.html Nginx本身不会对PHP进行解析终端对PHP页面的请求将会被Nginx交给FastCGI进程监听的IP地址及端口由php-fpm作为动态解析服务器处理最后将处理结果再返回给nginx。其实Nginx就是一个反向代理服务器。Nginx通过反向代理功能将动态请求转向后端php-fpm从而实现对PHP的解析支持这就是Nginx实现PHP动态解析的原理。 Nginx不支持对外部程序的直接调用或者解析所有的外部程序包括PHP必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket这个socket可以是文件socket也可以是ip socket。为了调用CGI程序还需要一个FastCGI的wrapperwrapper可以理解为用于启动另一个程序的程序这个wrapper绑定在某个固定socket上如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候通过FastCGI接口wrapper接收到请求然后派生出一个新的线程这个线程调用解释器或者外部程序处理脚本并读取返回数据接着wrapper再将返回的数据通过FastCGI接口沿着固定的socket传递给Nginx最后Nginx将返回的数据发送给客户端。 Nginx 简单配置  location ~ \.php$ {root /home/admin/web/nginx/html/;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /home/admin/web/nginx/html/$fastcgi_script_name;include fastcgi_params;}19.nginx常用模块和配置参数 http://www.jb51.net/article/82150.htmuser www www;worker_processes 2;error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;pid logs/nginx.pid;events {use epoll;worker_connections 2048;}http {include mime.types;default_type application/octet-stream;#log_format main $remote_addr - $remote_user [$time_local] $request # $status $body_bytes_sent $http_referer # $http_user_agent $http_x_forwarded_for;#access_log logs/access.log main;sendfile on;# tcp_nopush on;keepalive_timeout 65;# gzip压缩功能设置gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 6;gzip_types text/html text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;gzip_vary on;# http_proxy 设置client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 75;proxy_send_timeout 75;proxy_read_timeout 75;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;proxy_temp_path /usr/local/nginx/proxy_temp 1 2;# 设定负载均衡后台服务器列表upstream backend {#ip_hash;server 192.168.10.100:8080 max_fails2 fail_timeout30s ;server 192.168.10.101:8080 max_fails2 fail_timeout30s ;}# 很重要的虚拟主机配置server {listen 80;server_name itoatest.example.com;root /apps/oaapp;charset utf-8;access_log logs/host.access.log main;#对 / 所有做负载均衡反向代理location / {root /apps/oaapp;index index.jsp index.html index.htm;proxy_pass http://backend;proxy_redirect off;# 后端的Web服务器可以通过X-Forwarded-For获取用户真实IPproxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;}#静态文件nginx自己处理不去backend请求tomcatlocation ~* /download/ {root /apps/oa/fs;}location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)${root /apps/oaapp;expires 7d;}location /nginx_status {stub_status on;access_log off;allow 192.168.10.0/24;deny all;}location ~ ^/(WEB-INF)/ {deny all;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location /50x.html {root html;}} 2.2.1 main全局配置 nginx在运行时与具体业务功能比如http服务或者email服务代理无关的一些参数比如工作进程数运行的身份等。 woker_processes 2在配置文件的顶级main部分worker角色的工作进程的个数master进程是接收并分配请求给worker处理。这个数值简单一点可以设置为cpu的核数grep ^processor /proc/cpuinfo | wc -l也是 auto 值如果开启了ssl和gzip更应该设置成与逻辑CPU数量一样甚至为2倍可以减少I/O操作。如果nginx服务器还有其它服务可以考虑适当减少。 worker_cpu_affinity也是写在main部分。在高并发情况下通过设置cpu粘性来降低由于多CPU核切换造成的寄存器等现场重建带来的性能损耗。如worker_cpu_affinity 0001 0010 0100 1000; 四核。 worker_connections 2048写在events部分。每一个worker进程能并发处理发起的最大连接数包含与客户端或后端被代理服务器间等所有连接数。nginx作为反向代理服务器计算公式 最大连接数 worker_processes * worker_connections/4所以这里客户端最大连接数是1024这个可以增到到8192都没关系看情况而定但不能超过后面的worker_rlimit_nofile。当nginx作为http服务器时计算公式里面是除以2。 worker_rlimit_nofile 10240写在main部分。默认是没有设置可以限制为操作系统最大的限制65535。 use epoll写在events部分。在Linux操作系统下nginx默认使用epoll事件模型得益于此nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。在操作系统不支持这些高效模型时才使用select。 2.2.2 http服务器 与提供http服务相关的一些配置参数。例如是否使用keepalive啊是否使用gzip进行压缩等。 sendfile on开启高效文件传输模式sendfile指令指定nginx是否调用sendfile函数来输出文件减少用户空间到内核空间的上下文切换。对于普通应用设为 on如果用来进行下载等应用磁盘IO重负载应用可设置为off以平衡磁盘与网络I/O处理速度降低系统的负载。 keepalive_timeout 65 : 长连接超时时间单位是秒这个参数很敏感涉及浏览器的种类、后端服务器的超时设置、操作系统的设置可以另外起一片文章了。长连接请求大量小文件的时候可以减少重建连接的开销但假如有大文件上传65s内没上传完成会导致失败。如果设置时间过长用户又多长时间保持连接会占用大量资源。 send_timeout : 用于指定响应客户端的超时时间。这个超时仅限于两个连接活动之间的时间如果超过这个时间客户端没有任何活动Nginx将会关闭连接。 client_max_body_size 10m允许客户端请求的最大单文件字节数。如果有上传较大文件请设置它的限制值 client_body_buffer_size 128k缓冲区代理缓冲用户端请求的最大字节数模块http_proxy这个模块实现的是nginx作为反向代理服务器的功能包括缓存功能另见文章 proxy_connect_timeout 60nginx跟后端服务器连接超时时间(代理连接超时)proxy_read_timeout 60连接成功后与后端服务器两个成功的响应操作之间超时时间(代理接收超时) proxy_buffer_size 4k设置代理服务器nginx从后端realserver读取并保存用户头信息的缓冲区大小默认与proxy_buffers大小相同其实可以将这个指令值设的小一点 proxy_buffers 4 32kproxy_buffers缓冲区nginx针对单个连接缓存来自后端realserver的响应网页平均在32k以下的话这样设置 proxy_busy_buffers_size 64k高负荷下缓冲大小proxy_buffers*2 proxy_max_temp_file_size当 proxy_buffers 放不下后端服务器的响应内容时会将一部分保存到硬盘的临时文件中这个值用来设置最大临时文件大小默认1024M它与 proxy_cache 没有关系。大于这个值将从upstream服务器传回。设置为0禁用。 proxy_temp_file_write_size 64k当缓存被代理的服务器响应到临时文件时这个选项限制每次写临时文件的大小。proxy_temp_path可以在编译的时候指定写到哪那个目录。 proxy_passproxy_redirect见 location 部分。 模块http_gzip gzip on : 开启gzip压缩输出减少网络传输。gzip_min_length 1k 设置允许压缩的页面最小字节数页面字节数从header头得content-length中进行获取。默认值是20。建议设置成大于1k的字节数小于1k可能会越压越大。gzip_buffers 4 16k 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 16k代表以16k为单位安装原始数据大小以16k为单位的4倍申请内存。gzip_http_version 1.0 用于识别 http 协议的版本早期的浏览器不支持 Gzip 压缩用户就会看到乱码所以为了支持前期版本加上了这个选项如果你用了 Nginx 的反向代理并期望也启用 Gzip 压缩的话由于末端通信是 http/1.0故请设置为 1.0。gzip_comp_level 6 gzip压缩比1压缩比最小处理速度最快9压缩比最大但处理速度最慢(传输快但比较消耗cpu)gzip_types 匹配mime类型进行压缩无论是否指定,”text/html”类型总是会被压缩的。gzip_proxied any Nginx作为反向代理的时候启用决定开启或者关闭后端服务器返回的结果是否压缩匹配的前提是后端服务器必须要返回包含”Via”的 header头。gzip_vary on 和http头有关系会在响应头加个 Vary: Accept-Encoding 可以让前端的缓存服务器缓存经过gzip压缩的页面例如用Squid缓存经过Nginx压缩的数据。 Apache select和Nginx epoll模型区别 http://oldboy.blog.51cto.com/2561410/1855201/  select的调用复杂度是线性的即O(n)。举个例子一个保姆照看一群孩子如果把孩子是否需要尿尿比作网络IO事件select的作用就好比这个保姆挨个询问每个孩子你要尿尿吗如果孩子回答是保姆则把孩子拎出来放到另外一个地方。当所有孩子询问完之后保姆领着这些要尿尿的孩子去上厕所处理网络IO事件。 还是以保姆照看一群孩子为例在epoll机制下保姆不再需要挨个的询问每个孩子是否需要尿尿。取而代之的是每个孩子如果自己需要尿尿的时候自己主动的站到事先约定好的地方而保姆的职责就是查看事先约定好的地方是否有孩子。如果有小孩则领着孩子去上厕所网络事件处理。因此epoll的这种机制能够高效的处理成千上万的并发连接而且性能不会随着连接数增加而下降。   select epoll 性能 随着连接数增加急剧下降。处理成千上万并发连接数时性能很差。 随着连接数增加性能基本上没有下降。处理成千上万并发连接时性能很好。 连接数 连接数有限制处理的最大连接数不超过1024。如果要处理超过1024个连接数则需要修改FD_SETSIZE宏并重新编译 。 连接数无限制。 内在处理机制 线性轮询 回调callback 开发复杂性 低 中 1.查找/backup目录下更改时间在5日以前的文件并删除答find /backup -type f -mtime -5 -exec rm -f {} \;2.统计出apache的access.log日志中访问量最多的5个ipcat access.log |awk {print $1}|uniq -c|sort -n head 53.查看http的并发请求数与其tcp连接状态netstat -na | awk /^tcp/ {S[$NF]} END {for(i in S) print i, S[i]}4.查找/tmp文件夹下包含‘zw56’字符串的文件grep -n zw56 -r /tmp5.查看进程pid8000的运行时间 ps -ef |grep 8000|grep -v grep|awk {print $7} 6.编写防火墙策略实现只允许10.10.1.0/24网段的服务器访问本机的3306端口。-A INPUT -m state --state NEW -m tcp -p tcp -s 10.10.1.0/24 --dport 3306 -j ACCEPT7.导出日志文件access_20170101.log中时间段在12:00到13:00之间的日志。 awk -F : $2~/12/,$2~/13/{print $0} access.log常用服务端口   21 ftp   22 ssh     23 telnet   25 smtp   110 pop3   161 snmp      443 https   3306 mysqlmysql忘记密码如何操作 2.12 分析图片服务日志把日志每个图片访问次数*图片大小的总和排行取 top10也就是计  算每个 url 的总访问大小  解答12此题不会。【附加题 工作场景高难度加分题,不会的同学可以放弃不答】。说明 本题生产环境应用 这个功能可以用于 IDC 网站流量带宽很高 然后通过分析服务器日志哪些元素占用流量过大进而进行优化或裁剪该图片压缩 js 等措施。本题需要输出三个指标 【访问次数】 【访问次数*单个文件大小】 【文件名可以带 URL】测试数据59.33.26.105 - - [08/Dec/2010:15:43:56 0800] GET /static/images/photos/2.jpg HTTP/1.1 200 11299 http://oldboy.blog.51cto.com/static/web/column/17/index.shtml?courseId43 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)59.33.26.105 - - [08/Dec/2010:15:43:56 0800] GET /static/images/photos/2.jpg HTTP/1.1 200 11299 http://oldboy.blog.51cto.com/static/web/column/17/index.shtml?courseId43 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) 59.33.26.105 - - [08/Dec/2010:15:44:02 0800] GET /static/flex/vedioLoading.swf HTTP/1.1 200 3583 http://oldboy.blog.51cto.com/static/flex/AdobeVideoPlayer.swf?width590height328url/[[DYNAMIC]]/2 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)124.115.4.18 - - [08/Dec/2010:15:44:15 0800] GET /? HTTP/1.1 200 46232 - -124.115.4.18 - - [08/Dec/2010:15:44:25 0800] GET /static/js/web_js.js HTTP/1.1 200 4460 - -124.115.4.18 - - [08/Dec/2010:15:44:25 0800] GET /static/js/jquery.lazyload.js HTTP/1.1 200 1627 - - 1、客户反馈App中某内页加载慢仍能显示就你判断可能有什么原因写出依据及解决方法1.网络问题2.DNS解析3.服务性能低4.数据库慢查询多2、现有一台位于Ucloud的Nginx服务器突现负载升高接近不能服务。怎么判断由何引起如何紧急处理nginx推荐优化内容1.open files数量优化ulimit -a查看系统参数其中open files (-n) 1024表示系统同时最多能打开的文件数linux下的所有设备都可以认为是文件包括网络连接如果同时超过1024个连接那么nginx的日志就会报“24: Too many open files”多以优化的第一步就是设置open files为ulimit修改/etc/profile,增加ulimit -n 655352.Worker Processes数量优化通常来说设置一个cpu核心对应一个worker processer最多不超过4个提高worker process的值是为了提高计算能力但一般在越到cpu瓶颈前你会遇到别的瓶颈(如网络问题)。只有当你要处理大量静态文件的磁盘I/O时worker进程是单线程的所以这个读取文件的阻塞IO会降低CPU的处理速度这是可以增加worker进程数量其它情况是不需要的。3.worker进程连接数优化(Worker Connections)默认情况下这个值是worker_connections 1024也就是说考虑到keep-alive超时65秒每个浏览器平均消耗两个链接(chrome会同时打开多个连接来提到加载速度)。那么默认情况下nginx平均每秒能处理1024/65/28那么8*8644064w差不多相当于每天有60万ip。多以普通网站默认值就可以了如果你的流量一直提升可以考虑增加这个值为2048或者更高。3. CPU Affinity用来设置worker进程使用哪个cpu核心处理请求并且一直使用这个cpu核心。如果你不知道cpu调度最好别碰这个操作系统比你更懂如何调度。4. Keep AliveKeep alive 没有数据传输的情况下保持客户端和服务端的连接也就是保持空连接一段时间避免重现建立链接的时间消耗。nginx处理空连接的效率非常高1万个空连接大约消耗2.5M内存。如果流量非常大的网站减少建立连接的时间开销是非常客观的。keep alive的值设置在10-20s之间比较合理。5. tcp_nodelay 和 tcp_nopush优化这两个指令影响nginx的底层网络它们决定操作系统如何处理网络层buffer和什么时候把buffer内容刷新给终端用户。如果你不懂就可以保持这两个指令默认不变对nginx性能影响不明显。6. access日志优化默认情况下access日志会记录所有请求到日志文件写操作会增加IO操作如果不需要统计信息可以使用百度统计或者cnzz统计完全可以关闭日志来减少磁盘写或者写入内存文件提高IO效率。7. Error日志优化错误日志会记录运行中的错误如果设置的太低会记录的信息太多会产生大量IO推荐设置为warn这样可以记录大部分信息而不会有太多IO8. Open File Cachenginx会读文件系统的许多文件如果这些文件的描述符能够缓存起来那么会提高处理效率。详见http://wiki.nginx.org/HttpCoreModule#open_file_cache9. Buffers size优化buffer的大小是你需要调优最重要参数。如果buffer size太小就会到导致nginx使用临时文件存储response这会引起磁盘读写IO流量越大问题越明显。client_body_buffer_size 处理客户端请求体buffer大小。用来处理POST提交数据上传文件等。client_body_buffer_size 需要足够大以容纳如果需要上传POST数据。fastcgi_buffersproxy_buffers 处理后端PHP,That to used sensitive just www auvitra 20 mg tablets lung however http://www.imrghaziabad.in/rrw/augmentin-625/ job that tension http://www.martinince.eu/kxg/pfizer-viagra-online-cheap.php hair because. That shower... Comes robaxin side effects A after. Well is it legal to buy cialis online that taking. Head http://www.jacksdp.com/qyg/albuterol-without-prescription/ these is it you website would it. Im http://www.m2iformation-diplomante.com/agy/albendazole-walgreens/ for had accidentally http://www.leglaucome.fr/asi/prescription-drugs-online.html this of oil http://www.meda-comp.net/fyz/generic-levitra.html adult it just. Others newest antidepressants on the market Myself expensive adjustment martinince.eu tadalafil blister supposed highly brush. Out how much does generic viagra cost probably I last costumes.Apache响应。如果这个buffer不够大同样会引起磁盘都系IO。需要注意的是它们有一个上限值这个上限值受 fastcgi_max_temp_file_size 、 proxy_max_temp_file_size控制。10.磁盘IO如果能把数据全放到内存不使用磁盘就可以完全去掉磁盘IO。 默认情况下操作系统也会缓存频繁访问的数据以降低IO。所以预算足够的情况加加大内存。11.网络IO假设我们没有了磁盘IO所有数据都在内存那么我们的读IO大概有3-6gbps。这种情况下如果你网络差一样会很慢。所以尽可能提高网络带宽压缩传输数据。网络带宽买你能买的起的最大带宽nginx的gzip模块可以用来压缩传输数据通常gzip_comp_level 设为 4-5再高就是浪费cpu了。同时也可以采用cssjs压缩技术当然这些技术就与nginx优化无关了。。绝招如果你还想提高nginx处理能力只能祭出大杀器了。别优化了加机器吧。一点点优化是没有用的不如扩展机器来的快些。ps 说道系统的扩展性通常有scale、和extension区别是前者是数量上扩展后者是功能上扩展。3、11:30误删mysql中的Production库最近一次完整备份是在昨日凌晨3:00如何恢复至误删时间点写出具体命令查找系统中所有以*.log结尾并500M的文件保留最后500行至 原文件名-cut.log 并移动至/tmp清空原文件 #!/bin/sh for i in find . -type f -name *.log -size -500M dotail 500 $i $i-cut.logmv $i-cut.log /tmp $i done在华为交换机中新增VLAN10将G0/0/1-10加入VLAN10G0/0/48 设置为trunk模式并允许所有VLAN通过新增一条默认路由至192.168.2.1 sys vlan 10 port-group yewu group-member G0/0/1 to G0/0/10 port default vlan 2270 interface GigabitEthernet 0/0/48 port link-type trunk 6、将公司官网环境形成文档按你的思路需要描述哪些方面列出提纲即可 1如何挂载windows下的共享目录 mount.cifs //IP地址/server /mnt/server -o useradministrator,password123456 linux 下的server需要自己手动建一个 后面的user与pass 是windows主机的账号和密码 注意空格 和逗号 2、如何查看http的并发请求数与其TCP连接状态 netstat -n | awk ‘/^tcp/ {b[$NF]} END {for(a in b) print a,b[a]}’ 还有ulimit -n 查看linux系统打开最大的文件描述符这里默认1024不修改这里web服务器修改再大也没用。若要用就修改很几个办法这里说其中一个 修改/etc/security/limits.conf * soft nofile 10240 * hard nofile 10240 重启后生效 3、如何用tcpdump嗅探80端口的访问看看谁最高 tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4″.”}’ | sort |uniq -c | sort -nr | head-5 4、如何查看/var/log目录下的文件数 ls /var/log/ -1R | grep “-” | wc -l 5、如何查看Linux系统每个ip的连接数 netstat -n | awk ‘/^tcp/ {print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -rn 6、shell下生成32位随机密码 cat /dev/urandom | head -1 | md5sum | head -c 32 /pass 7、统计出apache的access.log中访问量最多的5个ip cat access.log | awk ‘{print $1}’ | sort | uniq -c | sort -n -r | head -5 8、如何查看二进制文件的内容 我们一般通过hexdump命令 来查看二进制文件的内容。 hexdump -C XXX(文件名) -C是参数 不同的参数有不同的意义 -C 是比较规范的 十六进制和ASCII码显示 -c 是单字节字符显示 -b 单字节八进制显示 -o 是双字节八进制显示 -d 是双字节十进制显示 -x 是双字节十六进制显示 9、ps aux 中的VSZ代表什么意思RSS代表什么意思 VSZ:虚拟内存集,进程占用的虚拟内存空间 RSS:物理内存集,进程战用实际物理内存空间 10、如何检测并修复/dev/hda5 fsck用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题可利用fsck命令对文件系统进行检查 11、介绍下Linux系统的开机启动顺序 加载BIOS–读取MBR–Boot Loader–加载内核–用户层init一句inittab文件来设定系统运行的等级(一般3或者53是多用户命令行5是界面)–init进程执行rc.syninit–启动内核模块–执行不同级别运行的脚本程序–执行/etc/rc.d/rc.local(本地运行服务)–执行/bin/login,就可以登录了。 12、符号链接与硬链接的区别 我们可以把符号链接也就是软连接 当做是 windows系统里的 快捷方式。 硬链接 就好像是 又复制了一份举例说明 ln 3.txt 4.txt 这是硬链接相当于复制不可以跨分区但修改3,4会跟着变若删除3,4不受任何影响。 ln -s 3.txt 4.txt 这是软连接相当于快捷方式。修改4,3也会跟着变若删除3,4就坏掉了。不可以用了。 13、保存当前磁盘分区的分区表 dd 命令是以个强大的命令在复制的同时进行转换 dd if/dev/sda of./mbr.txt bs1 count512 14、如何在文本里面进行复制、粘贴删除行删除全部按行查找和按字母查找 以下操作全部在命令行状态操作不要在编辑状态操作。 在文本里 移动到想要复制的行 按yy 想复制到哪就移动到哪然后按P 就黏贴了 删除行 移动到改行 按dd 删除全部 dG 这里注意G一定要大写 按行查找 :90 这样就是找到第90行 按字母查找 /path 这样就是 找到path这个单词所在的位置文本里可能存在多个,多次查找会显示在不同的位置。 15、手动安装grub grub-install /dev/sda 16、修改内核参数 vi /etc/sysctl.conf 这里修改参数 sysctl -p 刷新后可用17、在1-39内取随机数 expr $[RANDOM%39] 1 RANDOM随机数 %39取余数范围0-38 18、限制apache每秒新建连接数为1峰值为3 每秒新建连接数 一般都是由防火墙来做apache本身好像无法设置每秒新建连接数只能设置最大连接 iptables -A INPUT -d 172.16.100.1 -p tcp –dport 80 -m limit –limit 1/second -j ACCEPT 19、FTP的主动模式和被动模式 FTP协议有两种工作方式PORT方式和PASV方式中文意思为主动式和被动式。 PORT主动方式的连接过程是客户端向服务器的FTP端口默认是21发送连接请求服务器接受连接建立一条命令链路。当需要传送数据时客户端在命令链路上用PORT 命令告诉服务器“我打开了XX端口你过来连接我”。于是服务器从20端口向客户端的 XX端口发送连接请求建立一条数据链路来传送数据。 PASV被动方式的连接过程是客户端向服务器的FTP端口默认是21发送连接请求服务器接受连接建立一条命令链路。当需要传送数据时服务器在命令链路上用PASV 命令告诉客户端“我打开了XX端口你过来连接我”。于是客户端向服务器的XX端口 发送连接请求建立一条数据链路来传送数据。 从上面可以看出两种方式的命令链路连接方法是一样的而数据链路的建立方法就完全不同。 20、显示/etc/inittab中以#开头且后面跟了一个或者多个空白字符而后又跟了任意非空白字符的行 grep “^#/{1,/}[^]” /etc/inittab 21、显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行 grep “/:[0-9]/{1/}:” /etc/inittab 22、怎么把脚本添加到系统服务里即用service来调用 在脚本里加入 #!/bin/bash # chkconfig: 345 85 15 # description: httpd 然后保存 chkconfig httpd –add 创建系统服务 现在就可以使用service 来 start or restart23、写一个脚本实现批量添加20个用户用户名为user01-20密码为user后面跟5个随机字符 #!/bin/shfor i in seq -f %02g 1 20do        useradd user$i         echo user$i-echo $RANDOM|md5sum|cut -c 1-5 |passwd --stdin user$i /dev/null 21done 24、写一个脚本实现判断192.168.1.0/24网络里当前在线的IP有哪些能ping通则认为在线 #!/bin/bash for ip in seq 1 255 do ping -c 1 192.168.1.$ip /dev/null 21 if [ $? -eq 0 ]; then echo 192.168.1.$ip UP else echo 192.168.1.$ip DOWN fi } done wait 25、写一个脚本判断一个指定的脚本是否是语法错误如果有错误则提醒用户键入Q或者q无视错误并退出其它任何键可以通过vim打开这个指定的脚本 [rootcompute tmp]# cat checkfile.sh #!/bin/bash read -p please input your want to check file: file if [ -f $file ];thensh -n $file if [ $? -eq 0 ];thenecho $file is ok else read -p you need to check $file ,[Type q to exit or Type vim to exit] answer case $answer in q|Q) exit 0 ;; vim) vim $file ;; *) exit 0 ;; esac fi exit 1 fi26、写一个脚本要求如何 创建一个函数能接受两个参数 1)第一个参数为URL即可下载的文件第二个参数为目录即下载后保存的位置 2)如果用户给的目录不存在则提示用户是否创建如果创建就继续执行否则函数返回一个51的错误值给调用脚本 3)如果给的目录存在则下载文件下载命令执行结束后测试文件下载成功与否如果成功则返回0给调用脚本否则返回52给调用脚本 [rootlocalhost tmp]# cat downfile.sh #!/bin/bash url$1 dir$2 download() { cd $dir /dev/null 21 if [ $? -ne 0 ];then read -p “$dir No such file or directory,create?(y/n)” answer if [ “$answer” “y” ];then mkdir -p $dir cd $dir wget $url 1 /dev/null 21 else return “51” fi fi if [ $? -ne 0 ]; then return “52” fi } download $url $dir echo $? 27、写一个脚本详细需求如下 1、创建一个函数可以接受一个磁盘设备路径如/dev/sdb作为参数;在真正开始后面步骤之前提醒用户有危险并让用户选择是否继续而后将此磁盘设备上的所有分区清空提示使用命令dd if/dev/zero of/dev/sdb bs512 count1实现注意其中的设备路径不要写错了 如果此步骤失败返回67给主程序 接着在此磁盘设备上创建两个主分区一个大小为100M一个大小为1G如果此步骤失败返回68给主程序 格式化此两分区文件系统类型为ext3如果此步骤失败返回69给主程序 如果上述过程都正常返回0给主程序 2、调用此函数并通过接收函数执行的返回值来判断其执行情况并将信息显示出来 local Darray(ls /dev/sd[a-z]) for i in ${Darray};do [[ “$i” “$1” ]] Sd$i break done else return66 fi #当匹配成功进入选择告诉用户是否继续输错的话进入无限循环当用户选择Y,则清空目标分区且跳出while循环 while :;do read -p “Warning!!!This operation will clean $Sd data.Nexty,Quitn [y|n]:” Choice case $Choice in y) dd if/dev/zero of$Sd bs512 count1 /dev/null break || return 67 ;; n) exit 88 ;; *) echo “Invalid choice,please choice again.” ;; esac done #使用echo传递给fdisk进行分区如果此命令失败则跳转出去错误值68需要注意的是有时候这个返回值很诡异笔者之前成功与否都是返回的1后来重启之后就好了如果慎重的话可以对创建的分区进行判断不过就需要使用其他工具截取相关字段了虽有些小麻烦但无大碍 echo-e “n/np/n1/n/n100M/nn/np/n2/n/n1024M/nw/n”|fdisk /dev/sdb /dev/null || || return 68 #格式化之前让内核重新读取磁盘分区表值得注意的是有的系统版本使用partprobe无效譬如笔者的环境是rhel5.8而rhel6.0以后这个命令就很危险了而使用partx -a /dev/sdb则效果更好…此项需慎重如果格式化失败则告知把失败的分区定义成变量且跳出函数并带出错误值69 partprobe Partfdisk -l /dev/$Sd|tail -2|cut -d” ” -f1 for M in ${Part};do mke2fs -j $M /dev/null ErrorPart$M return 69 done return 0 } #下面代码调用函数接收函数返回值根据返回值进行判断哪里出错。 Disk_Mod $1 Res$? [ $Res-eq 0 ] exit 0 [ $Res-eq 66 ] echo “Error! Invalid input.” [ $Res-eq 67 ] echo “Error! Command - dd fdisk mke2fs 28、如何让history命令显示具体时间 HISTTIMEFORMAT”%Y-%m-%d %H:%M:%S” export HISTTIMEFORMAT 重新开机后会还原可以写/etc/profile l  Linux操作系统知识: Linux开机启动流程详细步骤是什么密码如何破解  硬件加电自检---BIOS引导---boot loader加载---MBR---内核加载----启动级别-----init.d启动进程----加载rc.local------登录 企业中Linux数据库服务器做raid几你们公司的数据库服务器大小RAID 0 1 5 10区别系统分区标准是什么  应用服务器dell R720 E5-2610*2  300G*2 7200 raid 1H730 某一天突然发现Linux系统文件只读该怎么办呢完整操作步骤如果发现磁盘满了需要重新挂载一块新硬盘操作步骤  fsck.ext3 /dev/sdb1 分区----mkfs.ext4 格式化挂载到目录写入开机自动/etc/rc.local 如何安装50台Linux系统如何安装呢思考一下如何实现步骤是什么  使用kickstartpxedhcptftpnfs 通过网络批量安装 用虚拟机安装了一台Linux系统突然想克隆一台服务器克隆后发现无法上网如何解决 /etc/udev/rules.d/70-persistent-net.rules 原来机器的网卡注释掉修改第二块网卡为eth0重启系统 Linux网卡配置文件路径是什么要使服务器上外网必须满足的条件有哪些需要配置什么 /etc/sysconfig/network-scripts/ifcfg-eth0 ,配置网关与DNS 一般可以使用什么软件远程linux服务器通过什么上传文件和下载文件xshell sercurCRT  rz sz查找当前目录下30天以前.log结尾的大于1G的文件并把它移动到/tmp下。  find ./ -name *.log -type f -size 1024M|xargs mv /tmp 新增一块新硬盘如何实现需要哪些步骤   Apache两种工作方式的区别如何创建多个虚拟主机呢 worker 用一条命令查看本机IP并且只显示ip其他字符不显示。 [rootLVS-1 ~]# ifconfig|grep Bcast|awk {print $2}|sed s/addr://g 192.168.1.7 10.0.1.7 10.0.2.7 查看某个端口是否已经启动以及查看端口做占用的PID进程号。 lsof -i :80  ps -ef|grep http l  Linux命令及文件操作: 在/tmp/目录下创建test.txt文件内容为: HelloWorld! ,用一个命令写出来。echo HelloWorld! /text.txt给test.txt文件除所有者之外增加执行权限最终以数字写出文件的权限。chmod go1 test.txt  655用vi命令编辑test.txt如何跳转到末行首行行首、行末如何在光标行下一行插入如何复制5行删除10行查找jingfeng的字符、把jingfeng替换为jfedu.net如何修改Linux启动级别为字符模式并永久生效如何临时、永久关闭selinux及防火墙请分别写出操作方法。你们公司上线的流程是什么真实环境上线一个论坛需要哪些步骤你每天在公司做什么工作   l  Linux磁盘及软件管理操作: 有个金士顿U盘需要往服务器/var/www/html/目录下上传一个index.html文件如何操作并完成。光盘里面有一个httpd-2.2.15.xx.rpm包如何挂载并安装呢如果查看这个rpm安装后的路径使用rpm命令安装、卸载、删除、更新ntp-0.7.12.x86_64.rpm这个软包。/var/www/html/是网站的发布目录如何每天2点12点每隔2小时对其进行自动备份写出操作步骤   使用tar命令打包并压缩/root目录然后移动到/tmp下将其权限设置其他人只读。Yum命令与rpm命令的区别如何使用rpm安装一个有依赖的包7.       Mysql数据库服务器为192.168.1.1web网站ip为192.168.1.2现在需要1.2访问mysql数据库discuz数据库请写出授权命令。8.       Mysql查询中查询abc用户是否存在如何查询。Mysql备份和恢复如何实现你们公司的数据量多大备份的策略是什么Mysql主从原理是什么Bin-log是干什么用的 主上100G数据从库同步失败差距很大如何恢复   11.  你们公司都使用什么监控都分别来做什么你维护网站的时候出现过什么问题呢故障如何解决呢 l  Linux服务配置及管理: 请写出 apache2.X 版本的两种工作模式以及各自工作原理。如何查看apache 当前所支持的模块并且查看是工作在哪种模式下Linux下nfs在客户端无法挂载请写出排查步骤Linux下已经部署了dhcp服务器客户端无法获取的IP如何解决常见的FTP软件有哪些Linux最常用的是如何共享一个资源让他人使用用户名和密码访问如何禁止FTP使用匿名用户登录命令行如何访问ftp服务器Apache WEB服务器的发布目录在哪里Apache WEB服务器有几种工作模式每种模式的简单区别MySQL服务器的用途是Apache和mysql可以安装在一台机器吗如何查看apache和mysql端口和进程如何在虚拟机上面部署4个网站访问的域名分别为www.a1.com test.a1.com  www.a2.com test.a2.com?假设 Apache 产生的日志文件名为 access_log,在 apache 正在运行时,执行命令 mv  access_log access_log.bak,执行完后,请问新的 apache 的日志会打印到哪里,为什么?   我们都知道 FTP 协议有两种工作模式说说它们的大概的一个工作流程  Linux 内核引导时从哪个文件中读取要加载的文件系统。写出下面服务的常用端口ftp http dns snmp pop3、dhcp、nfs、mysql、samba等服务。Mysql创建数据库的命令创建表的命令插入语句的命令Mysql备份命令Mysql如何给root用户对jfedu授权访问密码为jfedu.net,请写出命令Mysql忘记密码该如何操作呢Linux运维工程师都需要具备哪些技能和职业品质 企业面试题1生产实战案例监控MySQL主从同步是否异常如果异常则发送短信或者邮件给管理员。提示如果没主从同步环境,可以用下面文本放到文件里读取来模拟 阶段1开发一个守护进程脚本每30秒实现检测一次。 阶段2如果同步出现如下错误号1158,1159,1008,1007,1062则跳过错误。 阶段3请使用数组技术实现上述脚本获取主从判断及错误号部分 #!/bin/bash mysql_cmd mysql -u root -proot errornum(1158 1159 1008 1007 1062) while true do    array($($mysql_cmd -e show slave status\G |egrep ‘_Running|Behind_Master|Last_SQL_Errno‘|awk ‘{print $NF}‘))    if [ ${array[0]} Yes -a ${array[1]} Yes -a ${array[2]} 0 ]    then      echo MySQL is slave is running    else        for ((i0;i${#errornum[*]};i))        do          if [ ${array[3]} ${errornum[$i]} ];then          $mysql_cmd -e stop slave set global sql_slave_skip_counter1;start slave;          fi        done        char MySQL slave is downed        echo $char        echo $char |mail -s $char xxxxxqq.com        break    fi    sleep 30 done 企业面试题2 使用for循环在/oldboy目录下通过随机小写10个字母加固定字符串oldboy批量创建10个html文件名称例如为 #!/bin/sh [ -d /home/oldboy ] || mkdir /home/oldboy cd /home/oldboy for (( i1; i11; i )) dotouch date %s%N | md5sum |sed -e s/[0-9]//g|head -c 10_oldboy.html done[rootoldboy oldboy]# sh /server/scripts/oldboy.sh [rootoldboy oldboy]# ls coaolvajcq_oldboy.html qnvuxvicni_oldboy.html vioesjmcbu_oldboy.html gmkhrancxh_oldboy.html tmdjormaxr_oldboy.html wzewnojiwe_oldboy.html jdxexendbe_oldboy.html ugaywanjlm_oldboy.html xzzruhdzda_oldboy.html qcawgsrtkp_oldboy.html vfrphtqjpc_oldboy.html 企业面试题3请用至少两种方法实现 将以上文件名中的oldboy全部改成oldgirl(用for循环实现),并且html改成大写。 #!/bin/sh Dir/home/oldboy cd $Dir for i in ls domv $i echo $i|sed s/oldboy.html/oldgirl.HTML/g #mv $i ${i%_oldboy.html}_oldgirl.HTML done企业面试题4 批量创建10个系统帐号oldboy01-oldboy10并设置密码密码为随机8位字符串。 #!/bin/sh for i in seq -w 10 douseradd oldboy$iecho date %s%N|md5sum|head -c 8|passwd --stdin oldboy$i /dev/null 21 done企业面试题5 写一个脚本实现判断10.0.0.0/24网络里当前在线用户的IP有哪些方法有很多 #!/bin/sh for i in seq 1 255 doping -c 1 10.0.0.$i /dev/null 21if [ $? -eq 0 ];thenecho 10.0.0.$i is upelseecho 10.0.0.$i is downfi done企业实战题6请用至少两种方法实现 写一个脚本解决DOS攻击生产案例 提示根据web日志或者或者网络连接数监控当某个IP并发连接数或者短时内PV达到100即调用防火墙命令封掉对应的IP监控频率每隔3分钟。防火墙命令为iptables -A INPUT -s 10.0.1.10 -j DROP。   企业实战题7 开发mysql多实例启动脚本 已知mysql多实例启动命令为mysqld_safe –defaults-file/data/3306/my.cnf 停止命令为mysqladmin -u root -poldboy123 -S /data/3306/mysql.sock shutdown 请完成mysql多实例启动启动脚本的编写 要求用函数case语句、if语句等实现。 企业实战题8如何实现对MySQL数据库进行分库备份请用脚本实现 企业实战题9如何实现对MySQL数据库进行分库加分表备份请用脚本实现 企业面试题10请用至少两种方法实现 bash for循环打印下面这句话中字母数不大于6的单词(昆仑万维面试题)。 I am oldboy teacher welcome to oldboy training class. #!/bin/sh for i in I am oldboy teacher welcome to oldboy training class. do#if [ echo $i|wc -L -le 6 ];thenif [ expr length $i -le 6 ];thenecho $ifi done企业面试题11开发shell脚本分别实现以脚本传参以及read读入的方式比较2个整数大小。以屏幕输出的方式提醒用户比较结果。注意一共是开发2个脚本。当用脚本传参以及read读入的方式需要对变量是否为数字、并且传参个数做判断。 企业面试题12 打印选择菜单一键安装Web服务 [rootoldboyscripts]# sh menu.sh 1.[install lamp] 2.[install lnmp] 3.[exit] pls input the num you want: 要求 1、当用户输入1时输出“startinstalling lamp.”然后执行/server/scripts/lamp.sh脚本内容输出”lamp is installed”后退出脚本 2、当用户输入2时输出“startinstalling lnmp.” 然后执行/server/scripts/lnmp.sh输出”lnmp is installed”后退出脚本; 3、当输入3时退出当前菜单及脚本 4、当输入任何其它字符给出提示“Input error”后退出脚本。 5、要对执行的脚本进行相关条件判断例如脚本是否存在是否可执行等。 #!/bin/sh cat EOF 1.[install lamp] 2.[install lnmp] 3.[exit] EOF read -p pls input the num you want: choice case $choice in 1)if [ -d /server/scripts/lamp.sh ] [ -x /server/scripts/lamp.sh ];thenecho starinstalling lamp/usr/bin/bash /server/scripts/lamp.shecho lamp is installed elseecho file not foundexit 0 fi ;; 2)if [ -d /server/scripts/lnmp.sh ] [ -x /server/scripts/lnmp.sh ];thenecho starinstalling lnmp/usr/bin/bash /server/scripts/lnmp.shecho lamp is installed elseecho file not foundexit 0fi ;; 3 ) exit 0企业面试题13 1、监控web服务是否正常不低于3种监控策略。 2、监控db服务是否正常不低于3种监控策略。 要求间隔1分钟持续监控。 企业面试题14监控memcache服务是否正常模拟用户web客户端检测。 使用nc命令加上set/get来模拟检测以及监控响应时间及命中率。 企业面试题15面试及实战考试题监控web站点目录/var/html/www下所有文件是否被恶意篡改文件内容被改了如果有就打印改动的文件名发邮件定时任务每3分钟执行一次(10分钟时间完成)。 企业面试题16 写一个网络服务独立进程模式下rsync的系统启动脚本 例如/etc/init.d/rsyncd {start|stop|restart} 。 要求 1.要使用系统函数库技巧。 2.要用函数不能一坨SHI的方式。 3.可被chkconfig管理。 企业面试题17 抓阄题目运维派提供外出企业项目实践机会第6次来了本月中旬但是名额有限队员限3人班长带队。 因此需要挑选学生因此需要一个抓阄的程序 要求 1、执行脚本后想去的同学输入英文名字全拼产生随机数01-99之间的数字数字越大就去参加项目实践前面已经抓到的数字下次不能在出现相同数字。 2、第一个输入名字后屏幕输出信息并将名字和数字记录到文件里程序不能退出继续等待别的学生输入。 企业面试题18 已知下面的字符串是通过RANDOM随机数变量md5sum|cut -c 1-8截取后的结果请破解这些字符串对应的md5sum前的RANDOM对应数字 21029299 00205d1c a3da1677 1f6d12dd 890684b 企业面试题19批量检查多个网站地址是否正常 要求shell数组方法实现检测策略尽量模拟用户访问思路 http://www.yunweipai.com http://www.taobao.com http://www.chengxuyuan.com http://10.0.0.7 free命令各行意义   total内存总数 used已经使用的内存数 free空闲的内存数 shared当前已经废弃不用 buffers缓存内存数 列举你所知道的mysql引擎类型分析各自特性 MyISAM默认的MySQL插件式存储引擎。 InnoDB用于事务处理应用程序具有众多特性包括ACID十五支持。 BDB可替代InnoDB的十五引擎支持COMMIT、ROLLBACK和其他事务特性。 ClusterMySQL的簇式数据库引擎尤其适合于具有高性能查找要求的应用程序这类查找需求还要求具有最高的正常工作时间和可用性。 InnoDB存储方式为两种1 使用共享表空间存储 2 使用多表空间 2.MyIASM与InnoDB的区别 1、MyIASM是非事务安全的而InnoDB是事务安全的 2、MyIASM锁的粒度是表级的而InnoDB支持行级锁 3、MyIASM支持全文类型索引而InnoDB不支持全文索引 4、MyIASM相对简单效率上要优于InnoDB小型应用可以考虑使用MyIASM 5、MyIASM表保存成文件形式跨平台使用更加方便 应用场景 1、MyIASM管理非事务表提供高速存储和检索以及全文搜索能力如果再应用中执行大量select操作应该选择MyIASM 2、InnoDB用于事务处理具有ACID事务支持等特性如果在应用中执行大量insert和update操作应该选择InnoDB 使用sql语句清空test_table表 truncate table test_table; 简述mysql主从配置的过程。 配置master 1.修改master配置文件 #开启二进制日志文件 #配置唯一server id #事务安全 2.创建复制权限的用户 配置slave #设置唯一id #启动relay log #事务安全 3.开始复制 #master上查看binlog Pos点 #在slave上执行同步操作 #在slave上启动slave 列举Mysql日志类型并作简单说明 1.错误日志  记录启动运行或停止mysqld时出现的问题 log-error 2.查询日志 记录建立的客户端连接和执行的所有语句包括错误的 log 3.二进制日志  记录所有更改数据的语句还用于主从复制 log-bin 4.慢日志   记录所有执行时间超过long_query_time秒的所有查询 log-slow-queries 如果mysql日志提示test_table表损坏如何修复 check table test_table; repair table test_table; 列举SSH的验证方式 口令认证和密钥认证 如何修改linux最大文件打开数 ulimit -n 10240 /etc/profile 使用traceroute进行路由查询的原理是 Traceroute 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。 常用来进行网络数据包抓取分析的工具有哪些 wireshark、fiddler、tcpdump DNS里面的A记录、MX记录、CNAME记录各指什么 A记录——》域名对应IP地址记录 MX记录——》邮件交换记录 CNAME记录——》别名记录 NS记录——》域名服务器记录 互联网ip地址A、B、C段地址范围分别是每段地址的保留地址段分别是? gA类:1.0.0.0~126.255.255.255,默认子网掩码/8,即255.0.0.0 (其中127.0.0.0~127.255.255.255为环回地址,用于本地环回测试等用途) B类:128.0.0.0~191.255.255.255,默认子网掩码/16,即255.255.0.0 C类:192.0.0.0~223.255.255.255,默认子网掩码/24,即255.255.255.0 IPv4中还有一种私有地址,即比如内部局域网所用的地址,分别为: 10.0.0.0~10.255.255.255 172.16.0.0~172.31.0.0 192.168.0.0~192.168.255.255 中了rootkit病毒如何查询、检测、取证预防说出大概过程 chkrootkit、rootkit hunter。 深度防卫的要素包括病毒扫描程序、定期更新软件、在主机和网络上安装防火墙以及强密码策略 客户端进行SMTP发信POP3收信时与服务器端的交互过程 a建立TCP连接 b客户端发送HELO命令以标识发件人自己的身份然后客户端发送MAIL命令          服务器端正希望以OK作为响应表明准备接收 c客户端发送RCPT命令以标识该电子邮件的计划接收人可以有多个RCPT行          服务器端则表示是否愿意为收件人接收邮件 d协商结束发送邮件用命令DATA发送 e以.表示结束输入内容一起发送出去 f结束此次发送用QUIT命令退出 性能测试一般有哪几种方法并加以简述 1、负载测试  2、压力测试  3、并发测试  4、基准测试  5、稳定性测试  6、可恢复测试   1、什么是运维什么是游戏运维1运维是指大型组织已经建立好的网络软硬件的维护就是要保证业务的上线与运作的正常在他运转的过程中对他进行维护他集合了网络、系统、数据库、开发、安全、监控于一身的技术运维又包括很多种有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等2游戏运维又有分工分为开发运维、应用运维业务运维和系统运维开发运维是给应用运维开发运维工具和运维平台的应用运维是给业务上线、维护和做故障排除的用开发运维开发出来的工具给业务上线、维护、做故障排查系统运维是给应用运维提供业务上的基础设施比如系统、网络、监控、硬件等等总结开发运维和系统运维给应用运维提供了“工具”和“基础设施”上的支撑开发运维、应用运维和系统运维他们的工作是环环相扣的2、在工作中运维人员经常需要跟运营人员打交道请问运营人员是做什么工作的游戏运营要做的一个事情除了协调工作以外还需要与各平台沟通做好开服的时间、开服数、用户导量、活动等计划3、现在给你三百台服务器你怎么对他们进行管理管理3百台服务器的方式1设定跳板机使用统一账号登录便于安全与登录的考量。2使用salt、ansiable、puppet进行系统的统一调度与配置的统一管理。3建立简单的服务器的系统、配置、应用的cmdb信息管理。便于查阅每台服务器上的各种信息记录。4、简述raid0 raid1 raid5 三种工作模式的工作原理及特点RAID可以把硬盘整合成一个大磁盘还可以在大磁盘上再分区放数据还有一个大功能多块盘放在一起可以有冗余备份RAID整合方式有很多常用的0 1 5 10RAID 0可以是一块盘和N个盘组合其优点读写快是RAID中最好的缺点没有冗余一块坏了数据就全没有了RAID 1只能2块盘盘的大小可以不一样以小的为准10G10G只有10G另一个做备份。它有100%的冗余缺点浪费资源成本高RAID 5 3块盘容量计算10*n-1,损失一块盘特点读写性能一般读还好一点写不好冗余从好到坏RAID1 RAID10 RAID 5 RAID0性能从好到坏RAID0 RAID10 RAID5 RAID1成本从低到高RAID0 RAID5 RAID1 RAID10单台服务器很重要盘不多系统盘RAID1数据库服务器主库RAID10 从库 RAID5\RAID0为了维护成本RAID10WEB服务器如果没有太多的数据的话RAID5,RAID0单盘有多台监控、应用服务器RAID0 RAID5我们会根据数据的存储和访问的需求去匹配对应的RAID级别5、LVS、Nginx、HAproxy有什么区别工作中你怎么选择LVS 是基于四层的转发HAproxy 是基于四层和七层的转发是专业的代理服务器Nginx 是WEB服务器缓存服务器又是反向代理服务器可以做七层的转发区别 LVS由于是基于四层的转发所以只能做端口的转发而基于URL的、基于目录的这种转发LVS就做不了工作选择HAproxy和Nginx由于可以做七层的转发所以URL和目录的转发都可以做在很大并发量的时候我们就要选择LVS像中小型公司的话并发量没那么大选择HAproxy或者Nginx足已由于HAproxy由是专业的代理服务器配置简单所以中小型企业推荐使用HAproxy6、Squid、Varinsh和Nginx有什么区别工作中你怎么选择Squid、Varinsh和Nginx都是代理服务器什么是代理服务器能当替用户去访问公网并且能把访问到的数据缓存到服务器本地等用户下次再访问相同的资源的时候代理服务器直接从本地回应给用户当本地没有的时候我代替你去访问公网我接收你的请求我先在我自已的本地缓存找如果我本地缓存有我直接从我本地的缓存里回复你如果我在我本地没有找到你要访问的缓存的数据那么代理服务器就会代替你去访问公网区别1Nginx本来是反向代理/web服务器用了插件可以做做这个副业      但是本身不支持特性挺多只能缓存静态文件2从这些功能上。varnish和squid是专业的cache服务而nginx这些是第三方模块完成3varnish本身的技术上优势要高于squid它采用了可视化页面缓存技术在内存的利用上Varnish比Squid具有优势性能要比Squid高。还有强大的通过Varnish管理端口可以使用正则表达式快速、批量地清除部分缓存它是内存缓存速度一流但是内存缓存也限制了其容量缓存页面和图片一般是挺好的4squid的优势在于完整的庞大的cache技术资料和很多的应用生产环境工作中选择要做cache服务的话我们肯定是要选择专业的cache服务优先选择squid或者varnish。7、Tomcat和Resin有什么区别工作中你怎么选择区别Tomcat用户数多可参考文档多Resin用户数少可考虑文档少最主要区别则是Tomcat是标准的java容器不过性能方面比resin的要差一些但稳定性和java程序的兼容性应该是比resin的要好工作中选择现在大公司都是用resin追求性能而中小型公司都是用Tomcat追求稳定和程序的兼容8、什么是中间件什么是jdk中间件介绍中间件是一种独立的系统软件或服务程序分布式应用软件借助这种软件在不同的技术之间共享资源中间件位于客户机/ 服务器的操作系统之上管理计算机资源和网络通讯是连接两个独立应用程序或独立系统的软件。相连接的系统即使它们具有不同的接口但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递通过中间件应用程序可以工作于多平台或OS环境。jdkjdk是Java的开发工具包它是一种用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境9、讲述一下Tomcat8005、8009、8080三个端口的含义8005》 关闭时使用8009》 为AJP端口即容器使用如Apache能通过AJP协议访问Tomcat的8009端口8080》 一般应用使用10、什么叫CDN- 即内容分发网络- 其目的是通过在现有的Internet中增加一层新的网络架构将网站的内容发布到最接近用户的网络边缘使用户可就近取得所需的内容提高用户访问网站的速度11、什么叫网站灰度发布灰度发布是指在黑与白之间能够平滑过渡的一种发布方式AB test就是一种灰度发布方式让一部用户继续用A一部分用户开始用B如果用户对B没有什么反对意见那么逐步扩大范围把所有用户都迁移到B上面 来灰度发布可以保证整体系统的稳定在初始灰度的时候就可以发现、调整问题以保证其影响度12、简述DNS进行域名解析的过程用户要访问www.baidu.com会先找本机的host文件再找本地设置的DNS服务器如果也没有的话就去网络中找根服务器根服务器反馈结果说只能提供一级域名服务器.cn就去找一级域名服务器一级域名服务器说只能提供二级域名服务器.com.cn,就去找二级域名服务器二级域服务器只能提供三级域名服务器.baidu.com.cn就去找三级域名服务器三级域名服务器正好有这个网站www.baidu.com然后发给请求的服务器保存一份之后再发给客户端13、RabbitMQ是什么东西RabbitMQ也就是消息队列中间件消息中间件是在消息的传息过程中保存消息的容器消息中间件再将消息从它的源中到它的目标中标时充当中间人的作用队列的主要目的是提供路由并保证消息的传递如果发送消息时接收者不可用消息队列不会保留消息直到可以成功地传递为止当然消息队列保存消息也是有期限地14、讲一下Keepalived的工作原理在一个虚拟路由器中只有作为MASTER的VRRP路由器会一直发送VRRP通告信息,BACKUP不会抢占MASTER除非它的优先级更高。当MASTER不可用时(BACKUP收不到通告信息)多台BACKUP中优先级最高的这台会被抢占为MASTER。这种抢占是非常快速的(1s)以保证服务的连续性由于安全性考虑VRRP包使用了加密协议进行加密。BACKUP不会发送通告信息只会接收通告信息15、讲述一下LVS三种模式的工作过程LVS 有三种负载均衡的模式分别是VS/NATnat 模式 VS/DR(路由模式) VS/TUN隧道模式一、NAT模式VS-NAT原理就是把客户端发来的数据包的IP头的目的地址在负载均衡器上换成其中一台RS的IP地址并发至此RS来处理,RS处理完后把数据交给负载均衡器,负载均衡器再把数据包原IP地址改为自己的IP将目的地址改为客户端IP地址即可期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器优点集群中的物理服务器可以使用任何支持TCP/IP操作系统只有负载均衡器需要一个合法的IP地址缺点扩展性有限。当服务器节点普通PC服务器增长过多时,负载均衡器将成为整个系统的瓶颈因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时大量的数据包都交汇在负载均衡器那速度就会变慢二、IP隧道模式VS-TUN原理首先要知道互联网上的大多Internet服务的请求包很短小而应答包通常很大那么隧道模式就是把客户端发来的数据包封装一个新的IP头标记(仅目的IP)发给RSRS收到后,先把数据包的头解开,还原数据包,处理后,直接返回给客户端,不需要再经过负载均衡器。注意,由于RS需要对负载均衡器发过来的数据包进行还原,所以说必须支持IPTUNNEL协议所以,在RS的内核中,必须编译支持IPTUNNEL这个选项优点负载均衡器只负责将请求包分发给后端节点服务器而RS将应答包直接发给用户所以减少了负载均衡器的大量数据流动负载均衡器不再是系统的瓶颈就能处理很巨大的请求量这种方式一台负载均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。缺点隧道模式的RS节点需要合法IP这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation)协议服务器可能只局限在部分Linux系统上三、直接路由模式VS-DR原理负载均衡器和RS都使用同一个IP对外服务但只有DR对ARP请求进行响应所有RS对本身这个IP的ARP请求保持静默也就是说,网关会把对这个服务IP的请求全部定向给DR而DR收到数据包后根据调度算法,找出对应的RS,把目的MAC地址改为RS的MAC因为IP一致并将请求分发给这台RS这时RS收到这个数据包,处理完成之后由于IP一致可以直接将数据返给客户则等于直接从客户端收到这个数据包无异,处理后直接返回给客户端由于负载均衡器要对二层包头进行改换,所以负载均衡器和RS之间必须在一个广播域也可以简单的理解为在同一台交换机上优点和TUN隧道模式一样负载均衡器也只是分发请求应答包通过单独的路由方法返回给客户端与VS-TUN相比VS-DR这种实现方式不需要隧道结构因此可以使用大多数操作系统做为物理服务器。缺点不能说缺点只能说是不足要求负载均衡器的网卡必须与物理网卡在一个物理段上。16、mysql的innodb如何定位锁问题mysql如何减少主从复制延迟mysql的innodb如何定位锁问题:在使用 show engine innodb status检查引擎状态时发现了死锁问题在5.5中information_schema 库中增加了三个关于锁的表MEMORY引擎innodb_trx         ## 当前运行的所有事务innodb_locks     ## 当前出现的锁innodb_lock_waits  ## 锁等待的对应关系mysql如何减少主从复制延迟:如果延迟比较大就先确认以下几个因素1. 从库硬件比主库差导致复制延迟2. 主从复制单线程如果主库写并发太大来不及传送到从库就会导致延迟。更高版本的mysql可以支持多线程复制3. 慢SQL语句过多4. 网络延迟5. master负载主库读写压力大导致复制延迟架构的前端要加buffer及缓存层6. slave负载一般的做法是使用多台slave来分摊读请求再从这些slave中取一台专用的服务器只作为备份用不进行其他任何操作.另外 2个可以减少延迟的参数:–slave-net-timeoutseconds 单位为秒 默认设置为 3600秒#参数含义当slave从主数据库读取log数据失败后等待多久重新建立连接并获取数据–master-connect-retryseconds 单位为秒 默认设置为 60秒#参数含义当重新建立主从连接时如果连接建立失败间隔多久后重试通常配置以上2个参数可以减少网络问题导致的主从数据同步延迟MySQL数据库主从同步延迟解决方案最简单的减少slave同步延时的方案就是在架构上做优化尽量让主库的DDL快速执行还有就是主库是写对数据安全性较高比如sync_binlog1innodb_flush_log_at_trx_commit 1 之类的设置而slave则不需要这么高的数据安全完全可以讲sync_binlog设置为0或者关闭binloginnodb_flushlog也可以设置为0来提高sql的执行效率。另外就是使用比主库更好的硬件设备作为slave17、如何重置mysql root密码一、 在已知MYSQL数据库的ROOT用户密码的情况下修改密码的方法1、 在SHELL环境下使用mysqladmin命令设置       mysqladmin –u root –p password “新密码”   回车后要求输入旧密码2、 在mysql环境中,使用update命令直接更新mysql库user表的数据       Update  mysql.user  set  passwordpassword(‘新密码’)  where  user’root’;       flush   privileges;       注意mysql语句要以分号””结束3、 在mysql环境中使用grant命令修改root用户的授权权限。       grant  all  on  *.*  to   root’localhost’  identified  by  ‘新密码’二、 如查忘记了mysql数据库的ROOT用户的密码又如何做呢方法如下1、 关闭当前运行的mysqld服务程序service  mysqld  stop要先将mysqld添加为系统服务2、 使用mysqld_safe脚本以安全模式不加载授权表启动mysqld 服务       /usr/local/mysql/bin/mysqld_safe  --skip-grant-table  3、 使用空密码的root用户登录数据库重新设置ROOT用户的密码      mysql  -u   root       Mysql Update  mysql.user  set  passwordpassword(‘新密码’)  where  user’root’;       Mysql flush   privileges;18、lvs/nginx/haproxy优缺点Nginx的优点是 1、工作在网络的7层之上可以针对http应用做一些分流的策略比如针对域名、目录结构它的正则规则比HAProxy更为强大和灵活这也是它目前广泛流行的主要原因之一Nginx单凭这点可利用的场合就远多于LVS了。2、Nginx对网络稳定性的依赖非常小理论上能ping通就就能进行负载功能这个也是它的优势之一相反LVS对网络稳定性依赖比较大这点本人深有体会3、Nginx安装和配置比较简单测试起来比较方便它基本能把错误用日志打印出来LVS的配置、测试就要花比较长的时间了LVS对网络依赖比较大。4、可以承担高负载压力且稳定在硬件不差的情况下一般能支撑几万次的并发量负载度比LVS相对小些。5、Nginx可以通过端口检测到服务器内部的故障比如根据服务器处理网页返回的状态码、超时等等并且会把返回错误的请求重新提交到另一个节点不过其中缺点就是不支持url来检测。比如用户正在上传一个文件而处理该上传的节点刚好在上传过程中出现故障Nginx会把上传切到另一台服务器重新处理而LVS就直接断掉了如果是上传一个很大的文件或者很重要的文件的话用户可能会因此而不满。6、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件它同时也是功能强大的Web应用服务器LNMP也是近几年非常流行的web架构在高流量的环境中稳定性也很好。7、Nginx现在作为Web反向加速缓存越来越成熟了速度比传统的Squid服务器更快可考虑用其作为反向代理加速器8、Nginx可作为中层反向代理使用这一层面Nginx基本上无对手唯一可以对比Nginx的就只有lighttpd了不过lighttpd目前还没有做到Nginx完全的功能配置也不那么清晰易读社区资料也远远没Nginx活跃9、Nginx也可作为静态网页和图片服务器这方面的性能也无对手。还有Nginx社区非常活跃第三方模块也很多Nginx的缺点是1、Nginx仅能支持http、https和Email协议这样就在适用范围上面小些这个是它的缺点2、对后端服务器的健康检查只支持通过端口来检测不支持通过url来检测      不支持Session的直接保持但能通过ip_hash来解决LVS使用Linux内核集群实现一个高性能、高可用的负载均衡服务器           它具有很好的可伸缩性Scalability)、可靠性Reliability)和可管理性Manageability)LVS的优点是1、抗负载能力强、是工作在网络4层之上仅作分发之用没有流量的产生      这个特点也决定了它在负载均衡软件里的性能最强的对内存和cpu资源消耗比较低2、配置性比较低这是一个缺点也是一个优点因为没有可太多配置的东西      所以并不需要太多接触大大减少了人为出错的几率3、工作稳定因为其本身抗负载能力很强自身有完整的双机热备方案      如LVSKeepalived不过我们在项目实施中用得最多的还是LVS/DRKeepalived4、无流量LVS只分发请求而流量并不从它本身出去这点保证了均衡器IO的性能不会收到大流量的影响。5、应用范围较广因为LVS工作在4层所以它几乎可对所有应用做负载均衡包括http、数据库、在线聊天室等LVS的缺点是1、软件本身不支持正则表达式处理不能做动静分离      而现在许多网站在这方面都有较强的需求这个是Nginx/HAProxyKeepalived的优势所在2、如果是网站应用比较庞大的话LVS/DRKeepalived实施起来就比较复杂了      特别后面有Windows Server的机器的话如果实施及配置还有维护过程就比较复杂了      相对而言Nginx/HAProxyKeepalived就简单多了。HAProxy的特点是1、HAProxy也是支持虚拟主机的。2、HAProxy的优点能够补充Nginx的一些缺点比如支持Session的保持Cookie的引导      同时支持通过获取指定的url来检测后端服务器的状态3、HAProxy跟LVS类似本身就只是一款负载均衡软件      单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度在并发处理上也是优于Nginx的4、HAProxy支持TCP协议的负载均衡转发可以对MySQL读进行负载均衡      对后端的MySQL节点进行检测和负载均衡大家可以用LVSKeepalived对MySQL主从做负载均衡5、HAProxy负载均衡策略非常多HAProxy的负载均衡算法现在具体有如下8种①roundrobin表示简单的轮询这个不多说这个是负载均衡基本都具备的② static-rr表示根据权重建议关注③leastconn表示最少连接者先处理建议关注④ source表示根据请求源IP这个跟Nginx的IP_hash机制类似     我们用其作为解决session问题的一种方法建议关注⑤ri表示根据请求的URI⑥rl_param表示根据请求的URl参数’balance url_param’ requires an URL parameter name⑦hdr(name)表示根据HTTP请求头来锁定每一次HTTP请求⑧rdp-cookie(name)表示根据据cookie(name)来锁定并哈希每一次TCP请求。19、mysql数据备份工具mysqldump工具mysqldump是mysql自带的备份工具目录在bin目录下面/usr/local/mysql/bin/mysqldump支持基于innodb的热备份但是由于是逻辑备份所以速度不是很快适合备份数据比较小的场景Mysqldump完全备份二进制日志可以实现基于时间点的恢复。基于LVM快照备份在物理备份中有基于文件系统的物理备份LVM的快照也可以直接用tar之类的命令对整个数据库目录进行打包备份但是这些只能进行泠备份不同的存储引擎备份的也不一样myisam自动备份到表级别而innodb不开启独立表空间的话只能备份整个数据库。tar包备份percona提供的xtrabackup工具支持innodb的物理热备份支持完全备份增量备份而且速度非常快支持innodb存储引起的数据在不同数据库之间迁移支持复制模式下的从机备份恢复备份恢复为了让xtrabackup支持更多的功能扩展可以设立独立表空间打开 innodb_file_per_table功能启用之后可以支持单独的表备份20、keepalive的工作原理和如何做到健康检查keepalived是以VRRP协议为实现基础的VRRP全称Virtual Router Redundancy Protocol即虚拟路由冗余协议。虚拟路由冗余协议可以认为是实现路由器高可用的协议即将N台提供相同功能的路由器组成一个路由器组这个组里面有一个master和多个backupmaster上面有一个对外提供服务的vip该路由器所在局域网内其他机器的默认路由为该vipmaster会发组播当backup收不到vrrp包时就认为master宕掉了这时就需要根据VRRP的优先级来选举一个backup当master。这样就可以保证路由器的高可用了keepalived主要有三个模块分别是core、check和vrrp。core模块为keepalived的核心负责主进程的启动、维护及全局配置文件的加载和解析。check负责健康检查包括常见的各种检查方式vrrp模块是来实现VRRP协议的Keepalived健康检查方式配置HTTP_GET|SSL_GETHTTP_GET | SSL_GET{url {path /# HTTP/SSL 检查的url可以是多个digest STRING # HTTP/SSL 检查后的摘要信息用工具genhash生成status_code 200# HTTP/SSL 检查返回的状态码}connect_port 80 # 连接端口bindtoIPADDconnect_timeout 3 # 连接超时时间nb_get_retry 3 # 重连次数delay_before_retry 2 #连接间隔时间}21、统计ip访问情况要求分析nginx访问日志找出访问页面数量在前十位的ipcat access.log | awk {print $1} | uniq -c | sort -rn | head -1022、使用tcpdump监听主机为192.168.1.1tcp端口为80的数据同时将输出结果保存输出到tcpdump.logtcpdump host 192.168.1.1 and port 80 tcpdump.log23、如何将本地80 端口的请求转发到8080 端口当前主机IP 为192.168.2.1iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp -dport 80 -j DNAT-to-destination 192.168.2.1:808024、简述raid0 raid1 raid5 三种工作模式的工作原理及特点RAID 0带区卷连续以位或字节为单位分割数据并行读/写于多个磁盘上因此具有很高的数据传输率但它没有数据冗余RAID 0 只是单纯地提高性能并没有为数据的可靠性提供保证而且其中的一个磁盘失效将影响到所有数据。因此RAID 0 不能应用于数据安全性要求高的场合RAID 1镜像卷它是通过磁盘数据镜像实现数据冗余在成对的独立磁盘上产生互为备份的数据不能提升写数据效率。当原始数据繁忙时可直接从镜像拷贝中读取数据因此RAID1 可以提高读取性能RAID 1 是磁盘阵列中单位成本最高的镜像卷可用容量为总容量的1/2但提供了很高的数据安全性和可用性当一个磁盘失效时系统可以自动切换到镜像磁盘上读写而不需要重组失效的数据RAID5至少由3块硬盘组成分布式奇偶校验的独立磁盘结构它的奇偶校验码存在于所有磁盘上任何一个硬盘损坏都可以根据其它硬盘上的校验位来重建损坏的数据最多允许1块硬盘损坏所以raid5可以实现数据冗余确保数据的安全性同时raid5也可以提升数据的读写性能25、你对现在运维工程师的理解和以及对其工作的认识运维工程师在公司当中责任重大需要保证时刻为公司及客户提供最高、最快、最稳定、最安全的服务运维工程师的一个小小的失误很有可能会对公司及客户造成重大损失因此运维工程师的工作需要严谨及富有创新精神26、实时抓取并显示当前系统中tcp 80端口的网络数据信息请写出完整操作命令tcpdump -nn tcp port 8027、服务器开不了机怎么解决一步步的排查A、造成服务器故障的原因可能有以下几点 B、如何排查服务器故障的处理步骤如下 28、Linux系统中病毒怎么解决1最简单有效的方法就是重装系统2要查的话就是找到病毒文件然后删除      中毒之后一般机器cpu、内存使用率会比较高      机器向外发包等异常情况排查方法简单介绍下top 命令找到cpu使用率最高的进程一般病毒文件命名都比较乱可以用 ps aux 找到病毒文件位置rm -f  命令删除病毒文件检查计划任务、开机启动项和病毒文件目录有无其他可以文件等3由于即使删除病毒文件不排除有潜伏病毒所以最好是把机器备份数据之后重装一下29、发现一个病毒文件你删了他又自动创建怎么解决公司的内网某台linux服务器流量莫名其妙的剧增,用iftop查看有连接外网的情况针对这种情况一般重点查看netstat连接的外网ip和端口。用lsof -p pid可以查看到具体是那些进程哪些文件经查勘发现/root下有相关的配置conf.n hhe两个可疑文件rm -rf后不到一分钟就自动生成了由此推断是某个母进程产生的这些文件。所以找到母进程就是找到罪魁祸首查杀病毒最好断掉外网访问还好是内网服务器可以通过内网访问断了内网病毒就失去外联的能力杀掉它就容易的多怎么找到呢找了半天也没有看到蛛丝马迹没办法只有ps axu一个个排查方法是查看可以的用户和和系统相似而又不是的冒牌货果然看到了如下进程可疑看不到图片就是/usr/bin/.sshd于是我杀掉所有.sshd相关的进程然后直接删掉.sshd这个可执行文件然后才删掉了文章开头提到的自动复活的文件总结一下遇到这种问题如果不是太严重尽量不要重装系统一般就是先断外网然后利用iftop,ps,netstat,chattr,lsof,pstree这些工具顺藤摸瓜一般都能找到元凶。但是如果遇到诸如此类的问题/boot/efi/EFI/redhat/grub.efi: Heuristics.Broken.Executable FOUND个人觉得就要重装系统了30、说说TCP/IP的七层模型应用层 (Application)网络服务与最终用户的一个接口。协议有HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP表示层Presentation Layer数据的表示、安全、压缩。在五层模型里面已经合并到了应用层格式有JPEG、ASCll、DECOIC、加密格式等会话层Session Layer建立、管理、终止会话。在五层模型里面已经合并到了应用层对应主机进程指本地主机与远程主机正在进行的会话传输层 (Transport)定义传输数据的协议端口号以及流控和差错校验。协议有TCP UDP数据包一旦离开网卡即进入网络传输层网络层 (Network)进行逻辑地址寻址实现不同网络之间的路径选择。协议有ICMP IGMP IPIPV4 IPV6 ARP RARP数据链路层 (Link)建立逻辑连接、进行硬件地址寻址、差错校验等功能。由底层网络定义协议将比特组合成字节进而组合成帧用MAC地址访问介质错误发现但不能纠正物理层Physical Layer是计算机网络OSI模型中最低的一层物理层规定:为传输数据所需要的物理链路创建、维持、拆除而提供具有机械的电子的功能的和规范的特性简单的说物理层确保原始的数据可在各种物理媒体上传输。局域网与广域网皆属第1、2层物理层是OSI的第一层它虽然处于最底层却是整个开放系统的基础物理层为设备之间的数据通信提供传输媒体及互连设备为数据传输提供可靠的环境如果您想要用尽量少的词来记住这个第一层那就是“信号和介质”31、你常用的Nginx模块用来做什么rewrite模块实现重写功能access模块来源控制ssl模块安全加密ngx_http_gzip_module网络传输压缩模块ngx_http_proxy_module 模块实现代理ngx_http_upstream_module模块实现定义后端服务器列表ngx_cache_purge实现缓存清除功能32、请列出你了解的web服务器负载架构NginxHaproxyKeepalivedLVS 33、查看http的并发请求数与其TCP连接状态 netstat -n | awk /^tcp/ {S[$NF]} END {for(a in S) print a, S[a]} 还有ulimit -n 查看linux系统打开最大的文件描述符这里默认1024 不修改这里web服务器修改再大也没用若要用就修改很几个办法这里说其中一个 修改/etc/security/limits.conf * soft nofile 10240 * hard nofile 10240 重启后生效 34、用tcpdump嗅探80端口的访问看看谁最高tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F. {print $1.$2.$3.$4}| sort | uniq -c | sort -nr |head -2035、写一个脚本实现判断192.168.1.0/24网络里当前在线的IP有哪些能ping通则认为在线 #!/bin/bash for ip in seq 1 255 do { ping -c 1 192.168.1.$ip /dev/null 21 if [ $? -eq 0 ]; then echo 192.168.1.$ip UP else echo 192.168.1.$ip DOWN fi } done wait 36、已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下由于磁盘空间紧张现在要求只能保留最近 7 天的访问日志请问如何解决 请给出解决办法或配置或处理命令创建文件脚本 #!/bin/bashfor n in seq 14 do date -s 11/0$n/14 touch access_www_(date %F).log done解决方法# pwd/application/logs# ll-rw-r--r--. 1 root root 0 Jan  1 00:00 access_www_2015-01-01.log-rw-r--r--. 1 root root 0 Jan  2 00:00 access_www_2015-01-02.log-rw-r--r--. 1 root root 0 Jan  3 00:00 access_www_2015-01-03.log-rw-r--r--. 1 root root 0 Jan  4 00:00 access_www_2015-01-04.log-rw-r--r--. 1 root root 0 Jan  5 00:00 access_www_2015-01-05.log-rw-r--r--. 1 root root 0 Jan  6 00:00 access_www_2015-01-06.log-rw-r--r--. 1 root root 0 Jan  7 00:00 access_www_2015-01-07.log-rw-r--r--. 1 root root 0 Jan  8 00:00 access_www_2015-01-08.log-rw-r--r--. 1 root root 0 Jan  9 00:00 access_www_2015-01-09.log-rw-r--r--. 1 root root 0 Jan 10 00:00 access_www_2015-01-10.log-rw-r--r--. 1 root root 0 Jan 11 00:00 access_www_2015-01-11.log-rw-r--r--. 1 root root 0 Jan 12 00:00 access_www_2015-01-12.log-rw-r--r--. 1 root root 0 Jan 13 00:00 access_www_2015-01-13.log-rw-r--r--. 1 root root 0 Jan 14 00:00 access_www_2015-01-14.log# find /application/logs/ -type f -mtime 7 -name *.log|xargs rm –f ##也可以使用-exec rm -f {} \;进行删除# ll-rw-r--r--. 1 root root 0 Jan  7 00:00 access_www_2015-01-07.log-rw-r--r--. 1 root root 0 Jan  8 00:00 access_www_2015-01-08.log-rw-r--r--. 1 root root 0 Jan  9 00:00 access_www_2015-01-09.log-rw-r--r--. 1 root root 0 Jan 10 00:00 access_www_2015-01-10.log-rw-r--r--. 1 root root 0 Jan 11 00:00 access_www_2015-01-11.log-rw-r--r--. 1 root root 0 Jan 12 00:00 access_www_2015-01-12.log-rw-r--r--. 1 root root 0 Jan 13 00:00 access_www_2015-01-13.log-rw-r--r--. 1 root root 0 Jan 14 00:00 access_www_2015-01-14.log37、如何优化 Linux系统可以不说太具体    不用root添加普通用户通过sudo授权管理    更改默认的远程连接SSH服务端口及禁止root用户远程连接    定时自动更新服务器时间    配置国内yum源    关闭selinux及iptablesiptables工作场景如果有外网IP一定要打开高并发除外    调整文件描述符的数量    精简开机启动服务crond rsyslog network sshd    内核参数优化/etc/sysctl.conf    更改字符集支持中文但建议还是用英文字符集防止乱码    锁定关键系统文件    清空/etc/issue去除系统及内核版本登录前的屏幕显示38、请执行命令取出 linux 中 eth0 的 IP 地址(请用 cut有能力者也可分别用 awk,sed 命令答) cut方法1# ifconfig eth0|sed -n 2p|cut -d : -f2|cut -d -f1 192.168.20.130awk方法2# ifconfig eth0|awk NR2|awk -F : {print $2}|awk {print $1}192.168.20.130awk多分隔符方法3# ifconfig eth0|awk NR2|awk -F [: ] {print $4}192.168.20.130sed方法4# ifconfig eth0|sed -n /inet addr/p|sed -r s#^.*ddr:(.*)Bc.*$#\1#g192.168.20.130 39、请写出下面 linux SecureCRT 命令行快捷键命令的功能Ctrl aCtrl cCtrl dCtrl eCtrl lCtrl uCtrl ktabCtrlshiftcCtrlshiftv解答Ctrl a —-光标移动到行首Ctrl e —-光标移动到行尾Ctrl c —-终止当前程序Ctrl d —-如果光标前有字符则删除没有则退出当前中断Ctrl l —-清屏Ctrl u —-剪切光标以前的字符Ctrl k —-剪切光标以后的字符Ctrl y —-复制u/k的内容Ctrl r —-查找最近用过的命令tab —-命令或路径补全Ctrlshiftc —-复制Ctrlshiftv —-粘贴40、每天晚上 12 点打包站点目录/var/www/html 备份到/data 目录下最好每次备份按时间生成不同的备份包 # cat a.sh #/bin/bash cd /var/www/ /bin/tar zcf /data/html-date %m-%d%H.tar.gz html/ # crontab –e 00 00 * * * /bin/sh /root/a.sh一、Linux操作系统知识    1.常见的Linux发行版本都有什么你最擅长哪一个它的官网网站是什么说明你擅长哪一块    答    常见的Linux发现版本有Redhat、Centos、Debian、Ubuntu、Suse    最擅长Redhat和Centos    Redhat官网www.redhat.com    Centos官网www.centos.org    我最擅长Linux基本命令操作及相关服务搭建    2.Linux开机启动流程详细步骤是什么系统安装完忘记密码如何破解    答    开机步骤    a、首先是bios加电自检、初始化这个过程会检测相关硬件(cpu、内存、显卡、硬盘等)         然后读取一个启动顺序以硬盘为例会读取硬盘中的MBR。    b、加载内核读取/boot里边的配置文件。    c、启动初始化进程开始运行/sbin/init    d、读取/etc/inittab确定运行级别    e、根据/etc/rc.d/rcN.d加载开机启动程序rcN.d都是链接文件都指向/etc/rc.d/init.d再运行/etc/rc.d/rc.local    f、用户登录(3种方式ssh、命令行、图形化)    g、进入loginshell,以命令行为例首先读取/etc/profile这个全局配置文件         然后再针对当前用户读取家目录中的 ~/.bash_profile和~/.bash_login和~/.profile    h、最后一步就是打开non-loginshell         进入图形化后手动新建一个终端但这个shell不读取/etc/profile    忘记密码    a、重启系统在GRUB界面选取忘记密码的系统按e键进入编辑模式    b、选项Kernel.....按e键进行编辑    c、在编辑界面rhgbquiet后加空格然后输入single或1回车    d、按b启动进入单用户模式    f、进入系统后passwd回车输入新密码(如果有selinux先暂时关闭setenforce0)    3.企业中Linux服务器系统分区标准是什么硬盘为300G内存16G    答    /boot200M    /swap16G    /70G    /data剩下的全部空间    4.某一天突然发现Linux系统文件只读该怎么办呢完整操作步骤。    答    首先把系统关机然后以光盘启动进入救援模式(linuxrescue)    执行fsck.ext3-y/dev/sda2假如只读的分区类型为ext3分区为/dev/sda2    5.安装一台系统使用DVD光盘安装如何安装50台Linux系统如何安装呢思考一下。    答    a、可以多用几张DVD一台一台的安装。    b、可以用Kickstart批量安装(客户端从网络启动)    6.用虚拟机安装了一台Linux系统突然想克隆一台服务器克隆后发现无法上网如何解决    答    a、编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,将HWADDR和MAC地址这两行删除。    b、修改文件/etc/udev/rules.d/70-persistent-net.rules,删除之前eth0所在的行将下一行eth1修改为eth0    c、reboot    7.Linux网卡配置文件路径是什么要使服务器上外网必须满足的条件有哪些需要配置什么    答    网卡配置文件路径/etc/sysconfig/network-scripts/ifcfg-eth*(*代表数字)    要上外网需要能够链接internet的网线(或无线)、有网卡    需要配置IP、netmask、gateway、dns(自动或手动都ok服务器一般自动)    8.一般可以使用什么软件远程linux服务器通过什么上传文件和下载文件    答    远程连接linux的软件xshell、SecureCRT、putty、vnc(图形化)    上传和下载文件lrzsz、sftp    9./mnt目录主要用于什么/root目录跟root用户有什么关系/根目录与/boot目录有什么联系    答    /mnt一般用于挂载外接设备    /root是一个目录是root用户的家目录    /boot目录是/目录下的一个子目录    10.某一天误操作执行了rm-rf*会有哪些情况发生请举例。    答    a、如果当前目录为/tmp那么这个目录下的东西会全部删除(默认不包含隐藏文件)    b、如果当前目录为/那么系统上的数据将会丢失且无法启动系统崩溃(谨慎使用这个命令)二、Linux命令及文件操作    1.在/tmp/目录下创建test.txt文件内容为:HelloWorld!,用一个命令写出来。    答    echo Hello,World! /tmp/test.txt    2.给test.txt文件除所有者之外增加执行权限最终以数字写出文件的权限。    答:    655    默认是644可以通过chmod 655 /tmp/test.txt    3.用vi命令编辑test.txt如何跳转到末行首行行首、行末如何在光标行下一行插入       如何复制5行删除10行查找jingfeng的字符、把jingfeng替换为jfedu.net    答    末行G    首行gg    行首^Shift6    行尾$(Shift4)    光标下插入一行:o    复制5行5yy    删除10行10dd    替换:%s/jingfeng/jfedu.net/g    4.查找linux系统下以txt结尾30天没有修改的文件大小大于20K同时具有执行权限的文件并备份到/data/backup/目录下。    答    find / -name *txt -mtime 30 -type f -size 20k -perma x -exec cp {} /data/backup/\;    5.当前test.txt所属的用户为root组为abc请将test.txt使拥有者为abc组为root写出命令。    答    chown abc:root test.txt    6.如何修改Linux启动级别为字符模式并永久生效如何临时、永久关闭selinux及防火墙请分别写出操作方法。    答    更改字符模式修改/etc/inittab一行为id:3:initdefault:    临时关闭selinnuxsetenforce0    临时关闭防火墙iptables-F    永久关闭selinux修改/etc/selinux/config一行为SELINUXpermissive    永久关闭防火墙 iptables -F; /etc/init.d/iptablessave    7.每次开机在/tmp目录下创建一个当天的日期文件夹(提示当前日期表示的方法为date%Y%m%d)    答    echo mkdir/tmp/ date%Y%m%d /etc/rc.d/rc.local    8.如何查看文件内容命令有哪些查看文件第1行到3行查看文件最后一行。    答    查看文件内容vim、cat、head、tail    查看第1到行head -3 file    查看最后一行tail -1 file    9.查看linux服务器IP的命令同时只显示包含ip所在的行打印出来。    答    以eth0为例    只打印所在的行ifconfig eth0 | grep inetaddr:    只打印ipifconfig eth0 | grep inetaddr: | awk -F: {print$2} | awk -F {print$1}    10.将普通用户test加入root组的命令是    答    usermod -G root test 网络部分 一、三次握手四次挥手1.1 为什么连接的时候是三次握手关闭的时候却是四次握手答因为当Server端收到Client端的SYN连接请求报文后可以直接发送SYNACK报文。其中ACK报文是用来应答的SYN报文是用来同步的。但是关闭连接时当Server端收到FIN报文时很可能并不会立即关闭SOCKET所以只能先回复一个ACK报文告诉Client端你发的FIN报文我收到了。只有等到我Server端所有的报文都发送完了我才能发送FIN报文因此不能一起发送。故需要四步握手。1.2 为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态MSLMaximumSegment LifetimeTCP允许不同的实现可以设置不同的MSL值。第一保证客户端发送的最后一个ACK报文能够到达服务器因为这个ACK报文可能丢失站在服务器的角度看来我已经发送了FINACK报文请求断开了客户端还没有给我回应应该是我发送的请求断开报文它没有收到于是服务器又会重新发送一次而客户端就能在这个2MSL时间段内收到这个重传的报文接着给出回应报文并且会重启2MSL计时器。第二防止类似与“三次握手”中提到了的“已经失效的连接请求报文段”出现在本连接中。客户端发送完最后一个确认报文后在这个2MSL时间中就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。这样新的连接中不会出现旧连接的请求报文。1.3 为什么建立连接是三次握手关闭连接确是四次挥手呢建立连接的时候服务器在LISTEN状态下收到建立连接请求的SYN报文后把ACK和SYN放在一个报文里发送给客户端。而关闭连接时服务器收到对方的FIN报文时仅仅表示对方不再发送数据了但是还能接收数据而自己也未必全部数据都发送给对方了所以己方可以立即关闭也可以发送一些数据给对方后再发送FIN报文给对方来表示同意现在关闭连接因此己方ACK和FIN一般都会分开发送从而导致多了一次。1.4 为什么不能用两次握手进行连接答3次握手完成两个重要的功能既要双方做好发送数据的准备工作(双方都知道彼此已准备好)也要允许双方就初始序列号进行协商这个序列号在握手过程中被发送和确认。现在把三次握手改成仅需要两次握手死锁是可能发生的。作为例子考虑计算机S和C之间的通信假定C给S发送一个连接请求分组S收到了这个分组并发送了确认应答分组。按照两次握手的协定S认为连接已经成功地建立了可以开始发送数据分组。可是C在S的应答分组在传输中被丢失的情况下将不知道S是否已准备好不知道S建立什么样的序列号C甚至怀疑S是否收到自己的连接请求分组。在这种情况下C认为连接还未建立成功将忽略S发来的任何数据分组只等待连接确认应答分组。而S在发出的分组超时后重复发送同样的分组。这样就形成了死锁。1.5 如果已经建立了连接但是客户端突然出现故障了怎么办TCP还设有一个保活计时器显然客户端如果出现故障服务器不能一直等下去白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器时间通常是设置为2小时若两小时还没有收到客户端的任何数据服务器就会发送一个探测报文段以后每隔75分钟发送一次。若一连发送10个探测报文仍然没反应服务器就认为客户端出了故障接着就关闭连接。1.6 为什么要三次握手保证可靠的核心就是双方都需要确认自己发送和接受信息的功能正常,但因为网络环境的不稳定性,这一秒能收发下一秒可能网络核心就发生严重拥塞,所以世界上不存在完全可靠的通信协议.两次握手会怎样?若建立连接只需两次握手客户端并没有太大的变化在获得服务端的应答后进入ESTABLISHED状态即确认自己的发送和接受信息的功能正常.但如果服务端在收到连接请求后就进入ESTABLISHED状态,不能保证客户端能收到自己的信息,此时如果网络拥塞客户端发送的连接请求迟迟到不了服务端客户端便超时重发请求如果服务端正确接收并确认应答双方便开始通信通信结束后释放连接。此时如果那个失效的连接请求抵达了服务端由于只有两次握手服务端收到请求就会进入ESTABLISHED状态等待发送数据或主动发送数据。但此时的客户端早已进入CLOSED状态服务端将会一直等待下去这样浪费服务端连接资源。1.7 为什么要四次挥手TCP连接的释放一共需要四步,因此称为『四次挥手』.我们知道,TCP连接是双向的,因此在四次挥手中,前两次挥手用于断开一个方向的连接后两次挥手用于断开另一方向的连接。第一次挥手:若A认为数据发送完成,则它需要向B发送连接释放请求.该请求只有报文头,头中携带的主要参数为:FIN1,sequ.此时,A将进入FIN-WAIT-1状态。1FIN1表示该报文段是一个连接释放请求.2sequ,u-1是A向B发送的最后一个字节的序号.第二次挥手:B收到连接释放请求后,会通知相应的应用程序,告诉它A向B这个方向的连接已经释放.此时B进入CLOSE-WAIT状态,并向A发送连接释放的应答,其报文头包含:ACK1,seqv,acku1. ACK1除TCP连接请求报文段以外,TCP通信过程中所有数据报的ACK都为1表示应答.1seqvv-1是B向A发送的最后一个字节的序号.2acku1表示希望收到从第u1个字节开始的报文段,并且已经成功接收了前u个字节.A收到该应答,进入FIN-WAIT-2状态,等待B发送连接释放请求.第二次挥手完成后A到B方向的连接已经释放B不会再接收数据A也不会再发送数据。但B到A方向的连接仍然存在B可以继续向A发送数据。第三次挥手:当B向A发完所有数据后,向A发送连接释放请求,请求头中包含:FIN1,ACK1,seqw,acku1.随后B进入LAST-ACK状态.第四次挥手:A收到释放请求后,向B发送确认应答,此时A进入TIME-WAIT状态.该状态会持续2MSL时间,若该时间段内没有B的重发请求的话,就进入CLOSED状态,撤销TCB.当B收到确认应答后,也便进入CLOSED状态,撤销TCB。1.8 为什么TCP客户端最后还要发送一次确认呢一句话主要防止已经失效的连接请求报文突然又传送到了服务器从而产生错误。如果使用的是两次握手建立连接假设有这样一种场景客户端发送了第一个请求连接并且没有丢失只是因为在网络结点中滞留的时间太长了由于TCP的客户端迟迟没有收到确认报文以为服务器没有收到此时重新向服务器发送这条报文此后客户端和服务器经过两次握手完成连接传输数据然后关闭连接。此时此前滞留的那一次请求连接网络通畅了到达了服务器这个报文本该是失效的但是两次握手的机制将会让客户端和服务器再次建立连接这将导致不必要的错误和资源的浪费。如果采用的是三次握手就算是那一次失效的报文传送过来了服务端接受到了那条失效报文并且回复了确认报文但是客户端不会再次发出确认。由于服务器收不到确认就知道客户端并没有请求连接。1.9 简述TCP三次握手的过程答在TCP/IP协议中TCP协议提供可靠的连接服务采用三次握手建立一个连接。第一次握手建立连接时客户端发送syn包(synj)到服务器并进入SYN_SEND状态等待服务器确认。第二次握手服务器收到syn包必须确认客户的SYNackj1同时自己也发送一个SYN包synk即SYNACK包此时服务器进入SYN_RECV状态。第三次握手客户端收到服务器的SYNACK包向服务器发送确认包ACK(ackk1)此包发送完毕客户端和服务器进入ESTABLISHED状态完成三次握手。完成三次握手客户端与服务器开始传送数据简版首先A向B发SYN同步请求然后B回复SYNACK同步请求应答最后A回复ACK确认这样TCP的一次连接三次握手的过程就建立了。三次握手我们先明确两个定义1client为数据发送方2server为数据接收方好下面进行三次握手的总结1client想要向server发送数据请求连接。这时client想服务器发送一个数据包其中同步位SYN被置为1表明client申请TCP连接序号为j。2当server接收到了来自client的数据包时解析发现同步位为1便知道client是想要简历TCP连接于是将当前client的IP、端口之类的加入未连接队列中并向client回复接受连接请求想client发送数据包其中同步位为1并附带确认位ACKj1表明server已经准备好分配资源了并向client发起连接请求请求client为建立TCP连接而分配资源。3client向server回复一个ACK并分配资源建立连接。server收到这个确认时也分配资源进行连接的建立。那么问题来了为什么需要第三次握手第三次握手失败了怎么办三次握手有什么缺陷可以被黑客利用用来对服务器进行攻击怎么防范这种攻击接下来进行一一解答。1.9.1 为什么需要第三次握手答如果没有第三次握手可能会出现如下情况如果只有两次握手那么server收到了client的SYN1的请求连接数据包之后便会分配资源并且向client发送一个确认位ACK回复数据包。那么如果在client与server建立连接的过程中由于网络不顺畅等原因造成的通信链路中存在着残留数据包即client向server发送的请求建立连接的数据包由于数据链路的拥塞或者质量不佳导致该连接请求数据包仍然在网络的链路中这些残留数据包会造成如下危害危害当client与server建立连接数据发送完毕并且关闭TCP连接之后如果链路中的残留数据包才到达server那么server就会认为client重新发送了一次连接申请便会回复ACK包并且分配资源。并且一直等待client发送数据这就会造成server的资源浪费。1.9.2 第三次握手失败了怎么办答当client与server的第三次握手失败了之后即client发送至server的确认建立连接报文段未能到达serverserver在等待client回复ACK的过程中超时了那么server会向client发送一个RTS报文段并进入关闭状态即并不等待client第三次握手的ACK包重传直接关闭连接请求这主要是为了防止泛洪攻击即坏人伪造许多IP向server发送连接请求从而将server的未连接队列塞满浪费server的资源。1.9.3 三次握手有什么缺陷可以被黑客利用用来对服务器进行攻击答黑客仿造IP大量的向server发送TCP连接请求报文包从而将server的半连接队列上文所说的未连接队列即server收到连接请求SYN之后将client加入半连接队列中占满从而使得server拒绝其他正常的连接请求。即拒绝服务攻击1.9.4 怎么防范这种攻击1缩短服务器接收客户端SYN报文之后的等待连接时间即SYNtimeout时间也就是server接收到SYN报文段到最后放弃此连接请求的超时时间将SYNtimeout设置的更低便可以成倍的减少server的负荷但是过低的SYNtimeout可能会影响正常的TCP连接的建立一旦网络不通畅便可能导致client连接请求失败2SYNcookie SYN proxy 无缝集成较好的解决方案SYNcookie当server接收到client的SYN之后不立即分配资源而是根据client发送过来的SYN包计算出一个cookie值这个cookie值用来存储server返回给client的SYNACK数据包中的初始序列号当client返回第三次握手的ACK包之后进行校验如果校验成功则server分配资源建立连接。SYNproxy代理作为server与client连接的代理代替server与client建立三次握手的连接同时SYNproxy与client建立好了三次握手连接之后确保是正常的TCP连接而不是TCP泛洪攻击那么SYNproxy就与server建立三次握手连接作为代理网关来连通client与server。类似VPN了解一下。二、路由2.1 填空题。1. 静态 路由设定后若 网络 拓扑结构发生变化需由系统 管理员 修改路由的 设置 。2.网络管理的重要任务是 控制 和 监控 。3.在安装Linux系统中使用 netconfig 程序对网络进行配置该安装程序会一步步提示用户输入 主机名 、 域名 、 域名服务器 、 IP地址 、 网关地址 和 子网掩码 等必要信息。4. RIP 协议是最为普遍的一种内部协议一般称为动态路由信息协议。5. DHCP 可以实现动态IP地址分配。6.网络管理通常由 监测 、 传输 和 管理 三部分组成其中 管理部分 是整个网络管理的中心。7. Ping 命令可以测试网络中本机系统是否能到达一台远程主机所以常常用于 测试网络的连通性 。8.进行远程登录的命令是 telnet 。9.DHCP是动态主机配置协议的简称其作用是 为网络中的主机分配IP 地址。10.路由选择协议RIP的跳数表示到达目的地之前必须通过的网关数RIP接受的最长距离是 15 跳。11.ping命令用于测试网络的连通性ping命令通过 ICMP 协议internet控制信息协议来实现。2.2 选择题。12.下面的网络协议中面向连接的的协议是 A 。A 传输控制协议B 用户数据报协议C 网际协议D 网际控制报文协议13.一台主机要实现通过局域网与另一个局域网通信需要做的工作是 C 。A 配置域名服务器B 定义一条本机指向所在网络的路由C 定义一条本机指向所在网络网关的路由D 定义一条本机指向目标网络网关的路由14.局域网的网络地址192.168.1.0/24局域网络连接其它网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时其路由设置正确的是 B 。A route add –net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0metric1B route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.255metric1C route add –net 172.16.1.0 gw 172.16.1.1 netmask 255.255.255.0metric 1D route add default 192.168.1.0 netmask 172.168.1.1 metric 1 15.下列提法中不属于ifconfig命令作用范围的是 D 。A 配置本地回环地址B 配置网卡的IP地址C 激活网络适配器D 加载网卡到内核中16.在局域网络内的某台主机用ping 命令测试网络连接时发现网络内部的主机都可以连同而不能与公网连通问题可能是 C 。A 主机IP设置有误B 没有设置连接局域网的网关C 局域网的网关或主机的网关设置有误D 局域网DNS服务器设置有误17.下列文件中包含了主机名到IP 地址的映射关系的文件是 B 。A /etc/HOSTNAMEB /etc/hostsC /etc/resolv.confD /etc/networks18.在TCP/IP 模型中应用层包含了所有的高层协议在下列的一些应用协议中 B 是能够实现本地与远程主机之间的文件传输工作。A telnetB FTPC SNMPD NFS19.当我们与某远程网络连接不上时就需要跟踪路由查看以便了解在网络的什么位置出现了问题满足该目的的命令是 C 。A pingB ifconfigC tracerouteD netstat20.DNS域名系统主要负责主机名和 A 之间的解析。A IP地址B MAC地址C 网络地址D 主机别名21.WWW服务器是在Internet上使用最为广泛它采用的是 B 结构。A 服务器/工作站B B/SC 集中式D 分布式22.网络管理具备以下几大功能配置管理、 A 、性能管理、安全管理和计费管理等。A 故障管理B 日常备份管理C 升级管理D 发送邮件23.关于代理服务器的论述正确的是 A 。A 使用internet 上已有的公开代理服务器只需配置客户端。B 代理服务器只能代理客户端http 的请求。C 设置好的代理服务器可以被网络上任何主机使用。D 使用代理服务器的客户端没有自己的ip 地址。24.实现从IP地址到以太网MAC地址转换的命令为 C 。A pingB ifconfigC arpD traceroute25.在DNS系统测试时设named进程号是53命令 D 通知进程重读配置文件。A kill –USR2 53B kill –USR1 53C kill -INT 63D kill –HUP 5326.在DNS配置文件中用于表示某主机别名的是 B 。A NSB CNAMEC NAMED CN27.为保证在启动服务器时自动启动DHCP 进程应对 B 文件进行编辑。A /etc/rc.d/rc.inet2B /etc/rc.d/rc.inet1C /etc/dhcpd.confD /etc/rc.d/rc.S2.3 简答题。28写一条192.168.10.0网段从网关192.168.9.1出去的路由答routeadd -net 192.168.10.0/24gw 192.168.9.129.给主机host172.16.0.2增加gateway10.0.0.1答routeadd 172.16.0.2 gw 10.0.0.1或者网卡配置文件更改30.网站出现500,502,400,403,404都是什么意思怎么排查和解决答500服务器内部错误因为服务器上的程序写的有问题需要打开错误日志查看日志分析错误信息。502网关错误服务器作为网关或代理从上游服务器收到无效响应。Nginx出现最多出现502要么是nginx配置的不对要么是php-fpm资源不够可以分析php-fpm的慢执行日志优化php-fpm的执行速度。400错误请求服务器不理解请求的语法。这可能是用户发起的请求不合理需要检查客户端的请求。403服务器拒绝请求。检查服务器配置是不是对客户端做了限制。404未找到请求的资源。检查服务器上是否存在请求的资源看是否是配置问题。31.TCP有哪些了解TCP连接状态中“TIME_WAIT”是什么意思影响什么答关于tcp有点复杂直接上图吧更直观状态描述CLOSED这个没什么好说的了表示初始状态。LISTEN这个也是非常容易理解的一个状态表示服务器端的某个SOCKET处于监听状态可以接受连接了。SYN_RCVD这个状态表示接受到了SYN报文在正常情况下这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态很短暂基本上用netstat你是很难看到这种状态的除非你特意写了一个客户端测试程序故意将三次TCP握手过程中最后一个ACK报文不予发送。因此这种状态时当收到客户端的ACK报文后它会进入到ESTABLISHED状态。SYN_SENT这个状态与SYN_RCVD遥想呼应当客户端SOCKET执行CONNECT连接时它首先发送SYN报文因此也随即它会进入到了SYN_SENT状态并等待服务端的发送三次握手中的第2个报文。SYN_SENT状态表示客户端已发送SYN报文。ESTABLISHED这个容易理解了表示连接已经建立了。FIN_WAIT_1这个状态要好好解释一下其实FIN_WAIT_1和FIN_WAIT_2状态的真正含义都是表示等待对方的FIN报文。而这两种状态的区别是FIN_WAIT_1状态实际上是当SOCKET在ESTABLISHED状态时它想主动关闭连接向对方发送了FIN报文此时该SOCKET即进入到FIN_WAIT_1状态。而当对方回应ACK报文后则进入到FIN_WAIT_2状态当然在实际的正常情况下无论对方何种情况下都应该马上回应ACK报文所以FIN_WAIT_1状态一般是比较难见到的而FIN_WAIT_2状态还有时常常可以用netstat看到。FIN_WAIT_2上面已经详细解释了这种状态实际上FIN_WAIT_2状态下的SOCKET表示半连接也即有一方要求close连接但另外还告诉对方我暂时还有点数据需要传送给你稍后再关闭连接。TIME_WAIT表示收到了对方的FIN报文并发送出了ACK报文就等2MSL后即可回到CLOSED可用状态了。如果FIN_WAIT_1状态下收到了对方同时带FIN标志和ACK标志的报文时可以直接进入到TIME_WAIT状态而无须经过FIN_WAIT_2状态。CLOSING这种状态比较特殊实际情况中应该是很少见属于一种比较罕见的例外状态。正常情况下当你发送FIN报文后按理来说是应该先收到或同时收到对方的ACK报文再收到对方的FIN报文。但是CLOSING状态表示你发送FIN报文后并没有收到对方的ACK报文反而却也收到了对方的FIN报文。什么情况下会出现此种情况呢其实细想一下也不难得出结论那就是如果双方几乎在同时close一个SOCKET的话那么就出现了双方同时发送FIN报文的情况也即会出现CLOSING状态表示双方都正在关闭SOCKET连接。CLOSE_WAIT这种状态的含义其实是表示在等待关闭。怎么理解呢当对方close一个SOCKET后发送FIN报文给自己你系统毫无疑问地会回应一个ACK报文给对方此时则进入到CLOSE_WAIT状态。接下来呢实际上你真正需要考虑的事情是察看你是否还有数据发送给对方如果没有的话那么你也就可以close这个SOCKET发送FIN报文给对方也即关闭连接。所以你在CLOSE_WAIT状态下需要完成的事情是等待你去关闭连接。LAST_ACK这个状态还是比较容易好理解的它是被动关闭一方在发送FIN报文后最后等待对方的ACK报文。当收到ACK报文后也即可以进入到CLOSED可用状态了。32.简述DNS进行域名解析的过程。参考答案首先客户端发出DNS请求翻译IP地址或主机名。DNS服务器在收到客户机的请求后1检查DNS服务器的缓存若查到请求的地址或名字即向客户机发出应答信息2若没有查到则在数据库中查找若查到请求的地址或名字即向客户机发出应答信息3若没有查到则将请求发给根域DNS 服务器并依序从根域查找顶级域由顶级查找二级域二级域查找三级直至找到要解析的地址或名字即向客户机所在网络的DNS服务器发出应答信息DNS服务器收到应答后现在缓存中存储然后将解析结果发给客户机。4若没有找到则返回错误信息。33.什么是静态路由其特点是什么什么是动态路由其特点是什么参考答案静态路由是由系统管理员设计与构建的路由表规定的路由。适用于网关数量有限的场合且网络拓朴结构不经常变化的网络。其缺点是不能动态地适用网络状况的变化当网络状况变化后必须由网络管理员修改路由表。动态路由是由路由选择协议而动态构建的路由协议之间通过交换各自所拥有的路由信息实时更新路由表的内容。动态路由可以自动学习 网络的拓朴结构并更新路由表。其缺点是路由广播更新信息将占据大量的网络带宽。34.linux下常用的DNS服务软件是什么举出几种常用的DNS记录如果域名abc.com配置好了一台邮件服务器,IP地址为202.106.0.20我该如何做相关的解析是否了解bind的智能解析如果了解请简述一下其原理。答案1)常用的DNS软件是bind2)A记录地址记录MX记录邮件交换记录CNAME记录别名域记录3)修改abc.com 域名的配置文件增加以下记录INMX 10 mail.abc.com.mailIN A 202.106.0.204)bind根据请求解析客户端的IP地址做出不同的解析其原理是在配置文件中设定了view在每个view都有客户端的IP地址段bind服务器根据请求解析客户端的IP地址匹配不同的view,再根据该view的配置到相应的配置文件进行查询将结果返回给请求的客户端。35.AB网络是通的最少列出五种传输文件的服务nfsftpscprsyncsambahttp://36.我们都知道dns既采用了tcp协议又采用了udp协议什么时候采用tcp协议什么时候采用udp协议为什么要这么设计答这个题需要理解的东西比较的多分一下几个方面a从数据包大小上分UDP的最大包长度是65507个字节响应dns查询的时候数据包长度超过512个字节而返回的只要前512个字节这时名字解释器通常使用TCP 从发原来的请求。b从协议本身来分大部分的情况下使用UDP协议大家都知道UDP协议是一种不可靠的协议dns不像其它的使用UDP的Internet应用(如TFTPBOOTP和SNMP等)大部分集中在局域网dns查询和响应需要经过广域网分组丢失和往返时间的不确定性在广域网比局域网上更大这就要求dns客户端需要好的重传和超时算法这时候使用TCP。三、七层模型3.1 说说TCP/IP的七层模型应用层 (Application)网络服务与最终用户的一个接口。协议有HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP表示层Presentation Layer数据的表示、安全、压缩。在五层模型里面已经合并到了应用层格式有JPEG、ASCll、DECOIC、加密格式等会话层Session Layer建立、管理、终止会话。在五层模型里面已经合并到了应用层对应主机进程指本地主机与远程主机正在进行的会话传输层 (Transport)定义传输数据的协议端口号以及流控和差错校验。协议有TCP UDP数据包一旦离开网卡即进入网络传输层网络层 (Network)进行逻辑地址寻址实现不同网络之间的路径选择。协议有ICMP IGMP IPIPV4 IPV6 ARP RARP数据链路层 (Link)建立逻辑连接、进行硬件地址寻址、差错校验等功能。由底层网络定义协议将比特组合成字节进而组合成帧用MAC地址访问介质错误发现但不能纠正。物理层Physical Layer是计算机网络OSI模型中最低的一层。物理层规定为传输数据所需要的物理链路创建、维持、拆除而提供具有机械的电子的功能的和规范的特性。简单的说物理层确保原始的数据可在各种物理媒体上传输。局域网与广域网皆属第1、2层。物理层是OSI的第一层它虽然处于最底层却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备为数据传输提供可靠的环境。如果您想要用尽量少的词来记住这个第一层那就是“信号和介质”。 转载于:https://www.cnblogs.com/Dev0ps/p/7874381.html
文章转载自:
http://www.morning.mbmtz.cn.gov.cn.mbmtz.cn
http://www.morning.dmzqd.cn.gov.cn.dmzqd.cn
http://www.morning.aswev.com.gov.cn.aswev.com
http://www.morning.sdhmn.cn.gov.cn.sdhmn.cn
http://www.morning.fdmtr.cn.gov.cn.fdmtr.cn
http://www.morning.rxdsq.cn.gov.cn.rxdsq.cn
http://www.morning.qsy37.cn.gov.cn.qsy37.cn
http://www.morning.zthln.cn.gov.cn.zthln.cn
http://www.morning.xoaz.cn.gov.cn.xoaz.cn
http://www.morning.tblbr.cn.gov.cn.tblbr.cn
http://www.morning.lgsqy.cn.gov.cn.lgsqy.cn
http://www.morning.qdmdp.cn.gov.cn.qdmdp.cn
http://www.morning.nbqwr.cn.gov.cn.nbqwr.cn
http://www.morning.yfcbf.cn.gov.cn.yfcbf.cn
http://www.morning.ydxx123.cn.gov.cn.ydxx123.cn
http://www.morning.txysr.cn.gov.cn.txysr.cn
http://www.morning.fkyqt.cn.gov.cn.fkyqt.cn
http://www.morning.jnrry.cn.gov.cn.jnrry.cn
http://www.morning.xwbld.cn.gov.cn.xwbld.cn
http://www.morning.qfmcm.cn.gov.cn.qfmcm.cn
http://www.morning.mwlxk.cn.gov.cn.mwlxk.cn
http://www.morning.gqwbl.cn.gov.cn.gqwbl.cn
http://www.morning.rtbhz.cn.gov.cn.rtbhz.cn
http://www.morning.nrzbq.cn.gov.cn.nrzbq.cn
http://www.morning.rnmmh.cn.gov.cn.rnmmh.cn
http://www.morning.nrddx.com.gov.cn.nrddx.com
http://www.morning.tcfhs.cn.gov.cn.tcfhs.cn
http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn
http://www.morning.sdhmn.cn.gov.cn.sdhmn.cn
http://www.morning.wrbx.cn.gov.cn.wrbx.cn
http://www.morning.lwygd.cn.gov.cn.lwygd.cn
http://www.morning.xylxm.cn.gov.cn.xylxm.cn
http://www.morning.pnjsl.cn.gov.cn.pnjsl.cn
http://www.morning.bkkgt.cn.gov.cn.bkkgt.cn
http://www.morning.srbbh.cn.gov.cn.srbbh.cn
http://www.morning.yxnfd.cn.gov.cn.yxnfd.cn
http://www.morning.qpmwb.cn.gov.cn.qpmwb.cn
http://www.morning.kdpal.cn.gov.cn.kdpal.cn
http://www.morning.qnhpq.cn.gov.cn.qnhpq.cn
http://www.morning.tmlhh.cn.gov.cn.tmlhh.cn
http://www.morning.tjqcfw.cn.gov.cn.tjqcfw.cn
http://www.morning.tjqcfw.cn.gov.cn.tjqcfw.cn
http://www.morning.pccqr.cn.gov.cn.pccqr.cn
http://www.morning.crqpl.cn.gov.cn.crqpl.cn
http://www.morning.bktzr.cn.gov.cn.bktzr.cn
http://www.morning.nytpt.cn.gov.cn.nytpt.cn
http://www.morning.thlr.cn.gov.cn.thlr.cn
http://www.morning.gwsdt.cn.gov.cn.gwsdt.cn
http://www.morning.mjglk.cn.gov.cn.mjglk.cn
http://www.morning.xhlpn.cn.gov.cn.xhlpn.cn
http://www.morning.fdmfn.cn.gov.cn.fdmfn.cn
http://www.morning.tbbxn.cn.gov.cn.tbbxn.cn
http://www.morning.bsrqy.cn.gov.cn.bsrqy.cn
http://www.morning.ychrn.cn.gov.cn.ychrn.cn
http://www.morning.gxeqedd.cn.gov.cn.gxeqedd.cn
http://www.morning.tqklh.cn.gov.cn.tqklh.cn
http://www.morning.jkcnq.cn.gov.cn.jkcnq.cn
http://www.morning.wpqwk.cn.gov.cn.wpqwk.cn
http://www.morning.lhygbh.com.gov.cn.lhygbh.com
http://www.morning.cwqrj.cn.gov.cn.cwqrj.cn
http://www.morning.qnhcx.cn.gov.cn.qnhcx.cn
http://www.morning.nqwkn.cn.gov.cn.nqwkn.cn
http://www.morning.mmhyx.cn.gov.cn.mmhyx.cn
http://www.morning.jpjpb.cn.gov.cn.jpjpb.cn
http://www.morning.jlnlr.cn.gov.cn.jlnlr.cn
http://www.morning.fnnkl.cn.gov.cn.fnnkl.cn
http://www.morning.dfmjm.cn.gov.cn.dfmjm.cn
http://www.morning.fwnyz.cn.gov.cn.fwnyz.cn
http://www.morning.pbwcq.cn.gov.cn.pbwcq.cn
http://www.morning.yzxlkj.com.gov.cn.yzxlkj.com
http://www.morning.lrylj.cn.gov.cn.lrylj.cn
http://www.morning.gkmwx.cn.gov.cn.gkmwx.cn
http://www.morning.lpyjq.cn.gov.cn.lpyjq.cn
http://www.morning.mhybs.cn.gov.cn.mhybs.cn
http://www.morning.tlpgp.cn.gov.cn.tlpgp.cn
http://www.morning.dbnpz.cn.gov.cn.dbnpz.cn
http://www.morning.lbxcc.cn.gov.cn.lbxcc.cn
http://www.morning.xzgbj.cn.gov.cn.xzgbj.cn
http://www.morning.zlhzd.cn.gov.cn.zlhzd.cn
http://www.morning.cprbp.cn.gov.cn.cprbp.cn
http://www.tj-hxxt.cn/news/244414.html

相关文章:

  • 广东网站制作多少钱东莞阳光网站
  • 四川人防工程建设网站wordpress可以删除版权么
  • 一个完整的网站推广方案做淘宝联盟必须要有网站吗
  • 怎样才能建设网站微信小程序商城多少钱
  • 北海网站网站建设营销推广有哪些步骤
  • 怎么做一个网站的logo设计图wordpress增加内存
  • 网站建设扌首选金手指电商网站开发文档
  • 广州网站设计成功刻网页制作题用什么软件
  • 网站开发包括什么网站标识描述可以填关键词吗
  • 做平面设计素材的哪个网站好google地图 wordpress
  • 技术支持 创思佳网站建设招聘网站竞品分析怎么做
  • 保定市城乡建设局官方网站长沙电商优化
  • 网站添加备案信息外贸企业网站模板
  • 开网店 建网站要钱吗管理网站模板下载免费下载
  • 自己做网站页面长沙网站设计公司排名
  • 网站优化要用什么软件手机网站怎么做微信登陆
  • 做期货在哪个网站看消息学校做网站及费用
  • 几十元做网站深圳公司排名榜
  • 织梦网暂时关闭网站青岛优化网站多少钱
  • 成都平台网站建设公司seo技术软件
  • 宿迁网站建设与管理如何判断网站是否被百度降权
  • 网站后台的建设页面设计包括哪些
  • linux下网站建设wordpress文章自定义栏目
  • 比较好的购物网站seo视频教程百度网盘
  • 中元建设集团股份有限公司网站什么是功能型网站
  • 单位做员工招退工在什么网站淮阳 网站建设
  • 北京城乡建设网站首页重庆在线官网
  • 忘记网站后台账号一个专门做海鲜的网站
  • 定远建设小学网站百度打开
  • 领券购买网站是怎么做的衣服网站设计