Linux运维工程师工作手册

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux运维工程师工作手册

释放内存:

sync

echo3>/proc/sys/vm/drop_caches

Linux查看Dell服务器型号

命令:

dmidecode|grep"ProductName"

查看系统负载:

cat/proc/loadavg

1/28310904

意思是:前三个是系统负载,1/283中,1代表此时运行队伍中的进程个数,而283是代表此时的进程总数

10904到此为止,最后创建的一个进程ID。

系统装好后,要做的事如下:

关闭防火墙Selinux:

vim/etc/selinux/config

把SELINUX=enforcing改成SELINUX=disabled

更改主机名:

vim/etc/sysconfig/network

修改主机名,不要用localhost

添加hosts主机记录

vim/etc/hosts中,在后面,添加自己的主机名

创建0-9a-z目录

foriin`seq09`{a..z};domkdir-p$i;done:

测试硬盘性能工具:iozone

监视服务器每少上下文切换数次工具:Nmon(很不错的性能监视工具)

#占用内存大小前10的进程

ps-eocomm,size--sort-size|head-10

#占用cp u使用前10的进程

ps-eocomm,pcpu--sort-pcpu|head-10

一、Apache服务优化:2

1.配置cronolog进行日志轮询2

2.错误页面优雅显示2

文件压缩功能3

缓存功能4

5.更改apache的默认用户5

模式,提升并发数(可以达到2000-5000)5

7.屏蔽apache版本等敏感信息6

目录文件权限设置(root,目录755,文件644)6

9.开启增加连接数6

10.apache防盗链功能8

11.禁止目录Index8

12.禁止用户覆盖(重载)8

13.关闭CGI9

14.避免使用.htaccess文件(分布式配置文件)9

15.apache的安全模块9

16.正确途径取得源代码,勤打apache补丁10

日志授予root700权限10

18.系统内核参数优化10

19.禁止PHP解析指定站点的目录10

20.使用tmpfs文件系统替代频繁访问的目录11 21尽可能减少HTTP请求数11

22使用CDN做网站加速12

查看你的服务器网络连接状态

netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'

◆CLOSED:无连接是活动的或正在进行

◆LISTEN:服务器在等待进入呼叫

◆SYN_RECV:一个连接请求已经到达,等待确认

◆SYN_SENT:应用已经开始,打开一个连接

◆ESTABLISHED:正常数据传输状态

◆FIN_WAIT1:应用说它已经完成

◆FIN_WAIT2:另一边已同意释放

◆ITMED_WAIT:等待所有分组死掉

◆CLOSING:两边同时尝试关闭

◆TIME_WAIT:另一边已初始化一个释放

◆LAST_ACK:等待所有分组死掉

ESTABLISHED的值其实也是当前的并发数,这个可重点关注下;另外,可关注下TIME——WAIT 这项的数值。Linux下高并发的Squid服务器,TCPTIME_WAIT套接字数量经常达到两、三万,服务器很容易被拖死。通过修改Linux内核参数,可以减少Squid服务器的TIME_WAIT套接字数量。

#查看系统本地可用端口极限值

cat/proc/sys/net/ipv4/ip_local_port_range

寻找恶意IP并用iptables禁止掉

netstat-an|grep:80|grep-v'{print$5}'|sort|awk-F:'{print$1,$4}'|uniq-c|awk'$1>50{print$1,$2}'

备份单个数据库

mysqldump-u用户–p’密码’--default-character-set=latin1数据库名>备份文件名(数据库默认编码是latin1)

普通备份:

mysqldump-uroot-p'oldboy123'oldboy>/server/bak/

压缩备份:

mysqldump-uroot-p'oldboy123'oldboy|gzip>/server/bak/

设置字符集备份:

mysqldump-uroot-p'oldboy123'oldboy--default-character-set=gbk|gzip>/server/bak/

执行结果:

[root@oldboy~]#mkdir/server/bak-p

[root@oldboy~]#mysqldump-uroot-p'oldboy123'oldboy>/server/ba

backup/bak/

[root@oldboy~]#mysqldump-uroot-p'oldboy123'oldboy>/server/bak/

[root@oldboy~]#mysqldump-uroot-p'oldboy123'oldboy|gzip>/server/bak/

[root@oldboy~]#ls-l/server/bak/

total8

-rw-r--r--1rootroot1991Apr900:51

-rw-r--r--1rootroot801Apr900:51

mysqldump在做啥

mysqldump实际上就是把数据从mysql库里以逻辑的sql语句的形式导出。

备份的数据过滤掉注释:

[root@oldboy~]#egrep-v"\*|--|^$"/server/bak/

DROPTABLEIFEXISTS`test`;

CREATETABLE`test`(

`id`int(4)NOTNULLAUTO_INCREMENT,

`name`char(20)NOTNULL,

PRIMARYKEY(`id`)

)ENGINE=MyISAMAUTO_INCREMENT=12DEFAULTCHARSET=gbk;

LOCKTABLES`test`WRITE;

INSERTINTO`test`VALUES(1,'zhaoyue'),(2,'jesse'),(4,'elain'),(5,'wodi'),(6,'yingsui'),(7,'zhangyang'),( 8,'zaixiangpan'),(9,''),(10,'钥佺敺瀛),(11,'鎴);<==这里是乱码,是因为导出时的格式没加字符集,而系统当前字符集又是格式,一般恢复到数据库里会正常,只是系统外查看不正常而已。另外insert是批量插入的方式,这样在恢复时效率很高。

UNLOCKTABLES;

提示:看到了吧,就是我们曾经插入的表和数据。

[root@oldboy~]#mysqldump-uroot-p'oldboy123'oldboy--default-character-set=gbk>/server/bak/ [root@oldboy~]#egrep-v"\*|--|^$"/server/bak/

DROPTABLEIFEXISTS`test`;

相关文档
最新文档