虽然都说buyvm便宜且稳定,其实我也很喜欢它,因为他有额外的storage存储来卖的,所以还是算比较靠谱的应用提供商,但我为什么要推荐budgetVM呢。并不是说他真的有多好,相反,我刚用一个月,就遇到了节点崩溃这样令人抓狂的事情。但是他们的服务也还行,所以我才推荐。
理由有2个吧。
1、配置高,价格低,这是其他VPS几乎没有的。
2、节点也算是有四个,虽然好象只有洛杉机的才会更快一点
但就第1个就够打死你了。2G内存的VPS,才16.99,linode在这点上就不如他,不过linode更胜在服务的多样性,比如对有限的硬盘还可以分区,而budgetVM就没有。
但是。。。便宜啊。我可以买一个Xen+一个openVZ用来做数据备份,也可以用来做负载均衡,多爽。一个坏了,还有一个。好吧,如果你觉得这样很痛苦我就没话说了。话说出来。人家一个Xen(1.5G)+一个openVZ(1G)的,才差不多和linode 512M的价格一致。
所以。。。
如果你要买 budgetVM,你可以点击:进入budgetVM
如果你要买 linode ,你可以尝试在年付的时候用这个推荐码,让我也可以有点小赚:f71609106c038d508a58c0a4222c8586fa5dd61b,如果你觉得记不住,你可以点击访问linode。
其实,我还用过一个小型的VPS,价格上比buyvm贵了一点,不过,我运行了一年,几乎没有挂掉过。那就是:
myvirpus,我首页上的burst(俗称84),不是特别推荐,超售很严重,因为我的一个节点,三天两头自动关机,为此我的PR从5降到了现在。。后来我几乎每天都要条件反射的上去看看程序是不是还在运行。NND,也就是从那时候起,我换成了linode。
折腾了很久,VPS又换成了apache,而不再使用lnmp。嗯,nginx确实不错,但我想,apache更容易配置,nginx相对来说配置起来还是有一点的麻烦。不如apache支持的多
比如,Svn就直接支持apache。当然这只是一个很不能说服人的理由,不过,我想配置服务器这玩意,还是怎么熟怎么来吧。
apache优化好了,也不见得就比nginx差到哪里去,当然插件是少了很多。忍忍了
这两封邮件来自linode,说实话,觉得linode真心不错。。
比如这一封:
We are currently aware of an issue with the host that your Linode resides on (tokyo49). This issue requires a reboot to resolve. We do apologize for any inconvenience this issue may cause. Your patience and understanding is greatly appreciated. Please do not hesitate to contact us if you have any questions or concerns.
然后过了将近10分钟左右 :
The host that your Linode resides on has been successfully rebooted. Your Linode will return to its last state shortly (running or powered off). There is no need to issue boot jobs for your Linode at this time. Thank you for your patience and understanding. Please feel free to update this ticket in the event that you have any additional questions or concerns about this matter.
于是,linode的管理邮件又自动发来:
Hello xxxxxxx! The following activity has recently occurred:
* linode??????- (7659786) Host initiated restart - Completed Wed, 16 May 2012 04:23:49 GMT
* linode?????- (7659950) Lassie initiated boot - Failed Wed, 16 May 2012 04:23:58 GMT
This is a new feature. You can change your notification settings via https://manager.linode.com/profile.
果然,这些功能是真心不错啊。如果以后有短信息发送就好了。
国内的VPS有哪个有类似功能的?不过国内我是不想用了,NND,备案备案,备死人的案。
突然收到一封邮件,来自linode。。
Your Linode, linode????, has exceeded the notification threshold (90) for CPU Usage by averaging 111.6% for the last 2 hours. The dashboard for this Linode is located at: <https://manager.linode.com/linodes/dashboard/????>
This is an automated message, please do not respond to this email. If you have questions, please open a support ticket.
You can view or change your alert thresholds under the "Settings" tab of the Linode Manager.
This is not meant as a warning or a representation that you are misusing your resources. We encourage you to modify the thresholds based on your own individual needs.
-----------
上去一看,果然:
现在开始怀疑,burst的服务器挂掉是不是也是因为这个原因。但,一点不通知也不应该啊。看LOG也看不出什么原因,真纠结啊
由于burst上面的虚拟机经常挂掉,然后我申请要退款,burst建议我换个OS或者Reinstall看看,我一咬牙,把VPS换到了linode上面,于是 把burst上面的VPS的OS换成了gentoo,结果我ssh上去之后习惯性的ls,居然告诉我命令不存在。我晶啊。
这下子玩大了。然后找了一下资料,emerge upgrade后,才有了这个命令,我傻眼了。想装B没装成,害惨自己了。
于是,找了下资料,参考:http://hi.baidu.com/chinsung/blog/item/3d21b6deee859f5dccbf1a51.html
1. 更新系统并移除孤立依赖的软件包
# emerge --update --deep --newuse world
# emerge --depclean
# revdep-rebuild (搜索相应缺失的库,并且重新emerge相应的包,需安装gentoolkit,并需运行两次以便确认)
2. emerge常用参数:
2.0 world | system, world范围更广,包含了system,这是两个set,前面不用加--或-
2.1 -p pretend 预览
2.2 -a ask 先予询问
2.3 -c clean 清理系统
2.4 -C unmerge 卸载,与emerge相反
2.5 --depclean 深度清理,移除与系统无关的包
2.6 -h help 帮助文件
2.7 -v verbose 详细内容
2.8 -s search 查找
2.9 -S searchdesc 从文件名和描述中查找,要慢一些
2.10 -u update 升级软件包
2.11 -D deep 计算整个系统的依赖关系
2.12 -e emptytree 清空依赖树,一般不用,危险命令
2.13 -1 oneshot 一次性安装,不将其信息加入系统目录树
2.14 -o onlydeps 只安装其依赖关系,而不安装软件本身
2.15 -t tree 显示其目录树信息
2.16 -k usepkg 使用二进制包
2.17 -K usepkgonly 只使用二进制包
2.18 -f fetchonly 仅下载安装包
2.19 --sync 从指定的rsync站点更新portage树,先前所作所有portage树更改均失效
2.20 -N newuse 使用新的USE FLAG,如有必要,需重新编译
2.21 -n noreplace 更新system,但先前安装的软件不予覆盖
3. 查找最快的mirror
# mirrorselect -s3 -b10 -o -D >> /etc/make.conf
此命令对每个mirror均下载100k文件,以此确定最快源,要注意修改/etc/make.conf
4. 系统升级
# emerge --sync 或 # emerge-webrsync (更新或称同步portage树)
# emerge --update --deep --newuse world
# emerge --depclean -pv
# revdep-rebuild (需安装gentoolkit)
如果使用emerge-webrsync命令进行升级,可先下载最新的portage(以日期命名,而不要用latest命名)至/var/tmp/emerge-webrsync/目录
5. 查看安装XXX的情况,同时列出了使用的 USE 和 LINGUAS
# emerge -pv XXX
6. 在world中增加记录,避免自己已手动编译的软件被再次编译
# emerge -n fcitx (添加fcitx至emerge tree)
7. 配置文件更新工具
# etc-update 或 # dispatch-conf
8. 查询XXX包用了什么USE(需gentoolkit)
# equery uses XXX
9. 找到 /bin/ls 所属包
# qfile /bin/ls
10. 列出 glibc 包所包含文件
# qlist glibc
11. /etc/portage/package.*应用举例
11.1 package.use
sys-apps/man-pages -nls sys-apps/pciutils -zlib media-libs/freetype bindist app-text/acroread linguas_zh_TW linguas_zh_CN linguas_en
作用:
不改变全局USE的同时,微调包的USE。 开始2个是说这2个包不使用相应的 USE,第三个说明要单独在这个包使用这个USE,最后一个是调整 LINGUAS 的,很容易明白。
11.2 package.keywords
sys-apps/hdparm ~x86
作用:
指定相应的包的 KEYWORDS。比如你想 hdparm 包用 ~x86 的版本,而不用 x86 的版本,就用这个来指定。 注意,因为 emerge 的设计,如果你的 make.conf 里边指定了 ~x86的话,你不能反过来通过指定 x86 而 不要 ~x86,只能用 -~x86 来达到目的。 引用 gentoo@freenode 上<kojiro>的话: ”ACCEPT_KEYWORDS is incremental“
11.3 package.mask
>sys-devel/libtool-1.5.23
作用:
屏蔽某个包某个版本,或者某些版本,甚至整个包。
比如 libtool-1.5.23b 在我的系统有问题,那么就屏蔽一下,只用 比 1.5.23 小的。
11.4 package.unmask
=net-www/apache-2.2.4 games-arcade/stepmania
和 mask 一样,不过效果正好相反。我要用 2.2.4 的 apache,但是 portage 把他 mask 了,所以手动 unmask 一下。
12. 往 default runlevel 里边加入 XXX 服务 (add)
# rc-update -a XXX default
13. 从 default runlevel 里边删除 XXX 服务 (delete)
# rc-update -d XXX default
14. 列出 default runlevel 所有的服务 (show)
# rc-update -s default
15. 删除过期的包
# eclean distfiles (请先 emerge gentoolkit)
16. 清除emerge过程中产生的临时文件
# rm -rf /var/tmp/portage/*
17. 清除所有安装源码包(除非太穷,否则不建议)
# rm -rf /usr/portage/distfiles/*
-------
不管它不管它,先备份,天知道以后会不会用,