- vừa được xem lúc

Các bước để triển khai trang Web trên Ubuntu VPS với tên miền thực tế

0 0 6

Người đăng: Nam Trần

Theo Viblo Asia

Phần 1: Thiết Lập Môi Trường Cơ Bản

1. Giới Thiệu

Xin chào, mình là Nam, hiện đang là sinh viên năm 3 chuyên ngành AI tại FPTU. Mình có niềm đam mê lớn với công nghệ và đã triển khai thành công dự án trên nền tảng Ubuntu VPS. Qua bài viết này, mình hy vọng sẽ giúp các bạn từng bước đưa website của mình đến gần hơn với người dùng một cách chuyên nghiệp và hiệu quả.

1.1 VPS Ubuntu là gì?

VPS (Virtual Private Server) là một máy chủ ảo độc lập hoạt động trong một máy chủ vật lý lớn hơn. Khác với shared hosting truyền thống, VPS cung cấp tài nguyên độc lập và được phân bổ riêng biệt.

<aside> Ưu điểm nổi bật của VPS: </aside>
  • Tài nguyên độc lập: CPU, RAM, và bộ nhớ được phân bổ riêng, đảm bảo hiệu suất ổn định
  • Toàn quyền kiểm soát: Quyền root cho phép tùy chỉnh server theo nhu cầu
  • Khả năng mở rộng: Dễ dàng nâng cấp hoặc hạ cấp tài nguyên khi cần thiết
  • Bảo mật cao: Môi trường độc lập giúp tăng cường bảo mật

2. Chuẩn Bị

2.1 Yêu Cầu Hệ Thống

  • VPS với Ubuntu Server (phiên bản LTS mới nhất)
  • Tối thiểu 1GB RAM
  • Ít nhất 20GB bộ nhớ
  • Kết nối internet ổn định

2.2 Cài Đặt Hệ Điều Hành Ubuntu

Để cài đặt hệ điều hành Ubuntu một cách chi tiết và chính xác, bạn có thể tham khảo hướng dẫn chính thức từ trang chủ Ubuntu hoặc qua Youtube Anh Việt Nguyễn AI. Tài liệu này cung cấp đầy đủ các bước từ tải file ISO, tạo USB bootable, đến quá trình cài đặt trực tiếp trên máy chủ hoặc máy tính của bạn.

Mình khuyến nghị sử dụng phiên bản Ubuntu 20.04.6 LTS (Focal Fossa). Đây là phiên bản ổn định, được hỗ trợ lâu dài (LTS), và trong quá trình sử dụng mình nhận thấy nó tương thích tốt với các thư viện và ít gặp lỗi hơn so với các phiên bản khác.

2.3 Kiểm Tra Kết Nối

Trước khi tiến hành các bước tiếp theo, hãy đảm bảo rằng VPS của bạn có kết nối internet ổn định. Bạn có thể kiểm tra bằng cách sử dụng lệnh ping đến một trang web phổ biến, ví dụ như Google:

ping -c 4 google.com
Output Example: namhost@server-host-839:~$ ping -c 4 google.com
PING google.com(hkg07s48-in-x0e.1e100.net (2404:6800:4005:80a::200e)) 56 data bytes
64 bytes from hkg07s01-in-x0e.1e100.net (2404:6800:4005:80a::200e): icmp_seq=1 ttl=58 time=45.2 ms
64 bytes from hkg07s01-in-x0e.1e100.net (2404:6800:4005:80a::200e): icmp_seq=2 ttl=58 time=45.4 ms
64 bytes from hkg07s01-in-x0e.1e100.net (2404:6800:4005:80a::200e): icmp_seq=3 ttl=58 time=44.6 ms
64 bytes from hkg07s01-in-x0e.1e100.net (2404:6800:4005:80a::200e): icmp_seq=4 ttl=58 time=45.3 ms --- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 44.557/45.115/45.430/0.332 ms

4 packets transmitted, 4 received, 0% packet loss: Điều này cho thấy tất cả các gói tin đã được gửi và nhận thành công, đồng nghĩa với việc kết nối internet của bạn ổn định. Đến bước tiếp theo.

2.4 Cập Nhật Hệ Thống

Cập nhật toàn bộ hệ thống để đảm bảo an toàn và hiệu suất tối ưu:

sudo apt update && sudo apt upgrade -y

3. Thiết Lập Môi Trường

3.1 Cài Đặt Nginx

Nginx là web server hiệu năng cao, nhẹ nhàng và được sử dụng rộng rãi trong các ứng dụng web hiện đại.

<aside> Các bước cài đặt Nginx: </aside>
  1. Bước 1: Cài đặt Nginx

    sudo apt update
    sudo apt install nginx -y
    
  2. Bước 2: Cấu hình tường lửa

    Trước khi kiểm tra Nginx, bạn cần điều chỉnh phần mềm tường lửa để cho phép truy cập vào dịch vụ. Khi cài đặt, Nginx tự động đăng ký như một dịch vụ với ufw, giúp việc cấp quyền truy cập cho Nginx trở nên đơn giản.

    Bạn có thể liệt kê các cấu hình ứng dụng mà ufw hỗ trợ bằng cách nhập lệnh sau:

    sudo ufw app list
    
    Output: Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH
    

    Nếu ufw chưa được cài đặt hãy chạy lệnh này và kiểm tra lại:

    sudo apt-get install ufw
    

Kết quả hiển thị sẽ bao gồm:

  • Nginx Full: Cho phép cổng 80 (HTTP) và 443 (HTTPS)
  • Nginx HTTP: Chỉ cho phép cổng 80
  • Nginx HTTPS: Chỉ cho phép cổng 443
  • OpenSSH: Cho phép kết nối SSH (cổng 22)
  1. Bước 3: Cấu hình quy tắc tường lửa

    1. Bạn nên kích hoạt profile tường lửa (firewall profile) hạn chế nhất mà vẫn cho phép lưu lượng (traffic) mà bạn đã cấu hình trước đó. Điều này giúp bảo vệ hệ thống của bạn khỏi các mối đe dọa không mong muốn, chỉ mở những cổng cần thiết cho hoạt động của ứng dụng.
    sudo ufw allow 'Nginx HTTP'
    sudo ufw status
    
    Output: namhost@server-host-839:~$ sudo ufw status
    Status: active To Action From
    -- ------ ---- Nginx HTTP ALLOW Anywhere Nginx HTTP (v6) ALLOW Anywhere (v6)
    
  2. Bước 4: Khởi động và kích hoạt Nginx

    sudo systemctl start nginx
    sudo systemctl enable nginx #Automatic open Server when turn on Computer
    sudo systemctl status nginx
    
    namhost@server-host-839:~$ systemctl status nginx
    ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2024-11-25 08:09:39 +07; 6h ago Docs: man:nginx(8) Main PID: 874 (nginx) Tasks: 9 (limit: 4470) Memory: 14.1M CGroup: /system.slice/nginx.service ├─874 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ├─875 nginx: worker process
    

    Sau khi hoàn tất cài đặt, bạn có thể truy cập website qua địa chỉ IP của VPS hoặc http://localhost or http://127.0.0.1/. Nếu thấy trang chào mừng của Nginx, chúc mừng bạn đã cài đặt thành công!

    Hoặc bạn có thể kiểm tra máy tính có thể giao tiếp với các thiết bị khác trong cùng mạng LAN (Local Area Network).

    sudo apt update
    sudo apt install net-tools
    

    Để kiểm tra địa chỉ IP của máy tính, bạn có thể sử dụng lệnh.

    ifconfig
    
    Output: namhost@server-host-839:~$ ifconfig
    eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.221 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fd00:db80::6 prefixlen 128 scopeid 0x0<global> inet6 2405:4802:80c2:cf00:b14:d108:2ab3:c023 prefixlen 64 scopeid 0x0<global> inet6 fd00:db80::c173:6ff3:2152:e89b prefixlen 64 scopeid 0x0<global> inet6 2405:4802:80c2:cf00:bf20:6e4:4350:e2a prefixlen 64 scopeid 0x0<global> inet6 fd00:db80::3d69:5558:97c4:e32c prefixlen 64 scopeid 0x0<global> inet6 fe80::8e42:2ec0:47fb:6a2d prefixlen 64 scopeid 0x20<link> inet6 2405:4802:80c2:cf00::6 prefixlen 128 scopeid 0x0<global> ether 10:e7:c6:7e:e6:0a txqueuelen 1000 (Ethernet) RX packets 383751 bytes 114963673 (114.9 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 597949 bytes 249543541 (249.5 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 3299 bytes 314563 (314.5 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3299 bytes 314563 (314.5 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    

    Địa chỉ IP của máy tính là 192.168.100.221. Bạn có thể kết nối đến máy tính này qua cổng 80 (HTTP) bằng cách truy cập vào địa chỉ: http://192.168.100.221:80

3.2 Quản Lý Nginx

Các lệnh quản lý cơ bản:

  • Khởi động: sudo systemctl start nginx
  • Dừng: sudo systemctl stop nginx
  • Khởi động lại: sudo systemctl restart nginx
  • Tải lại cấu hình: sudo systemctl reload nginx
  • Kiểm tra trạng thái: sudo systemctl status nginx

Tài liệu tham khảo:

Sau khi thiết lập môi trường mạng nội bộ, chúng ta sẽ cùng nhau tiến xa hơn, mở rộng khả năng truy cập từ bên ngoài mạng LAN bằng cách mở port và triển khai tên miền, giúp website của bạn dễ dàng tiếp cận từ bất kỳ đâu trên thế giới.

Cảm ơn bạn đã dành thời gian đọc bài viết này! Đây là bài viết đầu tiên của mình tìm hiểu qua nhiều nguồn và tổng hợp lại hy vọng những hướng dẫn trên sẽ giúp bạn triển khai website trên Ubuntu VPS một cách dễ dàng trong môi trường localhost. Nếu bạn có bất kỳ thắc mắc, góp ý hoặc cần hỗ trợ thêm, đừng ngần ngại để lại bình luận. Mọi ý kiến của bạn đều rất quý giá và sẽ giúp mình cải thiện nội dung tốt hơn trong tương lai!

Phần 2: Mở Rộng Kết Nối: Cấu Hình Port và Triển Khai Tên Miền Công Khai (dự kiến 5/12/2024)

Bình luận

Bài viết tương tự

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 1- Lịch sử)

1. Vì sao nên sử dụng. . .

0 0 107

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 2 - Dockerfile)

1. Mở đầu.

0 0 69

- vừa được xem lúc

Cách Tạo Và Sử Dụng Bash Script Cơ Bản Trong Ubuntu

Bash scripting là một phần cực kỳ mạnh mẽ và hữu ích của phát triển và quản trị hệ thống. Lần đâu tiên làm việc với nó có thể gây cho bạn cảm giác sợ hải và phức tạp, mình hy vọng hướng dẫn này sẽ giúp có những hiểu biết cơ bản về bash script để không bị bở ngở khi làm việc với nó.

0 0 62

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 5

Hello 500 ae, sau 4 số trong seri này mình thấy có vẻ ae có hứng thú đọc chủ đề này ghê. Hi vọng những gì mình tìm hiểu được sẽ giúp ích được cho nhiều bạn hơn.

0 0 53

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 4

Sau một kì nghỉ tết trong thời buổi đại dịch vừa qua. Không còn những buổi dong chơi đi chúc tết nữa. Ở nhà ra số tiếp theo cho anh em đây. Dưới đây sẽ là 2 command được sử dụng nhiều nhất khi sử dụng file.

0 0 54

- vừa được xem lúc

Tài khoản người sử dụng và phân quyền truy cập tệp trên Ubuntu (P1)

Hôm nay, mình sẽ giới thiệu cho mọi người về Tài khoản người sử dụng (NSD) và phân quyền truy cập trên Ubuntu. Bài viết này được chia thành hai phần: phần một nói về tài khoản người sử dụng và phần hai nói về quyền truy cập trên Ubuntu.

0 0 44