Blog Góc IT

Các công nghệ mà Nắng Việt sử dụng – Technology Stack

Chào các bạn, hôm nay mình xin chia sẻ với các bạn về các công nghệ/kỹ thuật mà mình sử dụng để xây dựng nên website nangviet.com. Hy vọng sẽ giúp các bạn hiểu rõ hơn về Nắng Việt!

Server

Nói về server là phần mình thích nhất (vì mình dân network mà). Hiện tại mình đang sử dụng Amazon Web Services (AWS) cho phần server. Cụ thể mình sử dụng Amazon EC2 là server ảo trên đám mây (Amazon ghi là: virtual server in the cloud). Cấu hình của mình sử dụng đó là gói miễn phí với 1GB ram.

amazon web service

Chắc nhiều bạn sẽ thắc mắc vì sao mình không dùng hosting ở Việt Nam? Đơn giản mình muốn trải nghiệm thật nhiều để có thể chia sẻ với các bạn những trải nghiệm của mình. Ngoài ra nền tảng AWS còn cung cấp rất nhiều dịch vụ khác.

Hệ điều hành – Operating System

Về hệ điều hành mình sử dụng Ubuntu (thay vì Centos) vì theo cá nhân mình thấy Ubuntu nhẹ hơn Centos. Việc cài đặt được thực hiện hoàn toàn tự động bởi Amazon do đó mình cũng không bận tâm nhiều về hệ điều hành.

maxresdefault

Vậy mình quản lý server này như thế nào? Rất đơn giản, mình sử dụng SSH để điều khiển, cài đặt cấu hình cho server này. Tuy nhiên có một điều rắc rối là mình không biết được mật khẩu root mà phải cài đặt mã công khai mới có thể đăng nhập bằng ssh được. Các bạn có thể tạo tài khoản khác và gán quyền root. Mình sẽ làm một series hướng dẫn các bạn về xây dựng hệ thống này.

Các phần mềm

Sau khi có server và cài đặt hệ điều hành xong, mình cài đặt các phần mềm làm dịch vụ (software as service) lên server. Do hạn chế về phần cứng nên mình chỉ cài web server và database server gồm: nginx, php-7 và mysql.

Nginx

19dea13

Web server mình sử dụng Nginx (đọc là Én-gin-X), phần vì nginx có hiệu năng tốt hơn các phần mềm web server khác như Apache, lighttpd, v.v… Việc cài đặt nginx trên Ubuntu cũng không quá khó khăn.

PHP-7 (PHP-FPM)

Tiếp theo mình cài PHP vì mình định hướng website nangviet.com sẽ sử dụng WordPress. Ở đây mình phải cài đặt thêm php-fpm (FastCGI Process Manager) vì nginx không hỗ trợ xử lý php trực tiếp mà phải thông qua FastCGI.

MySQL

Cuối cùng mình cài đặt MySQL và thực hiện một số cấu hình để bắt đầu chạy hệ thống. Công việc cuối cùng đó là mình chuyển toàn bộ source và database từ server cũ (share host tại Việt Nam) sang server mới này. Việc upload source và dữ liệu mình sẽ chia sẻ sau vì bài viết này mình chỉ tập trung vào giới thiệu các công nghệ là chính.

WordPress

WordPress (WP) là một phần mềm mã nguồn mở xây dựng trên nền web. WP được viết bằng PHP và hiện trên thế giới có rất nhiều website được xây dựng trên nền WP. Nhu cầu của mình khi xây dựng website này cũng đơn giản mà WP lại hội đủ yêu cầu đó nên mình sử dụng thôi (nói vui là “mình thích thì mình dùng thôi”).

Đánh giá

Hiện tại mình đang sử dụng gói Free 12 tháng, tuy nhiên với cấu hình này chỉ đáp ứng được cho thời gian đầu mình xây dựng nangviet.com. Về sau mình sẽ nghiên cứu sử dụng VPS khác cho nangviet.com. Mình sẽ viết bài chia sẻ về việc xây dựng hệ thống của mình.

Theo cá nhân mình đã sử dụng qua Google Cloud, Azure thì AWS có phần dễ sử dụng hơn (đặc biệt free đến 12 tháng mà). Tuy nhiên khi đăng ký EC2 thì các bạn chỉ có thể chọn khu vực là Châu Âu hay Châu Mỹ thì cũng khá xa Việt Nam sẽ làm truy cập ở Việt Nam bị chậm. Nhưng nangviet.com hiện đang sử dụng server AWS ở khu vực Châu Á, mình sẽ hướng dẫn các bạn cách để chuyển về khu vực Châu Á này.

Việc cài đặt hệ thống và phần mềm cũng tương đối đơn giản cho dù bạn chưa có kinh nghiệm cài đặt server bao giờ. Tuy nhiên nó hơi rắc rối ở bước kết nối SSH do bạn phải tạo khóa và chuyển đổi khóa mới có thể đăng nhập được.

Về hạn chế của gói miễn phí đó là bạn chỉ có thể chạy một máy ảo với cấu hình thấp nhất. Nhưng cấu hình này cũng đủ để các bạn học tập rồi. Bạn cũng có thể cài Windows thay Linux nhưng nó sẽ chạy rất chậm.