Lưu trữ Danh mục: Kiến Thức Về Website

Hướng dẫn cài đặt giao diện cho Ubuntu 22.04

I. Khái niệm GUI là gì?

GUI được viết tắt của Graphical User Interface – Giao diện đồ họa người dùng. GUI giúp người dùng dễ dàng hơn trong quá trình giao tiếp với thiết bị điện tử thông minh, bằng việc sử dụng hình ảnh hoặc chữ viết thay vì mất công gõ các đoạn văn bản dài dòng. GUI đang được ứng dụng cực kì phổ biến.

II. Cài đặt

1. Bước 1: Đầu tiên cần chạy lệnh update và upgrade

apt-get update -y

2. Bước 2: Hãy nhập và chạy các lệnh bên dưới để cài đặt
Lưu ý: Ở các bước cài đặt hệ thống sẽ xác nhận chỉ cần nhập Y và chờ tải hoàn tất
Ở tất cả các thông báo thiết lập hoặc chạy lại service tiếp tục bằng cách nhấn chọn ENTER

sudo apt install ubuntu-gnome-desktop #Full Version
sudo apt install ubuntu-desktop-minimal #Minimal
sudo apt install vanilla-gnome-desktop #More Stripped Than Minimal
sudo apt install task-gnome-desktop #Full

III. Kết quả

Sau khi đã cài đặt xong hãy khởi động lại server để khởi động giao diện người dùng vừa cài đặt

Sau khi đã khởi động lại ta thấy Welcome to Ubuntu 22.04
hãy chọn StartSetup ở cuối màn hình để setup user login vào server

Hoàn tất các công đoạn trên, hãy chọn Start Using Unbuntu để truy cập

Sau khi hoàn tất sẽ hiện cửa sổ đăng nhập. Như vậy quá trình cài đặt đã hoàn tất

Như vậy, Long Vân đã hoàn thành hướng dẫn cài giao diện cho Ubuntu 22.04. Chúc quý khách thành công!

Hướng dẫn thiết lập NGINX làm Reverse Proxy

Yêu cầu cài đặt
– Hệ điều hành hoặc server linux tương thích centos/ubuntu/…
– Có quyền truy cập và tài khoản người dùng root hoặc sudo

I. Cài đặt NGINX

Đảm bảo NGINX đã cài đặt trên máy chủ. Hãy thực hiện theo các bước bên dưới

1. Cập nhật danh sách các gói apt repository

sudo apt update 

2. Cài đặt NGINX bằng lệnh sau

sudo apt install nginx 

Chờ quá trình cài đặt hoàn tất.

3. Kiểm tra phiên bản NGINX

nginx -v

Lệnh hiện ra thông tin phiên bản NGINX, cho biết quá trình cài đặt đã thành công.

II. Khởi động NGINX và cấu hình NGINX tự khởi chạy khi khởi động lại

Các lệnh sau đây khởi động NGINX và tự động chạy NGINX sau khi khởi động lại
1. Khởi động service NGINX bằng lệnh systemctl

sudo systemctl start nginx

2. Thiết lập cấu hình NGINX tự động khởi chạy sau khi khởi động lại, hãy chạy lệnh enable

sudo systemctl enable nginx

Lệnh thực thi tập lệnh để cho phép NGINX khởi chạy tự động.

3. Để kiểm tra trạng thái máy chủ NGINX, hãy dùng lệnh:

sudo systemctl status nginx

Thông tin hiển thị trạng thái Active: active (running) cho thấy dịch vụ đang chạy.

III. Hủy liên kết (symlolic link) cấu hình mặc định

NGINX sử dụng tập cấu hình được liên kết mặc định. Tạo reverse proxy cần tạo và liên kết thủ công. Để tránh các xung đột tiềm ẩn ngoài ý muốn, hay dùng lệnh sau:

sudo unlink /etc/nginx/sites-enabled/default

Lệnh hủy liên kết tệp cấu hình mặc định.

IV. Tạo tệp cấu hình mới

Hãy cấu hình theo dưới đây để tạo tệp cấu hình mới:
1. Tạo một tệp mới trong thư mục NGINX /etc/nginx/site-available 

sudo vi /etc/nginx/sites-available/reverse-proxy

2. Thiết lập cấu hình NGINX để hoạt động như một reverse proxy.
Thêm cấu hình mẫu sau vào tệp:

server {
    listen 80;
    server_name localhost;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Cấu hình bao gồm server {…} xử lí các yêu cầu phù hợp với điều kiện được chỉ định gồm các dữ liệu:

  • listen 80: máy chủ nhận yêu cầu từ HTTP đến cổng 80
  • server_name localhost: tên miền của web server muốn sử dụng. Ví dụ này sử dụng localhost để kiểm tra thử nghiệm hoạt động của reverse proxy
  • location {…}: cấu hình cho đường dẫn URI được chỉ định
  • proxy_pass http://127.0.0.1:8000: Máy chủ web mà proxy NGINX yêu cầu. Ví dụ đang sử dụng IP máy chủ cục bộ trên cổng 8000. Có thể thay thế sử dụng URL máy chủ khác
  • proxy_set_header: Thiết lập tiêu đề HTTP cho yêu cầu proxy. Các tiêu đề đề cấp đến máy chủ phụ và cung cấp bổ sung thông tin về yêu cầu của client. Bao gồm Header, IP, scheme (HTTP và HTTPS).

Lưu ý thay thế cổng, server_name và URL máy chủ phụ bằng dữ liệu thực tế.
Ví dụ này chuyển tiếp tất cả các yêu cầu thực hiện đến localhost đến địa chỉ http://127.0.0.1:8000

3. Lưu tệp và thoát trình soạn thảo.

V. Liên kết và kích hoạt tệp cấu hình mới

Liên kết tệp cấu hình mới và kích hoạt nó bằng lệnh sau:

sudo ln -s /etc/nginx/sites-available/reverse-proxy /etc/nginx/sites-enabled/

Thư mục /etc/nginx/sites-enabled chứa các tệp cấu hình đang được sử dụng.
NGINX sử dụng các cấu hình được liên kết mới /etc/nginx/sites-enabled để xử lí các yêu cầu mà không sao chép các tệp cấu hình.

VI. Kiểm tra và khởi động lại NGINX

Kiểm tra cú pháp cấu hình bằng lệnh sau:

sudo nginx -t

Để áp dụng các thay đổi, hãy khởi động lại máy chủ NGINX:

sudo systemctl restart nginx

Việc khởi động lại không phát sinh lỗi cú pháp, cho biết reverse proxy NGINX đã hoạt động hãy kiểm tra

VII. Kiểm tra Reverse Proxy

Để kiểm tra Reverse Proxy, hãy tiến hành như sau:
1. Tạo một thư mục mới gồm một trang index để thử nghiệm:

mkdir web_backend && cd web_backend

Lệnh bao gồm tạo thư mục và truy cập đến thư mục mới.

2. Tạo một tệp index.html mới để làm trang chủ

vi index.html

Máy chủ phụ sẽ hiển thị trang khi client truy cập localhost

3. Thêm đoạn mã sau vào tệp index.html:

<html>
<head>
<title>NGINX backend</title>
</head>
<body>
<h1>Great!</h1>
</body>
</html>

Đây là mã tạo trang HTML cơ bản.

4. Lưu và đóng tệp.

5. Chạy máy chủ phụ trong cùng thư mục với tệp index.html bằng lệnh sau:

python3 -m http.server

Lệnh khởi động máy chủ HTTP với cổng 8000 trang index.html.

6. Chạy kiểm tra curl request tới localhost trong terminal:

curl localhost

Ngoài ra, truy cập thử từ trình duyệt web.

Trong hai trường hợp, Reverse Proxy chuyển tiếp yêu cầu của máy khách tới máy chủ phụ. Máy chủ phụ phản hồi với trang HTML, cho biết Reverse Proxy NGINX được thiết lập chính xác.

Như vậy Long Vân đã hướng dẫn thiết lập NGINX làm Reverse Proxy hoàn tất, chúc Quý khách thành công!

Hướng dẫn khôi phục mật khẩu trên Ubuntu

Bước 1: Boot vào Menu GRUB của Ubuntu
Bước 2: Nhấn phím E để chỉnh sửa

Tìm dòng có nội dung khoanh đỏ trong ảnh phía trên đổi thành “ro” -> ” rw init=/bin/bash”
Sau đó nhấn tổ hợp phím “Ctrl + X” để lưu.

Bước 3: Tiếp theo hãy chạy lệnh “mount -o remount,rw /” để gắn filesystem với quyền write

Bước 4: Tiến hành thay đổi lại mật khẩu root bằng lệnh “passswd
Bước 5: Sau khi thay đổi, hãy chạy lệnh “reboot -f ” để boot khởi động lại vào server
Đăng nhập bằng mật khẩu(password) vừa khôi phục

Như vậy, Long Vân đã hoàn thành hướng dẫn khôi phục mật khẩu trên Ubuntu. Chúc quý khách thành công!

Hướng dẫn cấu hình SSH Keys trên linux

SSH Keys hay Secure Shell Keys , là một cặp khóa mật mã được sử dụng để thiết lập kết nối an toàn giữa client và server. Trong bài viết này Long Vân sẽ hướng dẫn quý khách cấu hình SSH Keys trên linux.

Bước 1: Tạo SSH Key

Có thể sử dụng tool để tạo Key như Xshell hay Putty. Trong hướng dẫn này sử dụng Xshell để tạo Key.
Mở Xshell -> Tools -> User Key Manager

Sau đó chọn Generate 

Bấm Next cho tới User Key Infomation, phần Passphrase có thể để trống hoặc nhập mật khẩu khi sử dụng Key SSH vào server xong bấm Next
Ở đây bấm Finish để hoàn thành việc tạo Key

Ở mục User Keys chọn Properties Key vừa tạo
Bấm vào Public Key và copy nội dung của Key

Bước 2: Sao chép Public Key vào Server

SSH vào server và dán nội dung Public key của bước 1 vào file /root/.ssh/authorized_keys

Bước 3: Bật xác thực SSH Key và vô hiệu hóa xác thực bằng mật khẩu

Vào cấu hình file /etc/ssh/sshd_config và điều chỉnh lại các cấu hình theo ảnh bên dưới
– Tìm đến PubkeyAuthentication chỉnh sửa no > yes
– Thêm đường dẫn chứa SSH Keys AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

– Tìm đến PasswordAuthentication chỉnh sửa yes > no. Để tắt truy cập với mật khẩu thông thường

Restart lại service SSH và kiểm tra lại cấu hình bằng lệnh “sshd -T

Bước 4: Kiểm tra SSH tới server bằng Public Key

– Sử dụng SSH Keys đã có trên máy, nhập Passphrase đã thiết đặt để truy cập vào Server

Màn hình đăng nhập đã truy cập vào server với SSH Keys thành công

Như vậy, Long Vân đã hoàn thành hướng dẫn cấu hình SSH Keys trên server Linux. Chúc Quý khách thành công!

Hướng dẫn cấu hình Master – Slave của MySQL trên Linux

I. Giới thiệu

MySQL có một chức năng gọi là Replicate cho phép duy trì các bản sao của Database từ server Master (gốc) sang một server Slave (dự phòng) để lưu trữ các dữ liệu phục vụ cho các trường hợp bạn muốn sao lưu hoặc phòng hờ trường hợp xấu nhất nếu server gốc một ngày nào đó gặp phải vấn đề ngoài ý muốn liên quan đến dữ liệu làm việc của bạn.
Hôm nay Long Vân sẽ hướng dẫn cho các bạn cách cấu hình Master – Slave để sao lưu Database nhé.

II. Chuẩn bị

– 1 Server Linux đóng vai trò làm Master.
– 1 Server Linux đóng vai trò làm Slave.
– Cơ sở dữ liệu: MySQL 8. trở lên.

III. Cài đặt MySQL Server

1. Cài đặt MySQL

Ubuntu/Debian:

sudo apt update
sudo apt install mysql-server -y

CentOS/Redhat:

sudo yum update
sudo yum install mysql-server -y

2. Khởi động MySQL

Ubuntu/Debian:

systemctl start mysql.service
systemctl enable mysql.service

CentOS/Redhat:

systemctl start mysqld
systemctl status mysqld

IV. Cấu hình Master – Slave

Server Master

1. Truy cậo vào file cấu hình của MySQL và điều chỉnh các thông số cần thiết như sau:

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf


– bind-address: IP của server
– Master log_error: file log lỗi (mặc định)
– server-id: id của server ( bạn có thể chọn bất kỳ số nào làm giá trị nhưng số đó phải là duy nhất không được trùng với các id của server khác)
– binlog_do_db: Database mà bạn muốn Replicate
* Bạn có thể Replicate nhiều Database với chỉnh sửa như sau:
binlog_do_db = db
binlog_do_db = db_1
binlog_do_db = db_2

Sau khi điều chỉng thông số hoàn tất chúng ta sẽ restart lại MySQL để nhận cấu hình:

sudo systecmtl restart mysql

2. Tiếp theo sẽ vào MySQL tạo user và phân quyền bằng lệnh “sudo mysql“:

mysql> CREATE USER 'slave_user'@'slave_server_ip' IDENTIFIED WITH mysql_native_password BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'slave_server_ip';
mysql> FLUSH PRIVILEGES; 

*Lưu ý: thay thế các thông số của slave_user thành thành thông tin của server Slave nhé!
Tiếp theo ta sẽ truy xuất toạ độ Binary Log từ server Master

mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS; 


Đây sẽ là vị trí mà các server Slave bắt đầu sao chép database, chúng ta sẽ lưu lại thông tin của “File” và “Position”, vì sẽ cần dùng để cấu hình cho server Slave

3. Tạo Database cần sao lưu cho server Master:

mysql> CREATE DATABASE longvan_db;  
mysql> Use longvan_db; 
mysql> CREATE TABLE longvan_table ( longvan_column varchar(30) ); 
mysql> INSERT INTO longvan_table VALUES (‘longvan.net'), ('support.longvan.net');

Server Slave
Đầu tiên chúng ta sẽ vào file config của Mysql

vi /etc/mysql/mysql.conf.d/mysql.cnf


Ở đây các thông số sẽ tương tự với Master ngoại trừ server-id là đặc thù nên phải thay đổi, và ngoài ra thêm phần relay-log xác định vị trí lưu nhật ký chuyển tiếp của bản sao Database.
Restart lại MySQL để nhận cấu hình trên server Slave

sudo systemctl restart mysql

Sau đó chúng ta vào giao diện của Mysql để cấu hình cho server Slave kết nối được Master

sudo mysql
mysql> CHANGE REPLICATION SOURCE TO
mysql> SOURCE_HOST='Master_server_ip',              # ip của server Master
mysql> SOURCE_USER='slave_user',                    # user replicate tạo trên server Master
mysql> SOURCE_PASSWORD='password',                  # password user replicate
mysql> SOURCE_LOG_FILE='mysql-bin.000004’,          # thông số File lưu ở server Master
mysql> SOURCE_LOG_POS=157;                          # thông số Position đã lưu ở Master 

Sau đó chúng ta sẽ dùng lệnh START SLAVE; để bắt đầu sao lưu database

Như ta thấy vậy là server Slave đã replicate được database của server Master

Website là gì? Trang web là gì? Cấu tạo, hoạt động và các loại website phổ biến

Website là gì?

Web là tên thường gọi của World Wide Web (mạng toàn cầu), một tập hợp con của Internet bao gồm các trang có thể được truy cập bằng trình duyệt Web.

Website là gì - hinh 01

Các trang web được định dạng bằng ngôn ngữ gọi là Ngôn ngữ đánh dấu siêu văn bản (Hypertext Markup Language – HTML). Ngôn ngữ này cho phép người dùng nhấp qua các trang trên Web thông qua các liên kết. Web sử dụng giao thức HTTP để truyền dữ liệu và chia sẻ thông tin. Các trình duyệt như Internet Explorer, Google Chrome hoặc Mozilla Firefox hoạt động như một công cụ để người dùng có thể truy cập các tài liệu Web hoặc các trang Web được kết nối thông qua các liên kết.

Web chỉ là một trong những cách chia sẻ thông tin qua Internet bên cạnh những thứ khác bao gồm email, nhắn tin tức thời và Giao thức truyền tệp (FTP).

Hiểu một cách ngắn gọn thì Web là mạng.

Còn Site là địa điểm. Ví dụ worksite có nghĩa là nơi làm việc, chỉ một địa điểm, địa chỉ cụ thể.

Như vậy Website = Web + Site, tức một địa chỉ cụ thể trong mạng toàn cầu hay còn được gọi là trang mạng.

Điều đó có nghĩa là website phải đảm bảo được các yếu tố: Nằm trong mạng toàn cầu, có thể truy cập bằng các trình duyệt web, sử dụng giao thức HTTP để truyền dữ liệu và chia sẻ thông tin và quan trọng là phải có một địa chỉ cụ thể.

Website thường chứa các nội dung văn bản, hình ảnh, video và rất nhiều định dạng nội dung khác, được lưu trữ trên máy chủ.

Website là gì - hinh 06

Phiên âm tiếng Anh của website là “ˈwebsīt”, cách đọc gần đúng là “goép-sai”.

Tuy nhiên, khái niệm nêu trong Điều 3 Nghị định 72/2013/NĐ-CP, khẳng định “website” được định nghĩa là “trang thông tin điện tử”.

Đến đây thì có lẽ bạn đã phần nào nắm được website là gì rồi đúng không nào. Tuy nhiên cũng cần làm rõ một sự nhầm lẫn khá phổ biến giữa “website” và “trang web”.

Vậy trang web là gì?

Trang web, trong tiếng Anh là “web page”, là một phần của website. Một website thông thường sẽ bao gồm nhiều web page hoặc tối thiểu là một web page.

Tuy nhiên trong thực tế thì phần lớn người Việt Nam vẫn sẽ ngầm hiểu rằng “trang web” = “website”, mặc dù có chút không đúng về mặt định nghĩa nhưng trong giao tiếp hàng ngày, không phải các văn bản quan trọng thì cách sử dụng này vẫn được chấp nhận rộng rãi.

Cấu tạo và hoạt động của website là gì

Website thường chứa nhiều webpage hay còn thường được gọi là trang con. Tất cả được lưu trữ dưới định dạng html hoặc xhtml (Extensible HyperText Markup Language – mở rộng của html). Chúng sẽ được lưu trên các máy chủ (web server).

Website là gì - hinh 04

Khi người dùng muốn truy cập các thông tin từ website cần sử dụng các trình duyệt web để truy cập vào địa chỉ của website, đọc các file lưu trữ dưới định dạng html hoặc xhtml và hiển thị dưới dạng trực quan để dễ dàng tiếp nhận nội dung, thao tác.

Một website muốn hoạt động cần có các thành phần:

  • Source Code (mã nguồn): Để các nội dung có thể hiển thị, thao tác, tương tác, tự động tối ưu trên từng loạt thiết bị…
  • Web hosting (Lưu trữ web): Nếu website là một ngôi nhà thì hosting chính là miếng đất để xây ngôi nhà đó. Nó lưu trữ Source Code, hình ảnh, video, nội dung… của website.
  • Tên miền (domain): Khi bạn đã có miếng đất và ngôi nhà, bạn cần có địa chỉ để những người khác có thể tìm đến và truy cập. Vì vậy bạn cần có một tên miền (domain). Mỗi tên miền là duy nhất trên toàn thế giới để đảo bảo mọi người đều có thể đến chính xác nhà của bạn.

Website là gì - hinh 02

Các thành phần giao diện website

Một website hay một webpage đều cần các thành phần dưới đây để hoạt động, sử dụng một cách bình thường.

Header

Header là phần đầu trang thường chứa logo, thanh điều hướng, nút tìm kiếm, giỏ hàng… Tuy nhiên trong một số trường hợp như landing page có thể không có Header hoặc Header chỉ bao gồm logo.

Slider/Carousel

Thành phần này không nhất thiết phải có trên website nhưng phần lớn các website đều có thêm phần này nhằm thu hút sự quan tâm của người dùng. Đây chính là phần hiển thị tóm tắt các nội dung quan trọng, các khuyến mãi hot (với website bán hàng), các nút kêu gọi hành động (như nhắn tin, điền thông tin…), các tin hot (với website tin tức)…

Hiện tại các trang web thường thiết kế dạng động với nhiều hình ảnh tự trượt qua thể hiện nhiều thông tin nổi bật khác nhau, nhưng cũng có những website chỉ sử dụng các ảnh tĩnh, hay còn được gọi là banner.

Content Area

Đây là nơi hiển thị nội dung hay còn được gọi là body. Khi bạn đang đọc bài viết này thì phần nội dung, hình ảnh bạn đang đọc chính là Content Area. Đây là phần quan trọng nhất của một website, nơi cung cấp các thông tin giá trị nhất cho người đọc. Tất cả những nội dung xuất hiện trong Content Area ảnh hưởng trực tiếp đến thứ hạng tìm kiếm trên Google cũng như quyết định xem người đọc có muốn tiếp tục ở lại website này hay không.

Footer

Nằm ở cuối cùng của trang web là Footer. Footer khá đa dạng về hình thức, nội dung, thông tin hiển thị nhưng chủ yếu sẽ là các thông tin về bản quyền, giấy phép, liên kết đến fanpage, Google Maps, đôi khi là các website liên quan, hệ thống cửa hàng và chi nhánh, menu điều hướng…

Sidebar

Sidebar (thanh bên) cũng hay được sử dụng trên nhiều website. Mặc dù không quá quan trọng nhưng nó có thể giúp người dùng tiếp cận thêm nhiều thông tin như các nội dung liên quan, nội dung người dùng có thể quan tâm, các sản phẩm dịch vụ, khuyến mãi…

Như tên gọi, sidebar được đặt ở một hoặc cả hai bên website, nằm cạnh phần Content Area (body). Tuy nhiên thông thường thì sidebar chỉ nằm bên phải và nó chỉ xuất hiện khi truy cập website trên máy tính hoặc máy tính bảng, vì màn hình điện thoại quá hẹp để hiển thị thêm phần này.

Website là gì - hinh 05

Các trang con (web page) quan trọng

Mặc dù không có một tiêu chuẩn thống nhất nào cụ thể nhưng với hầu hết các website phổ biến, đầy đủ chức năng thì đều cần 5 trang con (web page) sau:

  • Trang chủ: Là trang mà khi người dùng truy cập vào tên miền sẽ xuất hiện ra đầu tiên. Đây phải là nơi chứa các thông tin quan trọng nhất của website. Ví dụ với website bán hàng thì trang chủ phải là các mặt hàng chính mà bạn đang bán. Một website tin tức thì trang chủ chắc chắn là những tin nóng hổi, mới nhất. Tất nhiên trang chủ phải chứa liên kết để truy cập đến các trang khác.
  • Trang giới thiệu & liên hệ: Đây chính xác là nơi chứa hồ sơ công ty/cá nhân với các thông tin về năng lực, sản phẩm dịch vụ chủ sở hữu cung cấp cũng như các phương thức liên hệ như số điện thoại, trang mạng xã hội.
  • Trang bán hàng: Nếu là một website bán hàng thì đây là nơi cung cấp chi tiết về từng sản phẩm, dịch vụ để khách hàng có thể tham khảo và tiến hành mua hàng. Nếu muốn khách hàng có thể đặt hàng và thanh toán trực tiếp trên website thì cần thêm trang giỏ hàng và thanh toán nữa.
  • Trang thiên nội dung: Nếu là một website tin tức thì sẽ cần nhiều trang nội dung con về từng chuyên mục. Nếu là một website bán hàng cũng cần có trang nội dung để giới thiệu, cung cấp các thông tin về sản phẩm, dịch vụ như đánh giá, hướng dẫn sử dụng, tư vấn chọn mua…
  • Trang liên quan đến quy định pháp lý: Trang này thường chứa các nội dung liên quan đến điều khoản, chính sách bản quyền, chính sách giao hàng, chính sách thanh toán, chính sách thu thập và xử lý dữ liệu cá nhân… Mặc dù hiếm khi có người truy cập vào trang này nhưng nó lại khá quan trọng để phòng khi có tranh chấp xảy ra.

Website là gì - hinh 03

Tất nhiên, vẫn còn rất nhiều loại trang con được sử dụng khác tùy mục đích cụ thể nhưng nhìn chung hầu hết website đều có đủ các trang con kể trên.

Các loại website phổ biến

Để liệt kê các loại website phổ biến hiện nay chúng ta cần liệt kê chúng theo các tiêu chí nhất định.

Theo cấu trúc và cách hoạt động

Website tĩnh: Ví dụ như landing page, dạng website này hầu như không chỉnh sửa, thay đổi và ít có tính năng tương tác với người dùng. Website tĩnh chủ yếu sử dụng ngôn ngữ html kết hợp css, javascript. Mặc dù khá nhiều hạn chế nhưng ưu điểm của Website tĩnh là đơn giản, xây dựng nhanh, nhẹ.

Website động: Ngôn ngữ html, css, javascript sẽ giúp các nội dung hiển thị trên website theo một trật tự, nguyên tắc nào đó. Nhưng để thực hiện các tương tác phức tạp hơn thì website cần đến ngôn ngữ lập trình, phổ biến nhất hiện nay là PHP kết hợp với một cơ sở dữ liệu như SQL Server, MySQL. Website động có tính tương tác cao, dễ dàng cập nhật, bổ sung nội dung.

Theo mục đích chính của website

Hiện nay, mục đích làm website khá đa dạng, từ website giới thiệu công ty, website giới thiệu sản phẩm, website giới thiệu cá nhân, website bán hàng, website tin tức, website mạng xã hội, website chợ điện tử…

Theo lĩnh vực

Công nghệ, giáo dục, xây dựng, nội thất, quán ăn, nhà hàng, khách sạn, xe, bất động sản…, mỗi lĩnh vực thường có các thiết kế, giao diện, màu sắc, tính năng khác nhau phù hợp với lĩnh vực cụ thể.

Trước khi xây dựng một website cần xác định được tất các các tiêu chí trên, bao gồm cấu trúc và cách hoạt động, mục đích, lĩnh vực hướng tới để có một website phù hợp nhất, mang lại giá trị tốt nhất cho chủ sở hữu cũng như khách hàng.

Tạm kết

Hy vọng qua bài viết trên đây bạn đã có thể hiểu cơ bản website là gì, một website cần những thành phần yếu tố nào để hoạt động, phân biệt giữa website và trang web. Nếu bạn còn bất kỳ thắc mắc nào liên quan đến website đừng ngại để lại bình luận ở phía dưới bài viết nhé

Node JS là gì? NodeJS có phải là ngôn ngữ lập trình?

node js

Node JS là gì là câu hỏi nhiều người đặt ra khi bước chân vào ngành lập trình bởi thuật ngữ này khá phổ biến. Nếu bạn đang thắc mắc muốn được giải đáp một cách chi tiết nhất thì tham khảo ngay bài viết dưới đây nhé.

Node JS có phải là ngôn ngữ lập trình tốt nhất

Node JS là gì và có phải một ngôn ngữ lập trình không?

1. Node JS là gì?

Được tạo ra bởi Ryan Dahl năm 2009, Node JS ra đời tạo nên môi trường hỗ trợ chạy JavaScript runtime, đa nền tảng và có mã nguồn mở.

Chính vì thế đây là môi trường hoàn hảo để chạy các ứng dụng, web ngoài trình duyệt mà người dùng đang sử dụng. Đây cũng được coi là giải pháp thiết yếu giúp ứng dụng sử dụng dữ liệu hiệu quả nhờ mô hình event driven (Mô hình hướng sự kiện) một cách không đồng bộ.

Qua chia sẻ này bạn đã hiểu Node JS là gì rồi chứ? Đây chắc chắn là thuật ngữ bạn cần nắm chắc khi bước chân vào ngành lập trình hoặc muốn ứng dụng nó trong công việc của mình. Đồng thời cũng có thể hiểu rằng Node JS không phải một ngôn ngữ mà nó là môi trường mang đầy đủ các thuộc tính của Javascript.

2. Node JS hoạt động như thế nào?

Bước 1: Khi sử dụng Node JS các câu lệnh sẽ được đưa vào queue, hàng đợi. Đồng thời chạy từ trên xuống dưới.

Bước 2: Lúc này Event loop lấy 1 tác vụ ở queue cho vào stack, và trước đó stack hoàn toàn trống. Điều này có thể hiểu rằng câu lệnh đầu tiên – console.log sẽ được stack xử lý và đưa ra “caulenh1”

Bước 3: Sau khi stack xử lý xong, tác vụ đầu sẽ được lấy ra và tiếp tục đưa tác vụ tiếp theo vào để xử lý tiếp. Cụ thể có thể là setTimeout(function(){ console.log(“cau lenh 2”); },0);. Lúc này có thể thấy SetTimeout trở thành 1 hàm tính toán thời gian nằm trong web AIPS và đưa vào web AIPs để đợi tác vụ tiếp theo. Nó sẽ được đưa trở lại hàng đợi khi queue đã trống.

Bước 4: Tương tự khi thực hiện tác vụ 1, tác vụ 3 sẽ in câu lệnh và hàng đợi ở trạng thái rỗng. Khi đó tác vụ 2 sẽ được đưa trở lại queue, tiếp đến sang stack để đi qua xử lý.

Hoạt động đơn giản, hiệu quả với Node JS

Node JS hoạt động đơn giản và hiệu quả

3. Những ứng dụng nên viết bằng Node.JS

Có một số ứng dụng bạn nên viết bằng Node JS để có tính ổn định cao và thuận tiện hơn cho người làm lập trình, có thể kể đến như:

  • Fast File Upload: Đây là những tool được viết để hỗ trợ tải lên file tốc độ cao
  • Websocket server: Là các dạng máy chủ dành cho có lượng truy cập lớn và tương tác khủng như hệ thống chat online, Game online, Game server….
  • Restful API: Là ứng dụng được dùng để hỗ trợ các phần mềm, ứng dụng chính qua API
  • Any Real-time Data Application: Đây là ứng dụng yêu cầu tốc độ tải cao hoặc chia nhỏ các big app thành các site app nhỏ hơn.
  • Ad server: Là những loại máy chủ quảng cáo phổ biến hiện nay.

4. Những kết luận sai lầm về Node.JS

  • Node JS là web Framework: Đây là kết luận sai lầm bởi Node JS là gì thì bạn đã hiểu, nó là một nền tảng cho phép chạy Javascript
  • Node JS là một ngôn ngữ lập trình: Node JS không phải ngôn ngữ lập trình mà chỉ là một môi trường.
  • Node JS chỉ sử dụng cho frontend hoặc backend: Không hoàn toàn như vậy, Node JS có thể sử dụng cho cả hai vô cùng tiện lợi.
Xóa bỏ những hiểu lầm về Node JS

Gạt bỏ những hiểu lầm về Node JS

5. Những công ty lớn nào đang sử dụng NodeJS

Một số công ty lớn đang sử dụng Node JS có thể kể đến như Netflix, Uber, Walmart, Nasa, Paypal, Medium và đã có hơn 1,8 tỷ lượt tải trên toàn thế giới.

Khi được sử dụng bởi các tập đoàn lớn, Node JS hỗ trợ trên nhiều tác vụ khác nhau như xây dựng ứng dụng sử dụng dữ liệu lớn, xử lý nhiều I/O đồng thời, tạo môi trường hoàn hảo cho phát triển hệ thống thanh toán, tinh gọn quá trình bảo trì server….

6. Node JS có phải ngôn ngữ lập trình không?

Như đã chia sẻ ở trên, Node JS hoàn toàn không phải một ngôn ngữ lập trình mà chỉ đơn giản là môi trường runtime, cho phép chạy Javascript bên ngoài trình duyệt.

Tuy nhiên nó được sử dụng phổ biến như một ngôn ngữ giúp hệ thống ứng dụng vận hành hiệu quả, sử dụng dữ liệu lớn một cách liền mạch và hỗ trợ phát triển hệ thống thanh toán toàn diện.

Biết về lập trình node JS giúp cho công việc được hiệu quả

Nắm rõ lập trình Node JS là gì và ứng dụng hiệu quả trong công việc

Trên đây là toàn bộ những thông tin chi tiết giúp bạn giải đáp thắc mắc Node JS là gì và có thể ứng dụng nó hiệu quả trong công việc. Node JS vẫn là xu hướng phát triển mạnh mẽ trong thời gian sắp tới, được nhiều thương hiệu lớn sử dụng để xây dựng web, tool hỗ trợ quá trình vận hành hiệu quả.

Nếu cần thêm thông tin về Node JS thì hãy liên hệ Mắt Bão để được giải đáp thắc mắc cũng như hỗ trợ xây dựng web, ứng dụng qua môi trường này nhé.

Website bán hàng: Cân bằng giữa mục tiêu của thương hiệu và nhu cầu thật sự của khách hàng

gduahudhaid

Trên Internet, mọi doanh nghiệp đều có cơ hội ngang nhau để xây dựng hình ảnh thương hiệu và tăng trưởng kinh doanh thông qua website bán hàng. Tuy nhiên, liệu những điều doanh nghiệp nhồi nhét trên website đã là điều khách hàng muốn thấy?

Website là kênh truyền thông, giới thiệu sản phẩm, xây dựng thương hiệu riêng của doanh nghiệp, là cỗ máy bán hàng và chăm sóc khách hàng 24/7. Vì thế, các doanh nghiệp rất chú trọng xây dựng website, muốn đưa lên website những gì tốt đẹp, chất lượng nhất về các mặt hàng sản phẩm từ các thông tin có sẵn.

Tuy nhiên, mong muốn chủ quan của doanh nghiệp có thể là rào cản lớn khiến sản phẩm, dịch vụ khó tiếp cận khách hàng, gây trở ngại trong việc chuyển đổi tỉ lệ mua hàng.

Con gà – quả trứng

Nên ưu tiên khách hàng trước hay thương hiệu doanh nghiệp mình trước? Nên đáp ứng nhu cầu khách hàng trước hay tập trung vào mục tiêu kinh doanh trước? Với hạn chế về thời gian, nguồn lực và doanh thu còn khiêm tốn, trong mắt chủ doanh nghiệp, sản phẩm hoặc dịch vụ mình đang bán là trung tâm và là ưu tiên hàng đầu. Nhưng nếu không đặt khách hàng ở vị trí trung tâm, sẽ không thể tạo ra doanh thu và tăng trưởng lâu dài cho doanh nghiệp. Những điểm mù do góc nhìn chủ quan của doanh nghiệp dẫn đến bài toán “con gà – quả trứng”: cần cân bằng mục tiêu thương hiệu và nhu cầu khách hàng, mà ở đó khách hàng cần được là chủ thể quan trọng nhất.

Một khảo sát của Jared Spool chỉ ra người dùng không tìm thấy thông tin họ cần trong 58% thời lượng xem website, ngay cả khi họ có chủ đích tìm kiếm trên trang chủ (homepage là phần có tỷ lệ xem nhiều nhất – thống kê 21/25 website). Hệ quả là, 62% người mua sắm online từ bỏ việc tìm kiếm mặt hàng họ muốn trên website. Một nghiên cứu khác của Forrester Research cũng làm rõ thêm câu chuyện này, khi 51% website vi phạm những nguyên tắc khả dụng (Web usability), như “trang web có được tổ chức theo mục tiêu người dùng?”, “kết quả hiển thị có liên quan đến từ khóa người dùng đang tìm kiếm”…

Cũng theo Forrester, doanh nghiệp mất 50% đơn hàng tiềm năng khi khách hàng không tìm thấy điều họ muốn trên website; và nghiêm trọng hơn – vì có trải nghiệm không tốt ở lần ghé thăm website đầu tiên, 40% khách hàng sẽ không quay trở lại website lần tiếp theo.

Đối với một website bán hàng, khách hàng là tài sản quan trọng tối thượng. Những Netflix, Slack, Airbnb, Spotify, Youtube… đều là những chuyên gia trong việc thấu hiểu và tận dụng hiệu quả tâm lý, hành vi người dùng. Tuy nhiên, không phải doanh nghiệp nào cũng có cái nhìn tổng quát về khách hàng mục tiêu để có chiến lược website phù hợp. Phần lớn các website bán hàng kém hiệu quả đến từ việc thiếu dữ liệu khách hàng, không thống kê được hiệu quả marketing từ nguồn website mang lại, không phân tích dữ liệu khách hàng để hiểu vì sao họ thoát trang hay cho hàng vào giỏ nhưng không thanh toán.

Website sang – xịn – mịn khi tích hợp CRM

Mỗi loại người dùng khác nhau sẽ cần những yếu tố khác nhau của website. Có khách hàng vào website để tìm một sản phẩm cụ thể, có khách hàng tập trung nghiên cứu sản phẩm trước khi ra quyết định mua hàng, có khách hàng chỉ muốn giết thời gian và giải trí… Xác định được động lực và thói quen khác nhau của người dùng khi vào website giúp doanh nghiệp xây dựng những trải nghiệm hữu ích cho tất cả người mua hàng. Việc gợi ý đề xuất sản phẩm phù hợp dựa trên phân tích những tương tác và hành vi của người dùng trên website sẽ giúp họ cảm thấy mình đang được chăm sóc đặc biệt hơn.

Website bán hàng: Cân bằng giữa mục tiêu của thương hiệu và nhu cầu thật sự của khách hàng - Ảnh 1.

Đừng để khách hàng tiềm năng của bạn rời đi chỉ vì website của bạn không có thứ họ đang tìm kiếm.

Nhằm kích thích nhu cầu mua sắm cho người xem, giao diện và điều hướng website chính là xương sống giúp định hình trải nghiệm khách hàng. Theo chuyên gia tư vấn thiết kế website từ Bizfly – hệ sinh thái giải pháp Martech & Salestech đã thiết kế website cho hơn 10,000 doanh nghiệp trong 15 năm qua, khách hàng đều thích những hình ảnh trực quan cao nên sự khác biệt về cỡ phông, kiểu chữ, đậm nhạt có ảnh hưởng đến cách não bộ thu thập thông tin. Bởi vậy, các nhà thiết kế trải nghiệm người dùng (UX) từ Bizfly thường sắp xếp thông tin để dẫn dắt người đọc, họ phân tích nơi nào trên website người dùng hay dừng lại để cố ý đặt những thông tin quan trọng về chương trình khuyến mãi hay nút CTA kêu gọi khách hàng hành động.

Nhịp sống hiện đại cùng thói quen mua sắm online của khách hàng bận rộn khiến thời gian tiếp cận và chào bán cực kỳ ngắn ngủi, do đó website chỉ có dưới 60s và ba lần kéo chuột để chinh phục khách hàng. Cấu trúc website càng tinh gọn, thông tin càng chắt lọc, mang đến những điều khách hàng thực sự quan tâm, doanh nghiệp càng củng cố vị trí của thương hiệu trong trái tim khách hàng. Do đó, điều quan trọng nhất là làm nổi bật thông tin về sản phẩm hoặc nội dung khuyến mãi, tối ưu hóa các công cụ bán hàng tích hợp.

Cùng với đó, từ cấu trúc, đến các phần tiêu đề, mô tả, URL cần được tối ưu hóa với nhiều công cụ tìm kiếm và tương thích với thiết bị di động giúp website doanh nghiệp đạt thứ hạng cao và gia tăng hiệu quả marketing quảng bá.

Bên cạnh 500 mẫu giao diện website chuyên nghiệp cho mọi ngành hàng, từ mỹ phẩm, thời trang, nội thất, thực phẩm, FMCG…, Bizfly với đội ngũ chuyên gia kinh nghiệm lâu năm cung cấp các giải pháp may đo cho từng yêu cầu khác biệt và đặc thù của mỗi doanh nghiệp.

Đặc biệt, doanh nghiệp có thể tích hợp công cụ Bizfly CRM vào website nhằm thu thập thêm khách hàng, hứng trọn data tại mọi điểm chạm, phân loại, sàng lọc và quản lý thông tin khách hàng một cách đồng bộ. Các công cụ tích hợp khác trong hệ sinh thái Bizfly bao gồm chatbot giúp tư vấn, tự động chốt đơn giúp khách hàng dễ dàng mua hàng hơn, hay email marketing automation để nuôi dưỡng các khách hàng tiềm năng.

Khi tích hợp Bizfly CRM vào website, như hổ mọc thêm cánh, dữ liệu về khách hàng và đơn hàng sẽ được chuyển trực tiếp vào CRM để làm căn cứ cho doanh nghiệp theo dõi lâu dài, đưa ra bước hành động tiếp theo, đồng thời giải quyết vấn đề tương tác và phản hồi của khách hàng trên website. Doanh nghiệp sẽ có cái nhìn tổng thể về khách hàng, từ đó phân tích, đánh giá kịp thời hiệu quả của website, có hướng tiếp cận khả thi nhằm tăng tỷ lệ chuyển đổi và chăm sóc khách hàng chuyên nghiệp hơn.

Tìm hiểu thêm về dịch vụ thiết kế website tích hợp giải pháp Marketing Automation (CRM, Chatbot, Email marketing) để x2 doanh thu.

CNAME là gì? 1 số hướng dẫn sử dụng cname record

CNAME là gì?

CNAME là một bản ghi tên quy chuẩn (Canonical Name Record) hay còn gọi là Bản ghi bí danh cho một domain name nào đó.

 

CNAME được giải thích là một dạng bản ghi tài nguyên trong Hệ thống tên miền (DNS), quy định một tên miền là bí danh của một tên miền chuẩn khác.

Ứng dụng của CNAME

Liên kết tên miền, hosting, source,… để quản trị viên dễ dàng khai báo trang web trên Internet
Hỗ trợ xác thực các dịch vụ do Google cung cấp, chẳng hạn như domain, ứng dụng,…
Hỗ trợ chuyển đổi, đồng bộ dữ liệu cũ sang dữ liệu mới, thiết lập các bản ghi có sẵn một cách dễ dàng
Tạo nhiều tên miền phụ tùy theo nhu cầu như xác thực SSL
Tạo các bản ghi mới, chỉnh sửa tên miền gốc, đặt lại TTL

Hạn chế của bản ghi CNAME là gì?

Bản ghi CNAME không bao giờ trực tiếp đến một địa chỉ IP và phải luôn trỏ đến một tên miền khác
Bản ghi CNAME không thể cùng tồn tại với bản ghi khác cùng tên. Không thể có cả bản ghi CNAME và TXT cho www.pavietnam.vn.
Một CNAME có thể trỏ đến CNAME khác. Mặc dù điều này thường không được khuyến nghị vì có thể ảnh hưởng đến hiệu suất. Khi áp dụng, CNAME phải trỏ càng gần tên mục tiêu càng tốt để tránh các chi phí hiệu suất không cần thiết.

Định dạng bản ghi CNAME

Cấu trúc của một bản ghi A tuân theo định nghĩa định dạng tiêu chuẩn cấp cao được xác định RFC 1035. Phần RDATA bao gồm một yếu tố duy nhất:

Yếu tố Mô tả
Tên miền Tên miền chỉ định tên chuẩn hoặc tên chính cho bản ghi.
Trình bày theo chuẩn là:

CNAME <domain-name>

Trong đó <domain-name> là một tên miền đủ điều kiện, chẳng hạn như webviet.com.vn.

Bản ghi CNAME được thể hiện bởi các yếu tố có thể tùy chỉnh sau:

Yếu tố Mô tả
Name Hostname cho record (tên của CNAME)

TTL Time-to-live, tính bằng giây. Đây là khoảng thời gian mà trình phân giải DNS cho phép lưu bản ghi vào bộ nhớ cache.

Nội dung Tên miền mà CNAME trỏ tới.

Kết luận

Các bản ghi CNAME được xử lý bên trong hệ thống tên miền và sẽ có một vài hạn chế khi sử dụng CNAME nếu một DNS xung đột với 1 bản ghi CNAME trong lúc tìm kiếm một bản ghi nguồn. Điều này sẽ dẫn đến khởi động lại các query sử dụng tên quy chuẩn thay vì tên gốc.

Hy vọng, qua bài viết này, Quý khách đã nắm được sơ nét phương thức CNAME, cấu hình và kiểm tra lại

Chúng tôi luôn hướng đến các dịch vụ tốt nhất cho khách hàng: dễ đặt mua, thanh toán nhanh, toàn quyền quản lý và điều chỉnh các tùy chọn theo ý muốn…

Bản Ghi TLSA

1. Bản ghi TLSA là gì?

Bản ghi xác thực TLS (TLSA) được sử dụng để liên kết chứng chỉ máy chủ TLS hoặc khóa chung (public key) với tên miền nơi bản ghi được đặt. Với bản ghi TLSA, bạn có thể lưu trữ dấu vân tay của chứng chỉ TLS/SSL trong DNS tên miền của bạn.
Lưu ý: Bản ghi TLSA chỉ có thể được tin cậy nếu DNSSEC được bật trên miền của bạn.

2. Cấu trúc của bản ghi TLSA

 – Cổng (Port number): Số cổng mà máy chủ TLS lắng nghe.

 – Giao thức (Protocol): Giao thức được sử dụng (udp, tcp, sctp).

 – Hostname: Hostname của máy chủ TLS. Trong hầu hết các trường hợp, bản ghi TLSA được sử dụng cho một tên máy chủ cụ thể của tên miền.

3. Bản ghi TLSA điển hình

Host Type Points to: TTL
_port._protocol.host.domain.com TLSA 0 0 0 00000000000000000000000 1 Hour
  • Type: TLSA
  • TTL: 1 Hour
  • Host: _port._protocol e.g.: _100._tcp*
  • Usage: chỉ định liên kết được cung cấp sẽ sử dụng để so sánh khớp với chứng chỉ được sử dụng trong TLS handshake.

             The values are numeric (0, 1, 2, 3)
             0 = Certificate Authority Constraint.
             1 = Service Certificate Constraint.
             2 = Trust Anchor Assertion.
             3 = Domain Issued Certificate.

  • Selector: chỉ định 1 phần của chứng chỉ TLS được trình bày bởi máy chủ sẽ khớp với dữ liệu được liên kết.

             numeric values (0, 1)
             0 = Full Certificate.
             1 = Subject Public Key.

  • Matching type: chỉ định cách thức chứng chỉ được trình bày.

            numeric values (0, 1, 2)
            0 = No hash
            1 = SHA-256
            2 = SHA-512

  • Points to: Hash value

 

Web Việt đã có bài viết về bản ghi TLSA để các bạn sẽ hiểu rõ hơn về bản ghi này