今天明月给大家说说服务器部署这个事儿,自从明月用上阿里云 ECS 后对服务器方面的研究就多了起来,也接了几个给人部署服务器的单子,所以这方面还算是有点儿心得吧。
首先作为一名草根博客站长自己要清楚知道服务器部署的重要性,因为这关系到网站性能优化、SEO、安全防御、更新升级、迁移服务器甚至未来网站发展需要等等都有很大的关系。今天不讲具体的技术性的东西,只是把自己的经验心得做个汇总总结性分享给大家!希望可以帮助到新手站长们!
部署要点之一服务器操作系统选择
传统上服务器操作系统是有不少选择的,结合我们的国情其实也就是两个选择 Windows 和 Linux 而已,性价比上来说 Linux 绝对是首先,别的原因不说就一点“微软自己的服务器都用的是 Unix!”,所以 Linux 作为服务器操作系统这个明月感觉不用纠结选择就是了。
选择了 Linux 并不是就完事儿了,还有个 Linux 发行版的选择,众所周知 Linux 是开源免费分享的操作系统,各个厂商为了自己的需求都会对 Linux 做一些“定制”的事儿,这就造成 Linux 存在多个不同定位需求的发行版,这些发行版都或多或少的有些区别,我们选择的时候要根据自己的实际需求情况来针对性的选择。作为网站服务器操作系统的 Linux 目前普遍都是建议 CentOS 发行版,因为 CentOS 是著名 Linux 发行版 RedHat 的一个重要分支版本,个人感觉跟 RedHat 最大的不同就是 CentOS 里剔除了那些需要收费授权的模块,全部替换为同样优秀的遵循免费开源的模块,并且有社区技术人员的维护更新至今已经成为作为服务器操作系统的首选发行版之一。
综上所述,在 Linux 发行版的选择上明月建议大家要“随主流”的跟风!毕竟全世界运维人员的选择是绝对错不了的!同时,因为选择和使用的人多了,网上相关的资料自然也就丰富起来了,这样我们在碰到无法解决的难题的时候自然也就更容易找到解决办法了!
至于 CentOS 在作为服务器操作系统其它方面的优势,我就不做过多的赘述了,总之就是大家一定要记住玩 Linux,特别是玩 Linux 服务器 Linux 发行版的选择很重要,一个选择定终身都不算是夸张的说法,特别是新手们,因为当你选择对了 Linux 发行版后学习起来也会轻松不少(资料多,懂得人、用的人也多,请教起来都能找到人,当然纯英语文档阅读无压力的自学学霸可以无视),运维起来也会少走很多的弯路,只有主流的才是标准,玩 Linux 请谨记这条!
部署要点之二生产环境搭配方案
对于网站服务器来说,所谓的生产环境就是指用的是什么操作系统、Web 服务器、数据库、网站平台的源代码语言这些,对应每个不同的模块取首写字母可以是LNMP(Linux+Nginx+MySQL/MariaDB+PHP)、LAMP(Linux+Apache+MySQL/MariaDB+PHP)、LNMPA(Linux+Nginx+Apache+MySQL/MariaDB+PHP)、LTMP(Linux+Tengine+MySQL/MariaDB+PHP)等等生产环境,不同的生产环境要根据自己站点运行类型来选择部署的,对于我们个人博客站长来说 LNMP 是最常见的生产环境,也是目前来说性价比最高的。基本上 1 核 1G 的服务器硬件最低配置都可以满足所有的要求了,甚至挂 3-5 个站点都毫无压力(比如明月自己就是这样的配置环境),理论上来说 LNMP 生产环境应对百万级别访问量的站点都是可以的,所以不用担心未来发展面临的生产环境瓶颈问题的,当然生产环境也要根据网站自身的需求来做出不同的选择的,比如 Web 服务器的选择是以处理动态网站有优势的 Apache 还是用处理静态文件并发有优势的 Nginx 都要根据自己的实际需求来选择的,如果硬件条件允许 LNMPA 的组合理论上来说是最完美的,但是对硬件配置要求不低,这也意味着成本的增加。只能说是大家要根据自己的情况各取所需就是了。
生产环境选择好了,剩下的就是各种折腾优化尝试了,这些就设计 Web 服务器、数据库、PHP 甚至博客平台层面的了,大家自行百度、谷歌学习验证即可,期间注意做好备份以防不测发生。这里说到备份了,这对于喜欢折腾的站长们来说是很重要的,自己有技术能力备份当然是最好的,但是明月感觉选择一个有完善服务器容错恢复机制的运营商也是至关重要的,比如阿里云就提供免费的短期快照回滚恢复,这个绝对是折腾人士的福音,一旦折腾造成不可挽回的情况就可以快速的快照回滚整体务器到最近的快照备份上,把损失减小的最低,当然养成及时备份的习惯依然是很重要的。
部署要点之三服务器安全防御措施的完善
在【博客网站由内而外的安全防御思路】一文里明月详细的给大家介绍过自己总结的服务器安全防御思路,安全防御是服务器部署时一个很重要的环节,也是最耗费时间精力的部分,因为这基本上就是个长期工作需要服务器运维人员长期分析、应对的,毕竟“道高一尺魔高一丈”嘛!攻击方的技术也是在不断的更新迭代的,自然防御起来也要保持基本的同步嘛!
关于安全防御技术上明月其实都有过分享,大家可以在本博客和【学习笔记 Blog】上看到的,未来有什么新的方法,我也会及时折腾验证后分享的,今天要说的其实还是一个思路问题,就像【博客网站由内而外的安全防御思路】一文里讲的那样,只有思路明确了技术层面上才会合理的被实现。比如:在互联网上隐藏自己网站的真实 IP 等等。有了成熟的思路后,剩下的就是熟练的用好现成的各类安全工具了,比如 Linux 防火墙 iptables,Fail2ban 脚本、DDoS Deflate 轻应用 CC/DDOS 防御脚本、Nginx 的 WAF 模块 ngx_lua_waf 等等,这些都是服务器内部的安全防御手段,需要根据不同情况下相结合使用效果才能发挥到极致,这都是需要实践经验来积累。其实在服务器安全方面最重要的还是站长本人们的安全意识了,借用【博客网站由内而外的安全防御思路】一文里的那句话:
网络永远不是大家看到的“风平浪静”的表象,你的网站每时每刻都在被别有用心的“人”关注着、扫描着、分析着!不要幼稚的认为自己的网站没有价值,所谓的“价值”都是相对的,用你的服务器攻击别人、用你的服务器来“挖矿”对别人都是有价值的呀。
就算是你的网站刚上线访客极少,那么垃圾爬虫蜘蛛的骚扰、各类注入/XSS 扫描器的光顾都会让你的服务器有压力,甚至给这些第三方跟你几乎没有关系的给弄宕机都不是不可能。所以把安全防御工作在部署服务器的时候就做好绝对是个明智之举。
总结
服务器的部署就好像是给万丈高楼打地基,只有这个地基稳定了,无论你的楼层起的有多高都不会有太大的压力,那怕你的网站真的哪天流量达到了“百万级”访问量,实时的平滑升级硬件配置都是可以实现的,所以说服务器部署是一切的基础。 当然很多站长会说服务器的部署自己不懂,那你可以百度、谷歌呀,实在不行找高手咨询也是可以的,千万不要赶鸭子上架弄个“半生不熟”的部署出来,那时候高手想帮你都无从下手了。
网友评论