明月发现很多的草根博客站长们对Linux基本都是“新手”的水平,甚至很多人是第一次在Linux里才知道“字符控制台”的存在,所以感觉很有必要再今天抽个时间给大家聊聊这方面的事儿了,Linux作为网站服务器的操作系统首先面临的就是选择哪个Linux发行版以及使用哪种生产环境了,今天明月就以自己的经验和教训来给大家总结分享一下。
首先说说Linux的发行版的选择,众所周知Linux是个开源的操作系统项目,是全球成千上万的“程序员”们多年的“添砖加瓦”下的产物,因为这个出身也造成了Linux发行版众多的现象。
Linux主要作为Linux发行版(通常被称为"distro")的一部分而使用。这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写。它们通常包括了其他的系统软件和应用软件,以及一个用来简化系统初始安装的安装工具,和让软件安装升级的集成管理器。大多数系统还包括了像提供GUI界面的XFree86之类的曾经运行于BSD的程序。 一个典型的Linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。
目前比较著名的Linux发行版如:FedoraCore、Debian、Mandrake、Ubuntu、RedHatLinux、SuSE等等这些,是不是看的你是眼花缭乱的,其实没有几个可以很详细的说明白具体的区别的,对于我们站长来说完全可以忽略这些东西,因为我需要的无非就是“稳定、安全”而已,服务器版的Linux又不需要啥GUI桌面这些,所以“稳定、安全”是首要考虑的。
稳定有多种含义了,一个是系统本身的运行稳定性,另一个就是系统级漏洞、BUG、安全隐患等修复的及时性如何。目前来说在服务器领域商业化最好的发行版就是RedHat Linux了,但是RedHat Linux并不是“免费”的,有些费用对于我们草根博客来说绝对是类似于“三座大山”级别的,所以直接无视了,还好在“开源免费”精神感召下我们还有一个CentOS选择。它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。
明白了吧, CentOS 就是一个为服务器而生的免费开源Linux发行版,并且是传承自Red Hat Enterprise Linux哦。这也是为啥明月经常会建议新手博客站长们在选择Linux发行版的时候首选 CentOS 的主要原因,因为 CentOS 的源码来自于RedHat Linux的开源源码,所以很多RedHat Linux的命令啥的在 CentOS 上有一定的通用性。其次,因为 CentOS 是主要面向服务器端的Linux发行版,所以 CentOS 的文档参考资料在网上也是最多的,以后查找资料的时候你就能体会到“方便”之处了,中文资料也很多的哦。
至少在我用了几个不同的Linux发行版后我就感觉 CentOS 最合适了,无论是稳定性还是安全性以及学习的方便性上都很不错,最喜欢的就是 CentOS 的相关资料真的是好丰富,无论是中文还是英文都可以很快的找到答案和参考资料。这点儿真的是很多Linux发行版都不具备的。
好了,说完了系统的选择我们就再来说说“生产环境”里的其他几名重要成员吧,那就是Web服务器、数据库、脚本语言,比如: Nginx/Apache、MySQL、PHP,因为我们博客站长们用的主要生产环境都是这种,所以明月就以这种的为主要点来讲了,上述这三个成员再加上Linux,这样首选字母的组合就是LNMP/LAMP了。当然无论是LNMP还是LAMP如果你比较熟悉Linux的话自己就可以来编译安装的,可以说有很强的可定制性。但是对于新手来说虽然参考网上一些教程也可以自己编译安装成功,但没有Linux基本的基础知识这将是未来的一个“灾难”,明月的建议就是新手建议使用网上比较流行的“一键安装LNMP脚本包”,不要相信某些“高手”说的自己编译的有多安全、多强大,那是对人家“高手”来说,对于新手来说容易上手、容易学习、操作才是最主要的。而“一键安装LNMP脚本包”一般成熟的发行包都会有很详细的使用文档供参考的(中文的),借助这些文档的帮助有助于新手们更早的理解LNMP的原理以及运行方法,学习起来也更加的方便。
有关LNMP一键安装包简单介绍
LNMP一键安装包是什么?
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/DeepinServer/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。 我们为什么需要它? 编译安装需要输入大量的命令,如果是配置生产环境需要耗费大量的时间。 不会Linux的站长或Linux新手想使用Linux作为生产环境……
它有什么优势和功能?
无需一个一个的输入命令,无需值守,编译安装优化编译参数,提高性能,解决不必要的软件间依赖,特别针对配置自动优化。 支持自定义Nginx、PHP编译参数及网站和数据库目录、支持生成LetseEcrypt证书、LNMP模式支持多PHP版本、支持单独安装Nginx/MySQL/MariaDB/Pureftpd服务器,同时提供一些实用的辅助工具如:虚拟主机管理、FTP用户管理、Nginx、MySQL/MariaDB、PHP的升级、常用缓存组件Redis/Xcache等的安装、重置MySQL root密码、502自动重启、日志切割、SSH防护DenyHosts/Fail2Ban、备份等许多实用脚本。
另外,个人感觉的是军哥的LNMP1.4是个很不错的“一键安装LNMP脚本包”(https://lnmp.org),目录结构很清晰,脚本很全面备份、安全防护、升级、更新、模块化管理运行都非常的方便,官方网站(https://lnmp.org)上的文档很全面,官方论坛(https://bbs.vpser.net/)的求助回复也非常的及时,总之,明月用到现在真的是会很满意的!