主机
你的PHP应用已经开发好了? 那么恭喜你!
不过,现在还没什么用,因为用户无法使用。你要把应用
存储到服务器中,让预期受众能访问。一般来说,存储PHP应用有四种方式:共享服务
器、虚拟私有服务器、专用服务器和平台即服务。每种方式都有自己的优点,都有适用
的应用类型和一定的预算。
而且主机商也有很多,如果你刚接触Web主机领域,要考虑的事情有很多。有些主机商
只提供共享服务器,有些主机商除此之外还提供虚拟私有服务器和专用服务器。本章不
会过多讨论主机商,我们要重点讨论的是主机方案。
共享服务器
共享服务器是最便宜的主机方案,每月1~10美元。我们不应该选择共享主机方案。我
这么说不是因为我对共享主机提供商的服务质量或客户支持有意见,好的共享主机提供
商有很多。我这么说只是因为共享主机方案对开发者不友好。
如其名所示,共享服务器意味着要和其他人共享服务器资源。如果选择购买共享主机
你的主机账户会与很多其他顾客的账户在同一个物理设备中。假如你使用的设备有2GB
内存,那么你的PHP应用或许只能使用全部内存的一小部分,具体是多少取决于这台设
备中有多少账户。如果同一台设备中的其他账户运行一个编写抽劣的脚本,会对你的应
用产生负面影响。有些共享主机提供商会超卖共享服务器,导致你的PHP应用始终要在
拥挤的设备中争夺系统资源。
而且,共享主机还很难定制。例如,你的应用可能需要使用 Memcached(http://
memcached. org)或 Redis(http:// redis. io)在内存中缓存;可能想安装 Elasticsearch
(http:// www.elasticsearch. org),为应用添加搜索功能。可是,共享服务器使用的软件
难以定制(可能根本无法定制),最终受影响的是你的应用。
共享服务器很少提供远程SHH访问功能,通常只能使用(SFTP访问。这个缺陷有严重的限制,妨
碍了我们自动部署PHP应用。
如果预算非常少,或者需求很简单,共享服务器也许够用了。然而,如果你开发的是商
业网站或较受欢迎的PHP应用,最好使用虚拟私有服务器、专用服务器或PaaS。
虚拟私有服务器
虚拟私有服务器( Virtual Private Server,VPS)看起来、感觉起来以及表现都像是裸机
服务器,但其实不是裸机服务器。VPS由一系列系统资源组成,分布在一台或多台物理
设备中,不过仍有自己的文件系统、根用户、系统进程和P地址。VPS的内存、CPU和
带宽是固定的,而且都只属于你一个人。
VPS的系统资源比共享服务器多,会提供根SSH访问功能,而且不限制能安装什么软
件。不过,功能强意味着责任大。VPS会提供根权限,让你访间底层操作系统。我们要
根据PHP应用的需求,自己动手配置和保护操作系统。对大多数PHP应用来说,VPS是
最好的选择。VPS提供了足够的系统资源(例如,CPU、内存和硬盘空间),而且能按
需增减。VPS毎月需要10~100美元,具体多少取决于PHP应用所需的系统资源量,如
果你的PHP应用特别受欢迎(每月有几十万访向量),觉得VPS太贵,或许应该考虑升
级,使用专用服务器。
建议:我几乎都使用VPS,因为VPS能在费用、功能和灵活性之间平衡。我最喜的主机商是 Linode
(htps: Hinode. com),它提供有VPS和专用主机方案。 Linode虽然不是最便宜的,但是根
据我的经验, Lindel的主机速度快且稳定,而且提供了很多有用的教程。
专用服务器
专用服务器是机架式设备,由主机商代你安装、运行和维护。我们可以根据自己制定的
规格配置专用服务器。专用服务器是真实的设备,必须搬运、安装和监控,设置和配
置的速度没有VPS快。话虽如此,但是专用服务器能为要求高的PHP应用提供最好的性能。
专用服务器和VPS非常类似,有根权限,能通过SSH访问底层操作系统,而且必须根
PHP应用的需求保护和配置操作系统。专用服务器的优点是成本效益高。随者所需的系
统资源越来越多,最终你会觉得VPS太贵,而自己投资基础设施能省钱。
专用服务器每月要花几百美元,具体多少取决于服务器的规格。我们可以托管专用服务
器(额外付钱给主机商,让它们管理服务器),也可以不托管(自己管理服务器)。
PaaS
使用平台即服务( Platforms as a Service,PaaS)能快速发布PHP应用。与虚拟私有服
务器和专用服务器不同,我们无需管理PaaS。我们要做的只是登录PaaS提供商的控制面
板,单击几个按钮。有些PaaS提供商会提供命令行工具或HTTP API,让我们部署和管理
存储的PHP应用。流行的 PHP Paas:提供商有
-
Appfog(https://appfog.com/)
-
AwsElasticBeanstalk(http://aws.amazon.com/elasticbeanstalk/)
-
EngineYard(https://www.engineyard.com/products/cloud)
-
Fortrabbit(http://fortrabbit.com/)
-
GoogleAppEngine(http://bit.ly/g-app-engine)
-
MicrosoftAzure(http://www.wvindowsazure.com/)
-
PagodaBox(https://pagodabox.com/)
-
RedHatOpenshift(http://openshift.com/)
-
ZendDeveloperCloud(http://bit/y/z-dev-cloud)
各个PaaS提供商的价格有所不同,不过与虚拟私有服务器差不多:美元10~-100美元
我们要为PHP应用使用的系统资源买单。系统资源可以按需增减。我推荐不想自己管理
服务器的开发者使用PaS主机方案。
选择主机方案
我们要根据自己的需求选择合适的主机方案。任何时候,只要需要都可以升级或降级主
机基础设施。对小型的PHP应用或原型来说,PaaS提供商(例如 Engine Yard 或 Heroku)
或许是最好最省事的方案。如果想更多地控制服务器的配置,那就使用VPS。如果应用
特别受欢迎,VPS被几百万的访向量击垮了,那就换用专用服务器。不管选择哪种主
机方案,都要保证主机中有最新稳定版PHP,以及PHP应用所需的扩展。
来源: Modern PHP