服务器上域名无法解析

故障

1台服务器上,访问外网域名无法被解析,查过网卡配置、域名服务器配置都没错误

排查

最后发现是nsswitch.conf设置的问题

解决

vim /etc/nsswitch.conf
这里dns被注释了
hosts: files #dns
将#dns的#删除,OK了

more ...

ssh 连接故障排除

一、ssh 连接时出现异常

ssh_exchange_identification: Connection closed by remote host

解决办法

  • 1、目标计算机变更,把用户主目录下的.ssh/删除或对应条目删除
  • 2、修改/etc/hosts.allow文件,加入 sshd:ALL

二、ssh连接时好慢好慢:

在client登录时,使用-v选项,可以看到具体的错问题的地方

解决办法

修改服务器上的配置: - 1、/etc/hosts文件中把连入端的ip和hostname加入 - 2、/etc/ssh/sshd_config文件中修改或加入UseDNS=no - 3、/etc/ssh/sshd_config文件中修改GSSAPIAuthentication no - 4、重启sshd: /etc/init.d/sshd restart

more ...

服务器上调用人人API出现404

现象

从日志上看到,服务器上调用人人API出现404(大约20-30次调用,会出现1次404):

<html><br />
<head></head><br />
<body bgcolor="white"><br />
<center><br />
<h1>404 Not Found</h1>
<p></center></p>
<hr /><center>nginx/0.8.53</center><br />
</body><br />
</html><br />

排查

  • 咨询人人技术人员,说是不会返回404页面
  • 故意输入错误的页面地址,返回的信息是tomcat的(Apache Tomcat/6.0.32)
  • 开始抓包测试,发觉出现404的时候,没有向人人API发包,直接返回了 ...
more ...

一次HTTP POST请求抓包

就是想看看一次HTTP POST请求消耗的带宽
一次HTTP POST请求,数据(空数据):

1   0.000000    192.168.1.33    192.168.1.133   TCP 74  40597 > http [SYN] Seq=0 Win=5840 Len=0 MSS=1460 SACK_PERM=1 TSval=53302394 TSecr=0 WS=128
2   0.008753    192.168.1.133   192.168.1.33    TCP ...
more ...

网站80端口被拦截强制301转127.0.0.1

现象

网站出现服务异常的问题,具体表现:

1、访问80端口的HTTP请求,页面被拦截篡改了,都转到127.0.0.1
2、其它端口的服务都正常

排查

1、服务端启动测试用程序

# python mini_websrv.py (bind 80)
import tornado.ioloop
import tornado.web
import tornado.autoreload

class MainHandler(tornado.web.RequestHandler):
  def head(self, *args, **kwargs):
    msg = "HEAD OK, %s" % self.request.remote_ip
    print msg
    self.write ...
more ...

通过VNC远程安装CentOS 6

由于CentOS 5.6不能升级到CentOS 6,所以打算远程全新安装。对于没安装IP KVM的托管服务器,使用vnc是不错的方案。

一、客户机准备工作

  1. 安装vnc客户端
sudo yum install tigervnc
  1. vnc客户端监听
vncviewer –listen

默认端口是5500,如果你的客户机是在路由后面,需要做端口映射

二、服务器准备工作

  1. 下载PXE启动文件
cd /boot/
wget http://mirrors.163.com/centos/6.0/os/x86_64/images/pxeboot/vmlinuz
wget http://mirrors.163.com/centos/6.0/os/x86_64/images ...
more ...

查看mysql的运行状况

一、查看bin log

mysqlbinlog log-files,例如

$ mysqlbinlog mysql-bin.000001

二、查看slow log

mysqldumpslow LOGS,例如

$ mysqldumpslow demo-PC-slow.log

三、mysql中显示进程

-- 前100条
show processlist;
-- 全部
show full processlist;

四、获取锁等待情况

1、通过检查table_locks_waited和table_locks_immediate的状态变量来分析系统上表锁定情况:
mysql> show status like ‘Table%’;
2、通过检查Innodb_row_lock的状态变量来分析系统上行锁情况:
`mysql> show status like ‘innodb_row_lock%’;
3、针对Innodb类型的表,可以设置InnoDB Monitors,然后通过SHOW ENGINE INNODB ...

more ...

DNS故障与解决

有时候网站不能访问,是国内的DNS出了问题(有些是故意的,必须的) 域名查询

nslookup domain DNS
dig @DNS A domain
一些DNS:
8.8.8.8
8.8.4.4
4.2.2.1
4.2.2.2
202.45.84.58
208.67.222.222
208.67.220.220

查询域名是否被污染

for ((i=0;i<1000;i++)); do nslookup ...
more ...

ruby安装mysql2插件出错

ruby1.92安装mysql2插件出错,mysql是5.5.11

提示:
cannot find -lprobes_mysql

解决:
禁用mysql的DTRACE 重新编译mysql,cmake 选项加上 -DENABLE_DTRACE=OFF

more ...

修改Fedora 15自带Nautilus的删除快捷键

Fedora 15自带的Nautilus,删除的快捷键改成ctrl+del了,使用有些不习惯

修改方法
1、启用允许修改,终端中执行:

gsettings set org.gnome.desktop.interface can-change-accels true

2、启动Nautilus,选中一个文件,点Edit菜单,移到鼠标指针到“Move to Trash”上,按2下del按键
第一次是清除旧的快捷键,第二次是设置新的快捷键

3、禁用修改,终端中执行:

gsettings set org.gnome.desktop.interface can-change-accels false
more ...