我(正如标题所暗示的那样)对服务器配置这方面非常陌生。我最近被迫学习如何配置开发/生产环境。我实际的服务器/网络配置经验仅限于编程。我精通 PHP/MySQL/JavaScript。
我正在快速学习与服务器相关的东西,并深入研究一些相当复杂的东西。
大约一个月前,我执行了我的第一个 LAMP 安装(在 Ubuntu 上),并且我......
- 成功安装/配置 Apache。 这包括设置虚拟主机、设置文件夹权限。我对 Apache 的理解是体面的。我还是想更多地了解 mod_rewrite……
- 成功安装/配置 Postfix。 我的搭档也给了我一些帮助,但他在这方面也没有那么多经验。我跟着这教程几乎完全一样。我在本教程中做了一些详细说明,因为我正在通过 Gmail 使用 SMTP 中继。
- 已成功安装/配置 OpenSSL。 (通过 Ubuntu 社区 wiki 教程)。这比 Postfix 稍微简单一些,也更简短一些……但是我的服务器现在可以为自己生成和验证证书,此外还可以使用第三方机构来验证证书。
- A体面的使用命令行的基础。SSH'ing、vi、pico、一些目录/文件制作垃圾。以及其他一些零碎的东西。(也许一个好的备忘单会有帮助?)
我现在想不起任何其他与服务器管理相关的流程,但它们可能非常小。
我应该提到,我将通过 Amazon EC2 专注于基于 Linux(可能是 Ubuntu)的服务器。这不是我的职业道路 - 只是一个临时的实用工具。我个人将专注于基于 Web 的应用程序开发。我认为学习如何配置我的环境不会出错......对吗?
不过我有点担心,因为我没有接受过这方面的“正规”教育(或者说没有接受过任何与网络相关的教育)。我非常依赖论坛或问答网站(比如这个)来确保我的教育是完整的。
大或小。对我来说都无所谓。据我所知,每个人都有“天哪,我希望早点知道这个!”的时刻。
我面临的问题是缺乏基础。我有信心可以学会大部分中等难度和一些高级难度的东西。
缺乏重复,只是沉浸在材料中。我该怎么做需要知道吗?
我需要彻底了解哪些概念?
例如:安全要点,如何设置一个合适的系统来安全地进行 FTP(文件传输,等等),文件系统组织,我应该使用哪个 Linux 发行版。
谢谢——非常感谢任何意见或指导!
如果这句话有点笼统和模糊,请见谅。
编辑:我将专注于肯定会使用某种 SQL 数据库的基于互联网的应用程序。
答案1
您应该知道如何备份,更重要的是测试恢复功能是否正常。这样当您意外删除某些文件时,您就可以找回它们。
当你管理多个服务器时,请查看配置管理工具,例如木偶。
记录你的更改以及更改的原因。信息技术基础设施库术语它是在 cmdb 中完成的,但您可以从一个简单的文本文件、wiki 开始......
获取监控解决方案纳吉奥斯这样您就知道您的系统正在做什么。
尽可能地实现自动化。当事情变得混乱时,你会感谢你拥有的每一个脚本。
这肯定不是全部,但我确信你会得到很多其他好的答案。
编辑1:这里有一些博客可能会帮助你找到一个起点:
- http://administratosphere.wordpress.com/
- http://www.thegeekstuff.com/
- http://www.cyberciti.biz/
- http://www.agileweboperations.com/
- http://agilesysadmin.net/
还有一些书籍:
*Linux系统管理手册
*UNIX 编程艺术
编辑2:这里是不同Linux发行版的概述:
答案2
您的备份和恢复一样好。
答案3
我想说,您可以采取的一个重要措施是真正了解各种形式的虚拟化(服务器、桌面、存储、网络等),因为在这个领域,我已经开始真正看到一些“老派”陷入困境。
我并不是在谈论事物的实际方面,更多的是功能性和物理性的必要分离——一旦你“掌握了它”,你就会看到职业方面的好处——我很惊讶有多少人要么根本无法理解它,要么默认回到以前的模式。
您还需要培养非常“干净”、熟悉产品/技术、善于查找故障的技能 - 从长远来看,这些技能比您现在拥有的任何特定技能都更有价值,因为我们使用的工具包和软件一直在变化,但基本的逻辑思维过程却很少发生变化。
祝你好运。
答案4
系统和网络管理的实践。这本书是必读之书。