我是一名软件开发人员,没有太多系统管理员经验。我开发了一个 Web 应用程序,正在考虑购买服务器并在其上托管该 Web 应用程序。
对于 Web 开发人员来说,这是一项艰巨的任务吗?维护服务器、跟上最新的安全补丁和所有这类有趣的事情的难度有多大?我是单个用户,不打算将服务出售给其他人。
有人可以推荐一个适合我的情况的操作系统吗,或者推荐一些简洁、不太复杂的好学习资源。
答案1
让我们从一些简单的答案开始……
对于 Web 开发人员来说,这是一项艰巨的任务吗?
取决于您的经验水平以及您对破坏和修复事物的适应程度。
维护服务器、跟上最新的安全补丁以及所有这类有趣的东西的难度级别是什么。
软件包更新(对于不是专家的人来说,我拒绝推荐像 Gentoo 这样的基于源代码的发行版)很容易;保护 Web 应用程序的安全能非常困难,这取决于您要实现的功能。Web 应用程序漏洞和防御是一项有趣的练习,可以教会开发人员编写安全的应用程序,一旦解决了 PHP 安全性和 SQL 注入等基础知识。
有人可以推荐一个适合我的情况的操作系统吗,或者推荐一些简洁、不太复杂的好学习资源。
Ubuntu 对新手来说相当友好,但对某些人的口味来说可能过于“简单”。发行版和社区都有一些奇怪的做事方式,但经过合理程度的了解,你应该能够实现几乎任何事情。
尝试找到一个可以提问的社区是个好主意——IRC,特别是Freenode 网络适用于任何与开源相关的内容 - 论坛适用于几乎所有内容,只要您能找到合适的论坛。真正懂行的人在刚开始时也是无价之宝。
答案2
如果你要使用 Linux/Apache,并且希望尽可能保持简单,我建议使用 Linode(http://www.linode.com/) 并使用其 Ubuntu 映像。Linode 是一家 VPS 提供商,提供大量工具来自动化备份等操作,并允许您在需要时通过基于 http 的控制台操作系统。您将拥有 root 访问权限。您永远不必处理任何与硬件相关的问题,非常稀有你需要处理任何与网络相关的事务吗?
您将问题标记为 Centos 相关,但我通常发现 Ubuntu 更简单(而且 ubuntu.com 的文档非常棒)。使用 apt-get(或 aptitude)安装 apache / php / mysql 非常简单。有关 Ubuntu 的文档,请参阅http://www.ubuntu.com/products/whatisubuntu/serveredition和https://wiki.ubuntu.com/
我认为,如果您记得“自动化一切”,那么担任系统管理员不会有太多问题 - 我以前就这样做过。学习如何编写 bash 脚本(或您选择的 shell 脚本)。作为一名开发人员,戴上系统管理员的帽子是一项非常有用的练习。它既可以帮助您欣赏管理员所做的工作,也可以使您定制开发流程,使管理员的工作更轻松。
答案3
CentOS 很好,但是先把它放在本地系统上,然后销毁几次。
还,路特。