31、你常用的Nginx模块,用来做什么
rewrite模块,实现重写功能
access模块:来源控制
ssl模块:安全加密
ngx_http_gzip_module:网络传输压缩模块
ngx_http_proxy_module 模块实现代理
ngx_http_upstream_module模块实现定义后端服务器列表
ngx_cache_purge实现缓存清除功能
32、请列出你了解的web服务器负载架构
Nginx
Haproxy
Keepalived
LVS
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 -20
35、写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线
for ip in seq 1 255
do
{
ping -c 1 192.168.1.$ip > /dev/null 2>&1
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 天的访问日志!请问如何解决?请给出解决办法或配置或处理命令
创建文件脚本:
for n in seq 14
do
date -s “11/0$n/14”
touch access_www_(date +%F).log
done
解决方法:
-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
也可以使用-exec rm -f {} ;进行删除
-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
37、如何优化 Linux系统(可以不说太具体)?
不用root,添加普通用户,通过sudo授权管理
更改默认的远程连接SSH服务端口及禁止root用户远程连接
定时自动更新服务器时间
配置国内yum源
关闭selinux及iptables(iptables工作场景如果有外网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.130
awk方法2:
ifconfig eth0|awk ‘NR==2’|awk -F “:” ‘{print $2}’|awk ‘{print $1}’
192.168.20.130
awk多分隔符方法3:
ifconfig eth0|awk ‘NR==2’|awk -F “[: ]+” ‘{print $4}’
192.168.20.130
sed方法4:
ifconfig eth0|sed -n ‘/inet addr/p’|sed -r ‘s#^.ddr:(.)Bc.*$##g’
192.168.20.130
39、请写出下面 linux SecureCRT 命令行快捷键命令的功能?
Ctrl + a
Ctrl + c
Ctrl + d
Ctrl + e
Ctrl + l
Ctrl + u
Ctrl + k
tab
Ctrl+shift+c
Ctrl+shift+v
解答:
Ctrl + a —->光标移动到行首
Ctrl + e —->光标移动到行尾
Ctrl + c —->终止当前程序
Ctrl + d —->如果光标前有字符则删除,没有则退出当前中断
Ctrl + l —->清屏
Ctrl + u —->剪切光标以前的字符
Ctrl + k —->剪切光标以后的字符
Ctrl + y —->复制u/k的内容
Ctrl + r —->查找最近用过的命令
tab —->命令或路径补全
Ctrl+shift+c —->复制
Ctrl+shift+v —->粘贴
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