.
Linux运维工程师工作手册
释放内存: sync
echo 3 > /proc/sys/vm/drop_caches
Linux查看Dell服务器型号 命令:
dmidecode | grep \
查看系统负载: cat /proc/loadavg
0.0 0.00 0.00 1/283 10904
意思是:前三个是系统负载,1/283中,1代表此时运行队伍中的进程个数,而283是代表此时的进程总数
10904到此为止,最后创建的一个进程ID。
系统装好后,要做的事如下: 关闭防火墙Selinux: vim /etc/selinux/config
把SELINUX=enforcing改成SELINUX=disabled 更改主机名:
vim /etc/sysconfig/network 修改主机名,不要用localhost 添加hosts主机记录
vim /etc/hosts中,在127.0.0.1后面,添加自己的主机名
Word专业资料
.
创建0-9 a-z目录
for i in `seq 0 9` {a..z};do mkdir -p $i;done:
测试硬盘性能工具:iozone
监视服务器每少上下文切换数次工具:Nmon(很不错的性能监视工具)
#占用内存大小前10的进程
ps -eo comm,size --sort -size | head -10 #占用cpu使用前10的进程
ps -eo comm,pcpu --sort -pcpu | head -10
一、Apache服务优化: 2 1.配置cronolog进行日志轮询 2 2.错误页面优雅显示 2
3.mod_deflate文件压缩功能 3 4.mod_expires缓存功能 4 5.更改apache的默认用户 5
6.worker模式,提升并发数(可以达到2000-5000) 5 7.屏蔽apache版本等敏感信息 6
8.apache目录文件权限设置(root,目录755,文件644) 6 9.开启httpd-mpm.conf 增加连接数 6 10. apache防盗链功能 8
Word专业资料
.
11.禁止目录Index 8 12. 禁止用户覆盖(重载) 8 13.关闭CGI 9
14.避免使用.htaccess文件(分布式配置文件) 9 15. apache的安全模块 9
16.正确途径取得源代码,勤打apache补丁 10 17.apache日志授予root 700权限 10 18.系统内核参数优化 10
19.禁止PHP解析指定站点的目录 10
20.使用tmpfs文件系统替代频繁访问的目录 11 21尽可能减少 HTTP 请求数 11 22使用CDN做网站加速 12
查看你的服务器网络连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' ◆CLOSED:无连接是活动的或正在进行 ◆LISTEN:服务器在等待进入呼叫
◆SYN_RECV:一个连接请求已经到达,等待确认 ◆SYN_SENT:应用已经开始,打开一个连接 ◆ESTABLISHED:正常数据传输状态 ◆FIN_WAIT1:应用说它已经完成
Word专业资料
.
◆FIN_WAIT2:另一边已同意释放 ◆ITMED_WAIT:等待所有分组死掉 ◆CLOSING:两边同时尝试关闭 ◆TIME_WAIT:另一边已初始化一个释放 ◆LAST_ACK:等待所有分组死掉
ESTABLISHED的值其实也是当前的并发数,这个可重点关注下;另外,可关注下TIME——WAIT这项的数值。Linux下高并发的Squid服务器,TCP TIME_WAIT套接字数量经常达到两、三万,服务器很容易被拖死。通过修改Linux内核参数,可以减少Squid服务器的TIME_WAIT套接字数量。
#查看系统本地可用端口极限值
cat /proc/sys/net/ipv4/ip_local_port_range
寻找恶意IP并用iptables禁止掉
netstat -an| grep :80 | grep -v 127.0.0.1 |awk '{ print $5 }' | sort|awk -F: '{print $1,$4}' | uniq -c | awk '$1 >50 {print $1,$2}'
4.5备份单个数据库
mysqldump -u 用户 –p’密码’ --default-character-set=latin1 数据库名 > 备份文件名(数据库默认编码是latin1) 普通备份:
mysqldump -uroot -p'oldboy123' oldboy > /server/bak/oldboy.sql
Word专业资料
.
压缩备份:
mysqldump -uroot -p'oldboy123' oldboy |gzip > /server/bak/oldboy.sql.gz 设置字符集备份:
mysqldump -uroot -p'oldboy123' oldboy --default-character-set=gbk |gzip > /server/bak/oldboy.sql.gz 执行结果:
[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/oldboy.sql [root@oldboy ~]# mysqldump -uroot -p'oldboy123' oldboy |gzip > /server/bak/oldboy.sql.gz
[root@oldboy ~]# ls -l /server/bak/ total 8
-rw-r--r-- 1 root root 1991 Apr 9 00:51 oldboy.sql -rw-r--r-- 1 root root 801 Apr 9 00:51 oldboy.sql.gz 4.6 mysqldump在做啥?
mysqldump实际上就是把数据从mysql库里以逻辑的sql语句的形式导出。 备份的数据过滤掉注释:
[root@oldboy ~]# egrep -v \DROP TABLE IF EXISTS `test`; CREATE TABLE `test` (
`id` int(4) NOT NULL AUTO_INCREMENT, `name` char(20) NOT NULL, PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=gbk; LOCK TABLES `test` WRITE;
INSERT INTO `test` VALUES (1,'zhaoyue'),(2,'jesse'),(4,'elain'),(5,'wodi'),(6,'yingsui'),(7,'zhangyang'),(8,'zaixiangpan'),(9,'??????'),(10,'鑰佺敺瀛?),(11,'鎴?); <==这里是乱码,是因
Word专业资料