在Mac上使用ssh-key免密码登录服务器

通常来说,我们使用 ssh user@host -p port,再输入密码,才能 ssh 到服务器进行管理。人类与动物的区别在于人会使用工具。所以我们要利用一些工具来简化我们的操作。

好在 Unix 系的操作系统提供了各种 ssh 支持。我们得以实现偷懒的目的。

先假设我们有一台服务器,主机名 testhost,ip 为 8.8.8.8,账号为 foo,密码为 bar,ssh 端口为 2222。一般的连接方式是:

$ ssh foo@8.8.8.8 -p 2222
password: bar

不仅很麻烦,还要记忆 IP 和端口,当我们有很多台服务器的时候,一定会疯掉!现在,我们来简化操作。

继续阅读

php-fpm 崩溃后处理记录

1. 重启 VPS

reboot

2. 启动 Nginx

service nginx start
Starting nginx... Enter PEM pass phrase:done

3. 启动nginx后发现依然无法访问网站,查看 nginx 错误日志,发现如下错误:

2014/12/01 22:48:54 [crit] 774#0: *1 connect() to unix:/tmp/php-cgi.sock failed (2: No such file or directory) while connecting to upstream, client: 183.14.85.153, server: xxx.com, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "xxx.com"

4. 启动php-fpm

/etc/init.d/php-fpm start

5. php 已启动,网站正常了。

Mysql日志过大导致磁盘被占满

前几天一个网站突然挂掉了,以下是定位和解决问题的过程。

  1. 提示 MySql 无法链接
  2. 尝试重启,重启成功,依然不能访问,提示 502
  3. 尝试修改 Nginx 配置,提示无法保存,磁盘已满
  4. 去 VPS 后台查看,磁盘果然满了
  5. 使用 du -sh /* 一步一步定位大文件位置,发现是 MySql 日志文件
  6. 进入 MySql 控制台 /usr/local/mysql/bin/mysql -u root -p
  7. 清除 MySql 日志 reset master;
  8. 修改 MySql 配置文件,设置不保留日志。日志一般是用来做主从库用的,对于普通VPS用户来说一般不需要保存。在 /etc/my.cnf 中将 log-bin=mysql-bin 这行注释掉即可。
  9. 重启系统

如果不是因为是 VPS 只有 10G 硬盘应该不会发现这个问题,屌丝也有屌丝的好处。