如何为Web应用选择托管主机
PHP应用开发好了?恭喜你!不过,现在还没什么用,因为用户无法使用。你要把应用存储到服务器中,让预期受众能访问。
一般来说,存储PHP应用有四种方式:共享服务器、虚拟私有服务器、专用服务器和平台即服务。每种方式都有自己的优
点,都有适用的应用类型和一定的预算。
而且主机商也有很多, 如果你刚接触Web主机领域, 要考虑的事情有很多 。 有些主机商只提供共享服务器, 有些主机
商除此之外还提供虚拟私有服务器和专用服务器 。 本章不会过多讨论主机商, 我们要重点讨论的是主机方案。
共享服务器
共享服务器是最便宜的主机方案,每月1 - 10美元。我们不应该选择共享主机方案。我这么说不是因为我对共享主机提
供商的服务质量或客户支持有意见, 好的共享主机提供商有很多。 我这么说只是因为共享主机方案对开发者不友好。
如其名所示, 共享服务器意味着要和其他人共事服务器资源 。 如果选择购买共享主机, 你的主机账户会与很多其他顾
客的照 户在同一-个物理设备中 。 假如你使用的设备有2G B 内存, 那么你的PHP应用或许只能使用全部内存的一小部
分, 具体是多少取决子这台设备中有多少账户。 如果同一台设备中的其他照户运行一个编写拙劣的脚本, 会对你的应用
产生负面影响 。 有些共享主机提供商会超卖共享服务器, 导致你的PHP应用始终要在拥挤的设备中争夺系统资源。
而且,共享主机还很难定制。例如,你的应用可能需要使用Memcached或Redis在内存中缓存;可能想安装Elasticsearch,
为应用添加搜索功能。可是,共享服务器使用的软件难以定制(可能根本无法定制) ,最终受影响的是你的应用。
共享服务器很少提供远程SHH访问功能, 通常只能使用FTP访问 。 这个缺陷有严重的限制, 妨碍了我们自动部署PHP应用。
如果预算非常少,或者需求很简单,共享服务器也许够用了。然而,如果你开发的是商业网站或较受欢迎的PHP应用,最好使
用虚拟私有服务器、专用服务器或PaaS。
虚拟私有服务器
虚拟私有服务器(virtual Private Server, VPS)看起来、感觉起来以及表现都像是裸机服务器, 但其实不是裸机服务器。
vPs由一系列系统资源组成, 分布在一台或多台物理设备中,不过仍有自己的文件系统、根用户、系统进程和IP地址。 VPS
的内存、 CPU和帯宽是固定的, 而且都只属于你一个人 。vPs的系统资源比共享服务器多, 会提供根SSH访问功能, 而且
不限制能安装什么软件。不过,功能强意味着责任大。 VPS会提供根权限,让你访问底层操作系统。我们要根据PHP应用的需
求, 自己动手配置和保护操作系统。 对大多数PHP应用来说, VPS是最好的选择。 vPs提供了足够的系统资源(例如, CPU、
内存和硬盘空间) ,而且能按需增减。 VPS每月需要10- 100美元,具体多少取决于PHP应用所需的系统资源量。如果你的PHP
应用特别受欢迎(每月有几十万访同量) ,觉得VPS太贵,或许应该考虑升级, 使用专用服务器。
专用服务器
专用服务器是机架式设备, 由主机商代你安装、 运行和维护。 我们可以根据自己制定的规格配置专用服务器。 专用服务器
是真实的设备, 必须搬运、 安装和监控, 设置和配置的速度没有vPs快 。 话虽如此, 但是专用服务器能为要求高的PHP应用
提供最好的性能。
专用服务器和VPS非常类似,有根权限,能通过ssH访问底层操作系统,而且必须根据PHP应用的需求保护和配置操作系统。 专用
服务器的优点是成本效益高。 随着所需的系统资源越来越多,最终你会觉得vPs太贵,而自己投资基础设施能省钱。
专用服务器每月要花几百美元, 具体多少取决于服务器的规格 。 我们可以托管专用服务器(额外付钱给主机商,让它们管理服
务器) ,也可以不托管(自己管理服务器) 。
PaSS
使用平台即服务(Platforms as aService, PaaS)能快速发布PHP应用。与虚拟私有服务器和专用服务器不同, 我们无需管理PaaS。
我们要做的只是登录PaaS提供商的控制面板, 单击几个按钮。 有些Paas提供商会提供命令行工具或HTTP API, 让我们部署和管理存
储的PHP应用。 流行的PHP PaaS提供商有:
- AppFog
- AWS Elastic Beanstalk
- Engine Yard
- Fortrabbit
- Google App Engine
- Heroku
- Microsoft Azure
- Pagoda Box
- Red Hat OpenShift
- Zend Developer Cloud
各个PaaS提供商的价格有所不同,不过与虚拟私有服务器差不多:美元10~ l00美元。我们要为P H P应用使用的系统资源买单 。 系统
资源可以接需增减 。 我推荐不想自己管理服务器的开发者使用PaaS主机方案。
选择主机方案
我们要根据自己的需求选择合适的主机方案。 任何时候, 只要需要都可以升级或降级主机基础设施。对小型的PHP应用或原型来说,
PaaS提供商(例如Engine Yard或Heroku) 或许是最好最省事的方案。 如果想更多地控制服务器的配置, 那就使用VPS。 如果应用
特別受欢迎, VPS被几百万的访问量击夸了(顺便恭喜你) ,那就换用专用服务器。不管选择哪种主机方案,都要保证主机中有最新稳定
版PHP,以及PHP应用所需的扩展。
摘自:Modern PHP 中文版
如何为Web应用选择托管主机的更多相关文章
- 第四章SignalR自托管主机
第四章SignalR自托管主机 SignalR服务器通常在IIS的Asp.Net应用程序上承载,但它也可以使用自托管库来作为自托管的主机来运行(就像控制台应用程序或Windows服务那样)与Signa ...
- [渣译文] SignalR 2.0 系列: SignalR 自托管主机
原文:[渣译文] SignalR 2.0 系列: SignalR 自托管主机 英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with ASP.N ...
- 最新选择Godaddy主机方案美国数据中心教程指导
随着Godaddy官方管理层的变动之后,主营重心已经从当初的域名开始转向到域名和主机产品上.这点我们从其发布域名优惠信息的频率也可以看到,而且我们可以看到常年的主机半价优惠,以及针对主机销售年付方案赠 ...
- 关于个人网站选择虚拟主机还是VPS服务器的讨论
还记得当初才开始学习建站的时候,选择的第一款虚拟主机是全HTML的主机,那时候的虚拟主机还分为HTML或者是ASP,PHP的都很少,在国内接触的学习较多还是以ASP为主,PHP是最近几年才开始流行.如 ...
- IIS web搭建之虚拟主机
IIS web搭建之虚拟主机 虚拟目录:能将一个网站的文件分散存储在同一个计算机的不同目录和其他计算机. 使用虚拟目录的好处: 1.将数据分散保存到不同的磁盘或者计算机上,便于分别开发和维护. 2.当 ...
- 【上载虚拟机】XX是一个Workstations 12.X虚拟机,不受XX支持。请选择其他主机或将虚拟机的硬件版本更改为以下选项之一。
背景 由于搭建集群时,要使用Ubuntu系统,还有一点就是咱们使用的Ubuntu系统是定制的,但是它是一个虚拟机,需要通过VMware Workstations这款软件,把咱们定制好的Ubuntu系统 ...
- zabbix监控托管主机遇到问题
昨天监控公司的托管主机时发现监控不上,回想起来其实就是个小问题,分分钟能解决的事,排错的过程才是真正耗心费神的. 监控环境: A zabbix server: 192.168.17.110 serve ...
- go语言,golang学习笔记2 web框架选择
go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...
- Web自动化 - 选择操作元素 2
文章转自 白月黑羽教Python 前面我们看到了根据 id.class属性.tag名 选择元素. 如果我们要选择的 元素 没有id.class 属性, 这时候我们通常可以通过 CSS selector ...
随机推荐
- Sublime Text编辑远程Linux服务器上的文件
sublime有个叫sftp的插件,可以通过它直接打开远程机器上的文件进行编辑,并在保存后直接同步到远程linux服务器上. 用Package Control安装插件 按下Ctrl+Shift+P调出 ...
- NumPy学习_00 ndarray的创建
1.使用array()函数创建数组 参数可以为:单层或嵌套列表:嵌套元组或元组列表:元组或列表组成的列表 # 导入numpy库 import numpy as np # 由单层列表创建 a = np. ...
- Python——Web.py詳解
ubuntu安裝Web.py sudo pip install web.py 測試代碼: import web urls = ( '/(.*)','hello' ) app = web.applica ...
- 基础--Redis在Linux环境下的安装
1. 安装redis服务 1.1 检查安装依赖程序 yum install gcc-c++yum install -y tclyum install wget 1.1.1 下载redis安装包 (或者 ...
- 基础--Linux环境下一键部署 lnmp
1. 通过x-shell 或者 putty 登录服务器 2. 下载lnmp一键安装包 >wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz # ...
- 【开源项目】智能电视及电视盒子的控制应用TVRemoteIME的接口说明
一.APP项目介绍: APP名称:TVRemoteIME 功能说明:安卓智能电视或者安卓盒子的控制应用,可跨屏远程输入.远程遥控(代替遥控器)盒子.盒子应用及文件管理.HTTP/RTMP/MMS网络视 ...
- mybatis 3.x源码深度解析与最佳实践(最完整原创)
mybatis 3.x源码深度解析与最佳实践 1 环境准备 1.1 mybatis介绍以及框架源码的学习目标 1.2 本系列源码解析的方式 1.3 环境搭建 1.4 从Hello World开始 2 ...
- Win11曝光 代号“Core OS” 明年推出-IT外包
Win10发布距今已经有两年半的时间了,微软对其"修修补补"也有五次了,而第六次的更新也正在进行中.根据消息爆料,Win 11级别的开发项目"Windows Core O ...
- 网络基础tcp/ip协议三
数据链路层:(位于网络层与物理层之间) 数据链路层的功能: 数据链路的建立,维护. 帧包装,帧传输,帧同步. 帧的差错恢复. 流量的控制. 以太网:(工作在数据链路层) CSMA/CD(带冲突检测的载 ...
- Android线上Bug热修复分析
针对app线上修复技术,目前有好几种解决方案,开源界往往一个方案会有好几种实现.重复的实现会有造轮子之嫌,但分析解决方案在技术上的探索和衍变,这轮子还是值得去推动的 关于Hot Fix技术 Hot F ...