![我可以自学 PHP、Wordpress、CentOS(Linux)、Apache、Nginx 等吗?](https://linux22.com/image/553860/%E6%88%91%E5%8F%AF%E4%BB%A5%E8%87%AA%E5%AD%A6%20PHP%E3%80%81Wordpress%E3%80%81CentOS%EF%BC%88Linux%EF%BC%89%E3%80%81Apache%E3%80%81Nginx%20%E7%AD%89%E5%90%97%EF%BC%9F.png)
我是个彻头彻尾的菜鸟,用的是 Windows PC,从未接触过 Linux。但我想管理、管理和负责我的服务器,至少在某个时候,如果不是现在的话。
但由于我是一名全职博主,所以无法抽出时间去学院学习。所以,我的问题如下——Is It Possible To Self-Teach HTML, CSS, PHP, JavaScript, Wordpress, CentOS (or for that matter any Linux distro), Apache, Nginx, and Varnish?
是的,从 HTML 开始,绝对全部都学。我可能看起来过于雄心勃勃和愚蠢,但我只是想这么做。难道没有自学成才的服务器管理员吗?
(1)请帮我提供一些好书的名字、链接以及任何你能提供的信息。 (2)我需要多长时间才能达到这个目标(大约)?3 年?5 年?(我对 HTML 和 Wordpress 很熟悉。)
这是一个很棒的社区,我希望至少你们中的一些人能向我提出一些建议。
答案1
我们无法帮助您处理 HTML、CSS、PHP、JS 或 WP,因为我们不处理这些内容。
我们确实处理 Linux、Apache、Nginx 和 varnish。
没有一种万能的方法。我个人觉得书本几乎没用,因为这不是我的学习方式。有些人可以埋头读一本技术书 3 天,然后变得非常聪明。我埋头读一本技术书 3 个小时,然后变得非常疯狂。但我们全部同意在现实生活中做这件事并且亲自动手(当然,首先是在非关键系统上)是无可替代的。
永远。说真的。你永远不会停止。技术变化如此之快,如果你参加了 3 年制高等课程,到你完成学业时,你的具体知识可能只有开始时的 50% 有用。
答案2
是的,有自学成才的服务器管理员。十多年前,我开始在一台闲置的 PC 上摆弄 Redhat 5.2。亲自动手可以学到很多东西。书籍也很好,在线文档、越来越少见的杂志以及与有相同兴趣的人交流也很好。看看你所在的城市是否有 LUG(Linux 用户组)。
在进行修改的同时多阅读一些资料是很好的,因为这样你就能了解最佳实践。不幸的是,盲目地修改很容易养成做错事和/或不安全的习惯,因为没有完全理解正在发生的事情。
你可能会发现这本书很方便,特别是当你想摆弄各种 *nix 发行版时:
传统上(我没有这本书的当前版本),它很好地展示了各种 *nix 发行版之间的不同范例。
答案3
只要有一个条件,自学就足以掌握大多数系统管理知识。
为了成为任何系统的称职系统管理员,您需要认识到,当您无法实现目标时,是因为您不了解您试图强迫其服从的软件的架构/原则(而不是愚蠢的东西令人讨厌)。此时,您需要退后一步,了解开发人员想要实现的目标。
Apache 就是一个很好的例子。大多数情况下,配置 Apache 只是敲打位置指令和重定向指令,直到它们按照你的要求运行。但是,为了成功创建虚拟主机,你绝对需要了解虚拟主机的工作原理。
对于公共系统来说,最大的危险不在于您的设置无法正常工作,而在于您对其了解不够多,没有意识到它是不安全的。
以下是一些可帮助您入门的提示:
- 包装系统是你的朋友。总是在手动编译/安装 .deb/.rpm 之前,尝试在其中获取所需的内容。花点时间学习如何使用打包系统:它很快就会带来回报。当软件包维护者对特定软件包中的配置工作方式进行更改时,花点时间弄清楚原因。
- 版本控制在系统管理工作中和在开发中一样重要。对您使用的所有配置文件进行版本控制。etckeeper 可以为您提供帮助。
- 学习使用 *nix shell。如果您习惯使用软件的 GUI 界面,请理解 *nix 系统通常没有管理 GUI 的原因在于,管理员更喜欢命令行界面,因为它功能强大且简单易用(而不是因为他们的思维方式错误)。
- 您的其他一些朋友:sshfs、screen、tcpdump。
- 获取一台 Linux 台式机。这将允许您测试和试验操作系统。