Linux Cho .NET Developer: Khóa Học Vận Hành Thực Chiến
Khóa học Linux cho .NET Developer: deploy, vận hành, xử lý sự cố ASP.NET Core trên Linux từ A-Z. Không lý thuyết suông, toàn bài lab thật
Giảng viên
Bạch Ngọc ToànKhóa học bao gồm:
- Video Full HD
- Tài liệu học tập
- Source code mẫu
- Hỗ trợ Q&A
- Cập nhật miễn phí
Nội dung khóa học
0 bài học • giờ học
Mô tả khóa học
2h sáng, điện thoại rung. App ASP.NET Core trên production không phản hồi. Bạn SSH vào server, màn hình đen, con trỏ nhấp nháy — và bạn nhận ra mình chỉ biết cd và ls.
Đây không phải tình huống hiếm. Đó là thứ đang xảy ra với rất nhiều .NET developer ngay lúc này, vì một lý do đơn giản: ngành đã chuyển sang Linux nhanh hơn tốc độ đào tạo. .NET 8, 9, rồi 10 đều cross-platform, container hóa là tiêu chuẩn, VPS Linux rẻ hơn Windows Server vài lần — nhưng phần lớn .NET dev vẫn lớn lên cùng IIS, Remote Desktop và nút Restart trong Server Manager.
Khóa Linux Cho .NET Developer sinh ra để lấp đúng khoảng trống đó. Không phải một khóa Linux chung chung dạy lệnh cd, ls rồi để bạn tự nối nó với .NET. Đây là khóa duy nhất quy mọi bài học về một câu hỏi: app .NET của bạn sẽ chạy, sống và được cứu sống trên Linux như thế nào.
Vấn đề không phải là "không biết Linux" — mà là không biết Linux trong ngữ cảnh .NET
Thử một bài test nhỏ. Nếu bạn từng gặp một trong các tình huống sau mà phải mất hàng giờ search Stack Overflow mới ra, khóa này dành cho bạn:
App chạy bình thường trên máy local, deploy lên Ubuntu thì lỗi 502 — và bạn không biết lỗi nằm ở Kestrel, ở nginx, hay ở firewall.
Connection string đọc từ biến môi trường không nhận được giá trị, vì không ai nói với bạn rằng Linux cần
ConnectionStrings__Defaultvới hai dấu gạch dưới, không phải dấu hai chấm.Server reboot xong, app không tự chạy lại — vì chưa từng nghe đến systemd, chứ đừng nói viết unit file.
HTTPS redirect lặp vô hạn sau khi đặt nginx phía trước Kestrel — vì thiếu một dòng
UseForwardedHeadersmà 90% tutorial không nhắc tới.Disk đầy 100% lúc nửa đêm, hóa ra do file log Serilog không ai rotate trong 6 tháng.
Đây chính là tầng vấn đề thật: không phải bạn lười học Linux, mà các khóa Linux ngoài kia dạy đúng những thứ một sysadmin cần, còn .NET developer cần một bộ kỹ năng hẹp hơn nhưng sâu hơn — đúng cái nằm giữa "build xong code" và "code chạy ổn định trên production".
Khóa học được thiết kế ngược — từ sự cố thật, không từ lý thuyết
Hầu hết tài liệu Linux dạy theo kiểu liệt kê lệnh: đây là chmod, đây là grep, đây là systemctl. Học xong, bạn nhớ cú pháp nhưng không biết khi nào dùng.
Khóa này đi ngược lại. Mỗi module kết thúc bằng một sự cố dựng sẵn trên server thật — học viên phải tự chẩn đoán và xử lý, đúng như việc on-call thật sự. Một vài ví dụ:
Sự cố | Module xử lý |
|---|---|
App trả 502, không biết lỗi ở đâu | Module 6 — Networking & Firewall |
Permission denied khi ghi log | Module 2 — User & quyền |
Disk đầy do log không rotate | Module 9 — Vận hành & giám sát |
Memory leak, CPU 100% không rõ nguyên nhân | Module 9 — dùng |
Deploy xong domain không vào được | Module 5 — Nginx & HTTPS |
Cách học qua sự cố giúp kiến thức ở lại lâu hơn nhiều so với việc đọc một danh sách lệnh. Bạn không học chmod 755 là gì — bạn học cách tự nhận ra khi nào app không ghi được log thì vấn đề nằm ở quyền, rồi mới đi tra chmod.
10 module, đi từ nền tảng Windows-dev đến tự động hóa deploy
Khóa học gồm 10 module, khoảng 78 bài, được sắp xếp theo đúng trình tự một .NET developer cần để tự deploy và vận hành một hệ thống thật:
Nền tảng Linux cho người từ Windows sang — không dạy lại Linux đại cương, mà chỉ ra đúng những khác biệt gây lỗi: filesystem case-sensitive, CRLF/LF, cấu trúc thư mục.
User, quyền và bảo mật căn bản — vì sao không bao giờ chạy app bằng root, SSH key-based auth.
.NET trên Linux — publish, biến môi trường kiểu Linux, cú pháp cấu hình
__thay:.systemd — biến app ASP.NET Core thành service tự khởi động, tự restart khi crash — phần thay thế cho "Windows Service" mà gần như không tài liệu .NET nào dạy kỹ.
Nginx reverse proxy & HTTPS — bao gồm đúng cái lỗi
ForwardedHeaderskhiến nhiều người loay hoay cả buổi.Networking & Firewall — quy trình chẩn đoán "chạy được nhưng không vào được" theo từng lớp.
Database & dịch vụ phụ trợ — PostgreSQL, Redis, backup tự động bằng cron.
Docker hóa ứng dụng .NET — multi-stage Dockerfile, tối ưu image size.
Vận hành, giám sát, xử lý sự cố — phần đặc biệt nhất: dùng
dotnet-counters,dotnet-dump,dotnet-traceđể debug production ngay trên server, không cần Visual Studio.CI/CD tự động hóa (đồ án cuối khóa) — GitHub Actions deploy thẳng lên VPS, có rollback.
Không có Kubernetes trong khóa này. Đó là quyết định có chủ đích — K8s xứng đáng là một khóa riêng, còn khóa này tập trung vào thứ 95% .NET developer cần trước: một VPS Linux chạy ổn định, có giám sát, có CI/CD.
Sự khác biệt nằm ở 3 module mà các khóa Linux khác không có
Trên Udemy hay YouTube, không thiếu khóa "Linux for Developers". Nhưng gần như không khóa nào dạy:
systemd unit file riêng cho ASP.NET Core — không phải ví dụ generic cho một script Python.
ForwardedHeaderskết hợp với nginx — chi tiết nhỏ nhưng là nguyên nhân của vô số bug HTTPS redirect trong các dự án .NET thật.dotnet-counters/dotnet-dump/dotnet-traceđể chẩn đoán sự cố production — bộ công cụ chính thức của .NET nhưng gần như vô hình trong các khóa Linux thông thường, vì chúng không phải dev .NET nên không biết tới.
Đây là phần chỉ người vừa làm .NET production lâu năm, vừa hiểu Linux đủ sâu mới viết được — và đó cũng chính xác là lý do khóa học này tồn tại.
Khóa học này dành cho ai
Phù hợp nếu bạn:
Đang làm backend .NET, đã quen C#/ASP.NET Core nhưng phần deploy/vận hành vẫn đang dựa vào DevOps team hoặc "làm theo hướng dẫn mà không hiểu vì sao".
Tự làm sản phẩm riêng, cần tự host VPS mà không muốn trả thêm cho managed hosting.
Muốn chuyển từ vai trò chỉ viết code sang có thể tự vận hành toàn bộ hệ thống — kỹ năng đang ngày càng được yêu cầu trong JD tuyển .NET developer.
Chưa phù hợp nếu bạn đang tìm một khóa Linux đại cương để thi chứng chỉ, hoặc đang cần Kubernetes — khóa này không phải lựa chọn đúng cho hai mục tiêu đó.
Đăng ký nhận thông báo khai giảng
Khóa Linux Cho .NET Developer đang trong giai đoạn hoàn thiện nội dung. Để không bỏ lỡ ngày mở đăng ký và ưu đãi early-access, để lại thông tin tại trang chờ khóa học trên tedu.com.vn.
Khóa học liên quan
Lập trình dự án Website bán hàng ASP.NET MVC 4
Đây là khóa học của TEDU với format là quá trình làm một dự án thực tế step by step để giúp các bạn giải quyết các vấn đề thường gặp một cách nhanh nhất.
Làm dự án với WebAPI, AngularJS và EF Code First
Đây không đơn thuần là khóa học giúp các bạn làm dự án hay làm project thực tế mà nó còn bao gồm các kiến thức và kỹ năng giúp các bạn làm việc chuyên nghiệp trong môi trường công ty phần mềm.
Khóa học sử dụng TypeScript căn bản
Khóa học TypeScript căn bản là khóa học miễn phí của TEDU giới thiệu cho các bạn làm quen với một ngôn ngữ gọi là TypeScript dùng để phát triển ứng dụng phía client. Giúp bạn có nền tảng tốt để học Angular2
Khóa học Angular 2 căn bản
Khóa học Angular2 cơ bản giới thiệu tổng quan về Angular2 như kiến trúc, các thành phần của Angular2, giúp các bạn tiếp cận nhanh nhất với Angular2.