更便捷的使用SSH

手头上的廉价VPS挺多的,大多数是购买的LES的NAT VPS用来开SS服务的(美国、德国、日本、荷兰),这样一来管理就比较麻烦,当然在windows客户端可以利用SecureCRT 或者xShell来保存各个服务器的登录信息,但是在linux端呢,可能会敲这样的命令:

或者使用rsync进行网站备份的时候,会有这样的命令:

在两台主机利用ssh key建立信任关系之后,就可以免去输入密码的烦恼,ssh客户端全局配置文件中的默认私钥的路径是~/.ssh/identity 或 ~/.ssh/id_rsa 或~/.ssh/id_dsa,倘若我们想自己指定密钥需呀加上-i /path/of/your/private_key 这个参数。在rsync中,我如果这样写:

会得到错误的提示,对比上一条命令,差别仅仅将ssh命令两端的单引号去掉,去掉后,就会误认为-p -i这个两个选项是传递给rsync的参数,这样当然会报错。

上面扯了这么多,还没进入主题,看下面:

在man ssh_config后,我们发现,家目录下~/.ssh/config是用来保存个人ssh客户端配置文件的,有这样几个参数可写:

这样一来前面的两条命令就可以分别简化成这样啦:

瞬间简洁了好多,并且可以在~/.ssh/config文件里继续追加不同服务器的配置信息。

设置VIM的配色

哈,儿童节快乐~

VIM是Linux下非常优秀的编辑软件,不过系统默认是VI,而VIM是VI的增强版本,所以赶紧升级到VIM吧,如果还是习惯VI的命令,那就在/etc/profile下alias vi=vim吧,但是默认的VIM环境配色让我觉得很刺眼,好不舒服,所以决定换一下配色,先来秀一下我的配色吧。

vim

我的配色方法来自这儿,喜欢的也可以下载哦,当然也可以在网上找寻自己喜欢的哦。

https://github.com/Lokaltog/vim-distinguished

具体方法:

1、将下载下来的distinguished.vim文件放置到的/usr/share/vim/vim72/colors目录下;

2、设置/etc/vimrc文件,在文件的尾部加入colorscheme distinguished;通常我的配置文件是这样的:

3、由于这个VIM配色是256色的,所以在/etc/profile文件尾部加入这么一段判断语句:

如果不想重新打开终端的话,记得source /etc/profile哦。

php-eaccelerator问题

在centos上部署web server(nginx+php-fpm+mysql)时候,修改好相关参数,放上一个php探针看一下配置环境,结果浏览器返回结果是50x.html,查看nginx的log,发现这样一条错误信息“recv() failed (104: Connection reset by peer) while reading response header from upstream”,看来是php的问题,于是乎查看php-fpm的error日志,也没发现异常,接着在php-fpm的配置文件加上“catch_workers_output = yes”来详细获得FastCGI的stdout和stderr信息到日志文件,重启php-fpm进程,再次打开网页后,捕获日志,得到这样一条“WARNING: [pool www] child 8520 said into stderr: “] [notice] EACCELERATOR(8520): PHP crashed on opline”,看来是出在php-eaccelerator这个扩展上,于是yum -e php-eaccelerator卸载之,重启php-fpm进程,这下都正常了!

但是为什么呢?因为php-eaccelerator我是在EPEL源内直接YUM安装的,按照官方文档,我不需要做任何的配置的,就可以使用。谁能告诉我?

phpmyadmin登陆无效解决办法

昨天在VPS上安装nginx+php+mysql,系统是64位的CenOS 6.5,采用epel源,YUM安装,由于VPS内存太小,CPU不给力,如果完全编译的话估计要被suspended,编译安装除了得到最新版本的话,如果不做任何内核优化,其他真没啥好的。所以呢,我就直接YUM安装了,省事,还快!

一切都很顺利,安装完毕修改好对应的配置文件后,php-fpm默认使用apache用户运行,nginx默认使用niginx用户运行,在配置网站目录的时候,首先要做的是更改目录的owner,那就配置网站目录的拥有者为nginx这个用户吧。接下来就是更改php-fpm的运行用户,在其配置文件中改成nginx,这样重启nginx以及php-fpm应该就可以了,phpmyadmin作为优秀的mysql管理软件,成为web服务器的必备神器,wget安装后,更改其目录权限,发现登陆不上去,页面没有任何提示,也不跳转,还是停留在登陆界面,奇怪了,查询log没有任何异常呀!然而当我将php-fpm运行用户改回apache后,phpmyadmin又能够正常登陆了,啥原因呢?

原来是权限的原因,php安装好后,会默认生成/var/lib/php/session/这一目录,其权限为665,拥有者为root:apache,那我现在将拥有者改成root:nginx就OK了~这样就顺利登陆phpmyadmin了。

使用CloudFlare来反相代理LES

逛了逛LES(LowEndSpirit)的论坛,发现有人使用CloudFlare的CDN加速来实现ipv6-ipv4的反向代理,相比使用ticket给管理员(那个管理员的名字貌似叫Anthony)来绑定每个域名要方便很多,具体的方法可以见这边:http://forum.lowendspirit.com/viewtopic.php?id=441

这样一来直接让CloudFlare的NameServer来解析自己的域名(绑定LES的ipv6地址),可以随心所欲的添加想要的域名或者是二级域名,然后在web server上监听ipv6地址就OK了,而且使用CloudFlare还可以加速一下网站,我购买的是荷兰节点,貌似速度不是很给力。

64MB的内存能不能跑LNMP服务呢?答案是可以的,只是要优化一下各个配置文件而已,看看我的内存使用情况:

3欧元每年的VPS用起来还不错哦,屌丝必备,哈哈!

买过最便宜的VPS

暑假的时候,看到一款超级便宜的VPS(lowendspirit.com),年付才3欧,算成人民币也就24块左右,确实是很便宜,这家的VPS隶属于inceptionhosting.com,据说这家公司还是挺不错的。这个年付24元的VPS的配置如下:

1 CPU Core
128mb Ram
2GB SSD Disk Space
500 GB Transfer
5 x IPv6
1 x NAT IPv4

其中不爽的是没有独立的IPv4地址,所以当时就用它架设了一个基于IPv6的openvpn给我同学用(他学校有IPv6的环境),今天突然想起来,就再来研究一下NAT吧,之前我都是通过IPv6代理来SSH到该VPS进行操作的,其实可以通过IPv4直接SSH到主机,方法有二,如下:

1、在Control Panel下获得Serial Console的IP和用户及密码,在本地SSH软件进行登录操作,这个相对简单。

2、获得公共IPv4地址,随意traceroute一个地址,例如traceroute google.com,在第一行会发现IP,可能是*.*.*.107,或者*.*.*.25,或者*.*.*.235,分别对应英国、荷兰、意大利三个节点,那这样只要将这些节点IP的最后一串变成*.*.*.108,*.*.*.24,*.*.*.139就是对应各地区服务器的IP了。

通过第二种方法可以得到NAT地址,获得这样的地址后,就大有用处了,按照规则,私有IP的最后一串字符加上01~20就是对应的端口,比如说分配的私有IP地址为192.168.1.88,那么该IP可以NAT的端口就是8801,8802-8820,一共20个端口。所以下面就可以基于这样映射端口以及公用IP,来架设基于IPv4的openvpn,当然也可以用分配的端口替换默认SSH的22端口,从而可以基于IPv4来SSH管理主机了。

如果想要使用web服务的话,可以自己随意指定一个端口,在访问的网站的时候,将该端口加上就行,但是确实有点麻烦了。所以这时候就需要在client area提交ticket,不过在此之前要将自己的域名A记录到公用IP上,然后ticket说明自己已经将DNS的A记录做好,并要求给以reverse proxy。这样一来,就不需要在访问网站的时候附上端口号了,这里面的原理官网上有说明:

When an internet user attempts to reach example.com a DNS lookup will be done and they will be told that example.com lives at 1.2.3.4. The request will then be made by the internet user’s browser. This request will contain the header example.com. When the request reaches our reverse proxy it will forward that request on to your servers private IPv4 address e.g. 192.168.0.10 which will then serve the information or website requested.

不过64MB内存确实有点小,跑个lnmp还是挺吃力的,不过玩玩vpn还是够用了,主要是便宜嘛。
购买地址在这儿:https://clients.inceptionhosting.com/cart.php?gid=13