我是一名 PHP Web 开发人员,我想开始学习更多关于系统管理的知识,想知道是否有人有任何好的资源/起点可供参考。我有一台旧电脑,可以安装 Linux,并在必要时试用一下。我的几个应用程序现在运行的服务器使用 CentOS,所以我想只学习它,但如果这不是一个好的起点,我愿意使用其他发行版。
我现在对非常基本的 UNIX 命令很熟悉(cd、cp、ls、rm,诸如此类的弱命令)。我学习这方面知识的主要动机是我想尝试使用 Web 开发工具(如 XHProf、buildBot、Selenium 等),但我意识到我甚至不知道如何安装任何东西。我非常擅长开发 Web 应用程序,但我觉得我应该至少了解一点 Web 服务器的工作原理。我还希望最终能够监控服务器负载、性能等,因为我对性能很感兴趣。
答案1
看一下Rute用户的教程和说明:http://rute.2038bug.com/rute.html.gz 它内容全面,但又相当容易理解。
答案2
性能调优可能是一个相当广泛的领域,所以我担心了解 posix 操作系统是如何工作的,这样你就知道如何监视它并找到可以挤出额外性能的地方。
我很喜欢读书……所以当你使用 CentOS 时,我建议你Linux系统管理手册但它也会帮助找到可以提问的人,比如当地人Linux 用户组。
对于性能调整,您还需要了解您的网络服务器和其他方面,但这可能为您提供一个良好的开端。
答案3
我建议你去 GoDaddy 或其他注册商那里注册一个域名,然后建立一个个人网站(这应该是最有趣的部分,因为你是 PHP 专家)。在服务器上添加电子邮件,然后想办法备份所有内容。我一开始也是这样,用 PHP 编程,然后转向系统管理。在自己的服务器上玩弄让我掌握了进入这个领域所需的所有基础知识。还可以为你的服务器试用几个发行版(我更喜欢 Ubuntu),感受一下你最喜欢哪一个。
强迫自己在自己的服务器上弄清楚这些事情是获得运行 Linux 服务器经验的最快方法。在我看来,善于搜索所需的所有教程和信息可能是最常用的系统管理员技能。如果您想要更多具体信息,以下是我为自己设置的一些您可以尝试的内容:
LAMP 服务器(用于我的网站/博客) Postfix 和 CourierIMAP 用于电子邮件(使用 procmail 规则自动将电子邮件过滤到文件夹中) 使用 iptables 进行保护 使用 Subversion 维护代码,并通过 Apache 设置测试和生产页面 弄清楚如何保持所有代码的备份
打完这些话后,我意识到我还可以继续说下去,所以请提出任何问题,我很乐意更详细地讲解。
答案4
除了特定于 Web 的东西之外,我还建议安装某种 LDAP 和电子邮件服务器。使用这些将使您很好地了解用户身份验证和管理(这反过来应该对您使用 Web 应用程序有益)和消息传递环境(您可能会从中获得实际用途,但了解它们仍然很方便)所涉及的内容。
这个池塘可能非常非常深,你想深入到什么程度取决于你自己。我建议——至少一开始——你选择更简单的工具来学习,并尝试用这些工具来做你能做的事情。你可能会一头扎进某个对你目前的经验来说太大的东西(并且远远超出你的舒适区),这不是一件好事。