用自己的手搭建远程服务器

用自己的手搭建远程服务器
N. Levitsky
类别: 编程, 系统管理
出版年份: 2021
阅读年份: 2025
我的评分: 最高
阅读次数: 1
总页数: 402
摘要(页): 41
原始出版语言: 俄语
其他语言的翻译: 未找到其他语言的翻译

在服务器上安装和配置Linux

本书从操作系统的安装开始,逐渐深入,章节内容逐步复杂化。第一章介绍了Linux的安装。这是一个我多次操作过的常见主题,因此我在笔记中没有添加第一章的内容。安装过程以Astra和Ubuntu为例进行说明。

接下来,有几章介绍了通过登录系统来熟悉Linux。内容涉及图形界面、暗黑模式和其他视觉效果。值得一提的是,作者花了不少篇幅讲解如何将操作系统的外观定制成类似macOS的风格,包括安装屏幕保护程序、修改按钮、图标、鼠标指针、菜单和其他元素的外观。此外,还提到了休眠模式和睡眠模式的区别,以及如何通过终端进行关机、重启和计划关机。作者展示了如何安装音视频解码器、管理软件包和更新系统。

第四章介绍了命令行和基本命令,如:查看文件内容、重定向输出、创建、复制和移动文件和目录、文件搜索、比较、替换、格式化等。命令众多,有些我之前不了解,也未能完全记住。大多数命令只是列出,没有深入解释,具体细节建议参考其他资料。作者在前一章提到了图形界面,但未涉及命令行界面的不同类型。书中也讨论了普通用户和超级用户之间的区别,以及#和$符号的含义。章节的最后简要介绍了图形编辑器,包括内置的和需要单独安装的。

第五章介绍了网络接口的配置,主要讨论物理层面的设置:适配器、交换机、双绞线、RJ-45连接器。作者还提到了双绞线压接工具,并提供了接线图。理论部分简要介绍了ifconfig命令和DHCP服务器的概念,后者将在后续章节中详细讨论。

服务器的基础配置

第六章讲解了路由和防火墙配置。坦率地说,我对路由表、配置命令和数据包处理的记忆不深。可能是因为我不是系统管理员,在后端或前端开发中很少直接接触这些内容。防火墙部分以iptables和ufw为例进行了讨论。

第七章介绍了SSH协议。作者讨论了OpenSSH支持的算法,如Blowfish、3DES(数据加密标准)、IDEA(国际数据加密算法)和RSA(Rivest-Shamir-Adleman算法)。随后,详细解析了SSH配置文件及其注释。虽然记住所有参数可能有难度,但也许并非必须。章节最后提供了通过SSH复制文件的示例,以及性能优化和提升的方法。

第八章讨论了Web服务器管理的常见问题。作者暂停了技术细节,提供了一些理论知识,我认为这些内容既重要又有趣。详细解释了物理服务器、虚拟服务器和专用服务器之间的区别,以及在何种情况下选择哪种类型更为合适。提示:物理服务器可能并非您的最佳选择。每种类型的优缺点都有列举。例如,物理服务器可能需要第二条互联网线路、机房通风和安保措施。章节的第二部分讨论了选择服务器的标准,列出了以下几点:

  • Tier认证级别
  • 是否拥有FSTEC许可证
  • 服务器的物理位置(符合第152号联邦法)
  • 基础互联网带宽
  • 磁盘子系统的性能
  • 计费和支付方式
  • 虚拟核心的定义

第九章介绍了FTP的使用。安装FTP服务器前,需要选择合适的版本。作者推荐了以下几种:wu-ftpd(老牌且可靠)、vsftpd(轻量级)、pure-ftpd(简洁型)、proftpd(灵活通用)。随后,详细讲解了proftpd的安装和配置。章节最后简要讨论了FTP服务器的优化和加速方法。

第十章解释了DNS的工作原理。作者以BIND9和unbound为例,展示了如何配置缓存DNS服务器,并解析了相关配置文件及其注释。

第十一章更深入地讨论了DHCP服务器的功能和应用场景。

第十二章介绍了将Linux集成到Windows基础架构中的方法。由于我在这方面没有相关工作经验,因此在笔记中没有添加此部分内容。

第十三章讨论了备份策略。作者明确指出了在何种情况下需要备份哪些数据,并提到了一些自动化备份系统(如Amanda、Bacula)。然而,作者更倾向于使用一个脚本,该脚本创建备份并通过SSH传输。

第十四章关注服务器的安全性。内容涵盖:本地安全措施(如封条、BIOS保护)、防止网络攻击、服务保护(以fail2ban为例)、数据加密(以eCryptfs为例)。还列举了几种DDoS攻击类型(如Smurf、ICMP洪泛、UDP洪泛),并简要介绍了它们的起源。

基于Linux的专用Web服务器

第15章讲述了Web服务器的配置。本章没有涉及nginx,而是讲解了Apache。除了Apache,还可以看到MySQL数据库管理系统、PHP(包括所有主要库)的配置,作为示例,作者还安装了CMS Magento。接下来开始介绍最有趣的部分:作者将Apache的指令分为多个组(共11组),并简要描述了每组的作用。以下是几个组的示例:

  • 日志指令:ErrorLog、TransferLog、HostnameLookups。
  • 访问限制指令:AllowOverride、Options、Limit。
  • 性能管理指令:StartServers、MaxSpareServers、MinSpareServers,以及CacheNegotiatedDocs指令。
  • 保持客户端连接的指令:Timeout、KeepAlive、KeepAliveTimeout。

最后是关于Apache服务器保护的简短小节。该部分内容简洁,因此我没有添加太多信息。

第16章讲解了SSL证书。其中介绍了几种我之前没有特别关注的SSL证书类型:DV(域验证)、OV(组织验证)、EV(扩展验证)。接下来是关于这些证书的具体说明以及它们的存储格式(如PEM、DER、PKCS #7 / P7B等),并且讲解了如何将证书从一种格式转换为另一种格式。本章还介绍了Let’s Encrypt,它是创建证书的最简单方法。

第17章讲解了服务器管理面板的选择与安装。讨论了付费的流行面板(如cPanel、DirectAdmin、ISPManager、Plesk)以及免费的面板(如Webmin、VestaCP、ISPConfig、Ajenti)。Webmin的配置进行了更详细的讨论。

第18章讲解了提高服务器性能的方法。这里提供了一个清晰的检查清单,包含以下几个要点(如果出现性能问题时应首先注意的事项):

  • 客户数量与服务器配置
  • Apache配置
  • PHP版本
  • memory_limit指令
  • max_execution_time指令
  • 压缩和缓存配置
  • 启用服务器端缓存(使用Memcached)
  • CMS配置

每个要点都进行了更详细的讲解。

第19章讲解了Web服务器上的邮件配置。作者安装了ssmtp包,注册了Gmail邮箱,并配置了SMTP服务器。

第20章讲解了常见问题的解决方法。首先,作者建议安装Zabbix或至少使用Yandex.Metrica来跟踪统计数据。其次,他分析了最常见的错误,包括:

  • 磁盘空间/空闲inode不足。
  • 其他资源不足(内存、处理器等)。
  • 服务器配置错误。

本章还提到了日志文件,并列出了用于监控服务器不同指标的工具,从htop和atop到apachetop和jnettop。

在最后两章中,除了作者的财务计算和关于虚拟服务器与物理服务器哪个更有利的哲学思考之外,还可以重点关注创建自己的Zoom(安装和配置BigBlueButton应用程序以进行在线会议)。

总结

总体评论:这本书毫无疑问让我非常喜欢,它结构清晰,阅读起来非常轻松。书中有很多图片、注释和解释。它适合那些决定深入学习Linux系统管理的后端和前端开发人员,并通过本书与作者一起完成从安装操作系统到配置Web服务器及其相关软件的全过程。唯一的缺点是信息量过大,没有实践的话,难以一开始就完全记住所有内容。

Вверх