我将在几个月内发布我的网站(全球性的,希望能够成功并且拥有很大的流量:-)),所以我开始考虑服务器。
我确信托管服务器对我来说是最好的解决方案,因为我没有服务器管理经验。但是托管服务器的价格相当高,所以现在我正在考虑从托管公司租用虚拟非托管服务器。
我是一名经验丰富的程序员,拥有 IT 硕士学位,能够熟练安装 ubuntu、apacahe、php、mysql,但只在本地机器上安装过(完全没有服务器管理技能)。
如果我按照互联网上的操作指南和配置,你会建议我自己管理服务器吗?或者你认为让专业人士来管理会更有效率/更安全吗(每月 60 欧元)?我不会成为 VM/管理员专家,我的目的只是为了省钱。
运行这样的服务器需要什么?如果是租用的虚拟服务器,我是否需要成为 iptables 和安全方面的专家?
你建议我做什么?
答案1
您是否考虑过寻找一位拥有您所缺乏的技能的合作伙伴?如果网站发展迅速,而您是唯一的消防员,那么您会非常疲惫。寻找一位您了解并信任的合作伙伴对成功推出产品大有裨益。这样,您就能找到一个可以与您交流想法的人,并帮助您了解您不知道的事情。
话虽如此,如果您的网站只是提供网页并且您需要能够远程登录,那么您只需要打开 ssh 和 http 端口,之后,您的机器就非常安全(只要它不是 Windows)。
当然,您会遇到您编写的应用程序的问题,以及如何保护它免受攻击,但无论有没有 IPTables,这个漏洞都会存在。
答案2
我认为对此有两种观点。
如果您想省钱,可以自己动手(借助互联网),但当您开始获得更多流量并且服务器管理任务对您的业务变得更加重要时,请雇用一个。
从一开始就做对。每月 60 美元是一笔很小的数目,但为了安心防止服务器宕机或遭受黑客攻击,您可以支付这笔费用。
答案3
我看到的所有答案都提供了明智的建议。
大约两年前,我和你的情况类似。我有一个托管硬件的报价,用于一个特别有弹性的系统(集群、出色的防火墙等),每月约 1,900 美元,外加 7,000 美元的安装费(因为我是英国人,所以我将这些数字从英镑换算而来)。我讨厌长期承担这种成本的想法,尤其是因为我不确定我能赚多少钱,也不确定开发周期有多长。
...所以我购买了自己的硬件并将其安装在我的办公室(通常不建议单独这样做,但我使用服务式办公室,它有自己的安全团队、发电机、视频监控和具有 10mbps 对称带宽的冗余专线)。
走这条路两年后,我只能说我不确定我是否会再次做同样的事情。学习配置硬件真是太棒了,而且由于(医疗)应用程序需要它,我的安装也获得了 ISO 27001 认证,这感觉像是一项了不起的成就。 但这需要付出很多努力,很多烦恼(实际上,在服务器世界中,事情的运行逻辑通常比在编码世界中少很多),而且从经济上讲,与采用托管方式相比,我仍然需要付出更多。不过时间会证明一切。
实际上,除非像我的市场一样,出于信息安全原因禁止这样做,否则我会密切关注亚马逊、Azure 或其他云托管产品。这意味着,如果您确实遇到了麻烦,您可以快速扩展,大概只需单击几下,而不是使用机架螺栓和螺丝刀。
答案4
你可能要通过艰苦的方式学习很多东西,但这实际上也是学习的唯一方法。但这里有两条具体建议:
每天花十五分钟来确保你的系统看起来正常。检查日志中是否有你以前没有见过的奇怪之处,并确保性能符合预期。有各种工具可以帮助监控和日志分析(两个都是单独的问题!),但关键是要养成熟悉这个系统的习惯。你会在萌芽状态发现很多问题,当它们出现时,你就能更好地处理意外的大问题。
一旦一切顺利,这一点很容易被忽视,尤其是因为这并非你的主要关注点。事实上,让某人关注这一领域是专门为这项工作聘请人员的一个关键原因。
在您安装的任何操作系统上运行自动更新。获得错误更新的几率低于错过更新和网站被入侵的几率,并且错误补丁的后果通常只是“哎呀,我必须调整一些东西来解决这个问题”,而系统被黑客入侵的后果包括丢失大量工作成果和丢失大量机密信息。
如果您是经验丰富、亲力亲为的系统管理员,您可以按照自己的时间表谨慎勤勉地应用补丁。但如果您不是,那就选择自动更新吧。