Start from the lowest level
1. Devices
Ethernet cable wiring/pinout, 100M and Gigabit Ethernet cables, fiber optic cables, Cisco routers, Huawei routers, switches, etc., including some VLAN setup, and the study of switches and routers. Generally, I suggest learning up to CCNP is enough. For computer hardware, if you have assembled your own PC, you generally know it clearly. Understand the difference between servers and ordinary PCs. Servers are 1U, 2U, or 4U. Then there is finding a data center to colocate the server; the cost is determined by the line count, bandwidth, and region of the data center. You should also know how to register a domain name, and preferably understand ICP filing.
2. Data link layer
It is about the flow of MAC addresses, switch learning, and LAN-related things.
3. Network layer
Understand the disadvantages of the interconnection of China's major ISPs—China Telecom, China Mobile, China Unicom, and the education network—and master packet capture tools such as tcpdump and Wireshark, the TCP/IP protocol, and of course many router protocols.
4. Cache layer
Learn about several well-known CDN vendors in China.
Several open-source caching software packages
- 1.squid
- 2.varnish
- 3.Traffic Server
5. System layer
First are the three major systems: Linux, Unix, and Windows. In the market, these three are generally used as server operating systems. Linux is the mainstream of today's Internet, so generally you should focus on learning it. Windows refers to Windows 2008 R2. Unix includes AIX and Free BSD. There is no platform discrimination here, because Windows' domain controller management is also very powerful. However, due to Windows' copyright issues and high costs, most people focus on learning Linux, and the Internet also leans toward it. AIX and Free BSD are actually similar after learning Linux, with only minor differences. Interested friends can study the history between Linux and Unix.
6. Database layer
For databases, I generally prefer MySQL, though I have had some contact with Oracle. If you master one well, the others shouldn't be difficult. As for why choose MySQL, it's because it can be used in applications, and for deeper learning you can understand the source code. There is also the non-relational database MongoDB.
7. Container layer
Tomcat, Nginx, Apache, Redis, IIS—there's not much to say here. Based on your language, choose the appropriate container to run your applications.
Recommended books
Linux
- First, for the system, in the Linux world you can refer to Red Hat's RHCE course.
- Brother Bird's Linux Private Kitchen (must-read) (the server edition is mediocre; don't choose it)
- Linux System Administration Handbook (optional; a big book)
- Pearson.Windows.Server.2008.Portable.Command.Guide
- Microsoft.Press.Windows.PowerShell.3.0.First.Steps
- Professional.IIS.7
Windows
For Windows servers, recommend a few English books
Basic commands => batch script writing => PowerShell (equivalent to Linux's BashShell) => domain controller
Network
Cisco CCNP study materials (must buy; switches and routing)
Building High-Performance Web Sites (this book is a must-buy; for beginners, especially important for ops)
TCP/IP Illustrated, Volume 1 (must-read)
Building Highly Available Linux Servers (optional)
Scripts
Shell (no suggestions here; I didn't buy a book myself. Reading online is fine, buying books is also fine. Freely choose from JD.com or China-Pub.)
Besides Shell, as for Python or Perl, I suggest you choose for yourself. I am a Perler, so of course I'd guide you to choose Perl.
O'Reilly: Learning Perl (must-read)
Effective Perl Programming (2nd Edition) (optional)
Higher-Order Perl (optional)
Python
Python Basic Tutorial (must-read)
After understanding the basics, you can apply some frameworks such as Django and Tornado. If you want deeper understanding, of course look at the source code. If you're still interested in going further and think your C is good, you can look at the source code of the Python virtual machine.
Regular expression scripts (the principles of regex; regex is essential in Linux)
Regular Expressions Cookbook (optional)
Mastering Regular Expressions (optional)
Database
High Performance MySQL (must-read)
MySQL High Availability (must-read)
Effective MySQL: Backup and Recovery (optional)
Oracle Database 9i/10g/11g Programming Art: Deep Dive into Database Architecture, 2nd Edition (read it if you use Oracle)
Monitoring
There are many monitoring tools. You can search online for related content, such as Cacti, bmon, nload, iftop, vnstat, iptraf, etc.
Summary
CLI (Command Line Interface) is the root of all operations work. Be familiar with scripts and be able to write them casually. Have a rough troubleshooting plan in mind. For beginners, take the "one-click XXX" scripts found online as examples, and then improve them yourself, such as system initialization, SSH configuration, parameter configuration, etc. A tall building starts from the ground. Although the above books are many, they are still quite necessary to read.
Recommend a good domestic ops forum:http://bbs.linuxtone.org/