Archive

Posts Tagged ‘hosting’

Linode优化LAMP配置

September 1st, 2009 Wei 7 comments

我的网站在经过2周左右的测试后,正式决定搬家到Linode。受经济和访问量等因素的综合考虑,我选择了最便宜的VPS方案(Linode 360:360MB内存,16GB存储空间,200GB月流量)。

操作系统上,我选择了Debian 5.0 (Lenny) 64bit。原因是Debian和我常用的Debian/Ubuntu系统最为贴近,安装、配置、管理都比较得心应手。至于64bit和32bit,简单一句话就是,64bit应用会相对更快一些,但也占用了更多的内存(例如一个int在32bit系统中占用4bytes,而在64bit系统中则占用8bytes)。

与很多采用Linode 360方案的人不太一样,我并没有使用传说更加高效的NgineX,而是使用了比较传统的LAMP结构。这样的代价是对于内存的消耗更加苛刻,而优点则是更加传统、经典、久经考验的Apache方案。

正是基于这些原因,我经过大约2周时间的调试,总结出针对我的个人网站来说比较合理的配置方案。

首先是Apache的配置(/etc/apache2/apache2.conf):

KeepAlive                On
MaxkeepAliveRequest      20
MaxKeepAliveTimeOut      25

<IfModule mpm_prefork_module>
    ServerLimit          30
    StartServers          3
    MinSpareServers       3
    MaxSpareServers       7
    MaxClients           20
    MaxRequestsPerChild 500
</IfModule>

接下来是PHP的配置(/etc/php5/apache2/php.ini):

max_execution_time = 180
max_input_time = 60
memory_limit = 64M
error_reporting  = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
register_globals = Off

最后是MySQL的配置(/etc/mysql/my.conf):

key_buffer              = 16K
max_allowed_packet      = 3M
thread_stack            = 64K
thread_cache_size       = 8
table_cache             = 3
query_cache_limit       = 1M
query_cache_size        = 16M
#skip-innodb

经过上述配置,在我的网站上,剩余物理内存空间基本能达到100MB左右,即使是峰值流量,也基本不会出现OOM了。

迁移至Linode VPS

August 14th, 2009 Wei 5 comments

考虑再三,终于还是决定把主机迁移到Linode VPS了。

什么是VPS呢?Virtual Private Server,简单说就是虚拟机,与之类似的概念可以提到Hyper-V、VMWare等等。VPS利用虚拟机技术,在一台物理主机上安装多个虚拟主机。每个VPS主机都相当于独立的操作系统,与像Dedicated Hosting一样。

VPS(Unmanaged Virtual Private Server)与Shared Hosting的相比:

  1. VPS的资源是独立的,分配给你100MB内存,这些内存就是你的,别人抢不走
  2. 虚拟机操作系统上只有你一个人使用,拥有root权限,想装什么都装什么,想怎么tuning,就怎么tuning
  3. 可以安装多种操作系统,从Fedora到Ubuntu,再到CentOS。玩儿腻了,重装一个就行。

而与Dedicated Hosting相比,最大的优点就是价格了。Dedicated Hosting动辄就是每月上百甚至几百美元的费用,对于一般的用户来说,也是承受不起的。再者,Dedicated Hosting提供的硬件配置,一般也是用不到的。

当然VPS的独立操作系统既是它的优点,也是它很大的缺点。系统是独立的,你需要自己安装软件,自己配置,自己做performance tuning。对于Linux操作系统的能力还有有一定要求的。

这样,基于种种这些原因。VPS就浮现到我的迁移计划中。经过反复的比较,终于在SliceHost、fcksvps和Linode之中选中了Linode。其实SliceHost和Linode口碑都是非常不错的,唯一的缺点是SliceHost的机房到中国的速度比较低,而Linode这个老牌的VPS服务提供商,有全美4个机房的选择。我则选择了号称最快的Fremont, CA, USA机房。

我选择了Linode VPS最便宜的方案:RAM 360MB,Storage 16GB,Bandwidth 200GB,基于Xen的虚拟机技术。配置不高,而对我这样一个小的网站来说,很合适了。与超售严重、资源要求苛刻的Shared Hosting来说,这个配置是非常值得的。

在操作系统上,我选择了Ubuntu 9.04 64bit。在经过1~2个网站迁移后的试用之后,觉得正式全部迁移过来。

在目前的配置上,我使用了Apache2、MySQL、PHP5。具体配置如下:

Apache:

KeepAlive                 On
MaxKeepAliveRequest       20
KeepAliveTimeOut           5
<IfModule mpm_prefork_module>
    StartServers           5
    MinSpareServers        3
    MaxSpareServers       10
    MaxClients            25
    MaxRequestsPerChild  500
</IfModule>

PHP:

memory_limit = 64M

本来为了内存设置,想设置memory_limit=16M,可设置为16M、24M和32M,WordPress不是显示有问题(白屏),就是不能升级。权衡一下,还是保留了64M。

MySQL:

key_buffer             = 16K
max_allowed_packet     = 3M
thread_stack           = 64K
thread_cache_size      = 8
table_cache            = 3
#skip-innodb

在如上配置情况下,内存占用是这样的:

.            total       used       free     shared    buffers     cached
Mem:           360        355          4          0          1         27
-/+ buffers/cache:        326         33
Swap:          255        129        126

从配置和性能上看,剩余物理内存只有33M,这时的SSH也会变慢。如果准备在VPS上host较多的网站,还是采用高一级别(540M)的配置比较好,或是使用高性能、轻量级的web服务器(比如nginX或Lighttpd)。Linode支持升级,无论是单一的内存、流量、磁盘,还是统一的level升级,都可以做。而这些只需要在后台即可完成。

如果你也对Linode VPS感兴趣。可以通过下面链接申请(链接带有推荐代码):

http://www.linode.com/?r=d399a85050ef9caca9080683c2b2249dd45454f6

Categories: Uncategorized Tags: , , , ,

美国人的服务咋这么晕呢

February 5th, 2009 Wei 1 comment

这次是域名服务,我的blog host在国外的主机上,因为之前服务上的一些变化,导致我在服务商帐户上留有$37的余款。他们不给refund,只给credit。这次正好赶上域名快过期了,想着这30多美元放着也是放着,不如把域名续了。可上次注册第二个域名的时候,他们直接从我的信用卡扣款了。为了保险起见,我给他们的billing部门发了邮件,询问这件事儿:

I have a domain name registered within current account. Could I pay for the extension of the domain name (2 yrs) using the credit in my account pool instead of charging from my credit card? Last time when I was extending the domain name, there seams not any step asking me to select from account balance or credit card and charged from my credit card by default. I don’t want to use my credit card this time.

他们客服人员给我的回复是:

Thank you for writing. Credits on account can be used for any of our provided service such as hosting renewal, upgrade or installation charges. They can not be used for non-Site5 provided services such as domain registrations, renewals or transfers (domain registration services are provided by Enom.com).

我一想,反正还有好几个月到期呢,既然不能用credit付域名的钱,那就算了。结果今天突然又想,反正早晚也得付。就直接点了“Extend Service”按钮,billing系统提示will charge from credit card,我已经知道了,就点了OK。结果知道发生了什么事儿吗?

支付过程瞬间就结束,而不是通过信用卡付款那种漫长的授权过程。在我还感叹“花钱可真容易”的时候,突然间发现我的帐户余额变了,从$30多变成了$10多。再查看billing history,只有invoice记录,而没有信用卡funding记录。貌似看起来,他们直接charge了我的帐户余额。

挺好,反正正愁花不出去呢。剩下的钱,正好还够2年域名费的。

Categories: diary Tags: , , , ,

主机空间成功迁移和升级

August 3rd, 2008 Wei No comments

自动独立域名以来,我一直使用Site5提供的主机空间。当时是$5 Deal的销售方案,2年过去了,Site5提供的空间方案也有所升级,主机配置也有所增加。还有大约半年时间,第一期合同就到期了,正好趁此机会将空间升级一下。

目前新的空间方案是这样的:

Feature Detail
Disk Space Unlimited
Bandwidth Unlimited
Ruby on Rails Supported
Technology Support 24×7
Domain Pointer Unlimited
Domain Parking Supported
Subdomains Supported
Email Supported
cPanel Supported
SSH Access Supported
FTP Access Supported w/ unlimited accounts
Fantastico Supported
PHP4 & 5 Supported
Perl 5.8+ Supported w/Free Module Installation
Python 2.2 Supported
GD Supported
ImageMagick 5+ Supported
MySQL 4 Unlimited w/ phpMyAdmin
CPU Intel(R) Xeon(R) CPU E5405 @ 2.00GHz (4cores *2)
Memory 4GB
Uptime Guarantee 99.9%

总体来说在这个价格上,这样的服务已经非常不错了。不过contract需要5年(60个月)才能享受到这个价格。

目前,2个blog都已经迁移过来的,其中一个需要从Wordpress 2.1升级到2.6,但DNS更新仍需要时间。Wiki和另一个主域名环境,暂时仍然需要Technology Support迁移到新系统中,所以仍然需要时间。

Categories: diary Tags: , , , , , ,

Site5的空间不稳定?

February 2nd, 2007 Wei 2 comments

不太清楚是为什么?

有的时候,主页(http://www.weigblog.com/)可以访问,但下级页面(比如:http://www.weigblog.com/2007/02/02/site-5-space-stable.html)访问不了。

给Site5 Submit一个ticket。还没等他回复我呢,就好了。这事儿居然还不稳定。怪异~~~等几天看看吧

Update 20:07 (UTC+800) :与Site5的空间提供商联系了。他们检查后说,他们的服务器没有问题,他们也没有出现我这里的问题。说是我网络的问题。唉,暂且先算是海缆造成的吧。

Categories: network Tags: , ,