由于本人语文向来不好,故文风也很飘逸~
我就知道我博客的搭建路程肯定不简单,所以一开始就设立了“造”这一分类。2010-2-18早上,dreamhost一份邮件:
Hello,
Your account has been disabled for violation of our Terms of Service.
Specifically, you were found to be using our services to resell proxies
to outside parties. All proxies are forbidden by the Terms of Service..
大致就是说我出售代理,违反TOS。其实我只是想卖ssh么。好了,所有的后台前台全部锁死,很诚恳的写了道歉、下次不再犯……人家不鸟我。5天之后再发了封,要回数据,人家直接关tickets。还好最主要的博客数据库是每天备份到gmail的,网站内容的备份虽然是1月份的,不过也无大碍,所以说我几乎没丢数据。
思前想后在2010-2-28买了ramhost的micro档的vps:内存128,Burst192,硬盘10g,流量150g,$4.99一月,季付。一个人用不起,我是穷人,现在是和@dionysusbb、@YaoFur两位合租的。
架构明显是用lnmp=linux+nginx+mysql+php,但是,我还是第一次玩,搭了3天吧。话说我第一次搭lamp还断断续续搭了7天呢~
系统选择的是centos 32位的。现在看起来,感觉噢,centos体积大又老态龙钟,不过稳定那是不用说的,学校里的服务器只要不断电就可以一直开着不重启的,除了当年cherokee跑的高负载下载站,泪喷啊。但是这是vps啊,不求什么稳定的,我每天都设置定时重启的,下次再装vps我会试用debian,有情调的话maybe会用gentoo~~至于32位64位,我只是128m的小vps唉,上面还要跑lnmp的唉,等用上256m的再考虑64位的吧。ramhost给的系统很干净,上去要先装openssh-server,yum的fastmirror纯属累赘,用不用就是差了几秒的差别,羡慕米国的网速啊。
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
#导入epel源
yum -y update
yum -y install openssh-server mlocate bash-completion vim-enhanced
之后的配置过程主要参照以下几处,排名分先后
- http://blog.s135.com/nginx_php_v5/ 等我装好了之后,第六版出来了http://blog.s135.com/nginx_php_v6/
- http://www.lnmp.org 嗯,lnmp0.3,我装好之后0.4出来了
- http://blog.s135.com/post/375/ 小内存128m上的优化
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel pcre-developenssl openssl-devel
#装以上这大坨我也不知道什么意思,大概是装个基础编译环境吧
之后调了一下ssh的安全,22端口换成别的端口,root禁止登陆,禁止空密码登陆。
本来想是用第三方源直接装php啊mysql啊,后来弄来弄去烦死,索性全部编译装。因为那已经是一个月前的事情了,具体编译注意事项都忘记了~
mysql没编译InnoDB,据说这个很吃内存。my.cnf也没怎么调,因为mysql怎么来内存就9m不到。
php就是比较纠结的了。当时两个教程里都是5.2.10,但最新版是5.2.13,可是php-fpm的patch版本似乎还没更新到,我就装了个5.2.12。按我理解一切正常的tar zxvf,patch,./configure,make && make install,之后发现,php-fpm似乎没打上去,删掉,重打,再试,还是不行。怒,5.2.10,都可以了,结果一个php装了好久好久。
再装什么php加速啊缓存啊什么的。eAccelerator配置里面,我把
eaccelerator.cache_dir=”/dev/shm”
只是感觉,我啊不知道这么做的利弊,可能影响不大吧。
还有php-cgi,我只敢开两个,一个内存到时候就能到近30m,我怎么承受的起啊。设置了一个cron,每小时php-fpm restart。内存稍微收敛一点,说是128m,burst192,总不能一直burst在140吧…。
最后装的是nginx,折腾过php的编译,装nginx简直是轻松加愉快啊。编译的时候抄了这里最后一段configure,装好之后用了这里的控制脚本。
至此,lnmp算是基本搭好了。博客放上去,wordpress的rewrite用的是这儿的这段,
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
301重定向用了这段
if ($host != ‘ssssp.net’){
rewrite ^/(.*)$ https://ssssp.net/$1 permanent;
}
我对正则表达式没概念,只会抄,不会改…
开始一段时间wordpress的一个自动备份数据库的插件发不出邮件,于是自己写了一个类似于备份脚本的东西,感觉这东西拿出来会被人笑的,不过还是拿出来吧~
cd /dev/shm/
mkdir mysql
mkdir send
suffix=$(date +%F-%T)
mysqldump –opt -u数据库用户名 -p数据库密码 数据库名 > mysql/数据库名.$suffix.sql
tar zcf send/数据库名.$suffix.tar.gz mysql/数据库名.$suffix.sql
echo “backup database at $suffix” | mutt 自己邮箱 -a /dev/shm/send/数据库名.$suffix.tar.gz -s”$suffix 数据库名 database backup”
echo “backup 数据库名 database ok”
rm -rf mysql send
抄抄改改修修弄弄,crontab里面定时在4点钟运行,不错,能用就好。结果前几天发现,那个wordpress备份插件发不来邮件是因为没装sendmail。装好sendmail,内存又饱了一点,纠结唉。
扯蛋扯完了,有{认识我&需要ssh}的吱一声,具体干嘛用怎么用,自行放狗找~
之后的折腾估计是折腾博客的静态化,不用vps不知动态占内存啊。
《“dreamhost轰人,初玩vps(ramhost)”》 有 4 条评论
不过,感觉还是linode的比较好。国人很多都是换来换去的,最后都是到了linode,或者MT!
[回复]
xufan6 回复:
7月 13th, 2010 at 22:40
贵啊,,,
像我这种没有多少收入的学生只能先这样了。。。
[回复]
vowanson 回复:
7月 14th, 2010 at 06:21
呵呵。。看你自己的努力啦。我以前有同学就是租用独立服务器了。不要说什么linode了。
[回复]
xufan6 回复:
7月 14th, 2010 at 09:19
那倒也是
经济独立才是王道~
[回复]