Hướng dẫn sử dụng cơ sở dữ liệu PostgreSQL với Node.js trên Ubuntu 20.04

Lượt xem
Home

Bài viết dưới đây sẽ hướng dẫn sử dụng node-postgres để kết nối và truy vấn cơ sở dữ liệu PostgreSQL. Bạn sẽ tạo người dùng và cơ sở dữ liệu trong PostgresSQ, thực hiện kết nối ứng dụng của mình với cơ sở dữ liệu Postgres bằng module node-postgres. Cuối cùng là sử dụng node-postgres để thao tác với cơ sở dữ liệu PostgreSQL.

Điều kiện tiên quyết để sử dụng PostgreSQL với Node.js trên Ubuntu 20.04

Để có thể thực hiện theo hướng dẫn trong bài này, bạn cần đáp ứng những điều kiện sau:

  • Một tài khoản người dùng non-root nhưng có quyền sudo.
  • Đã cài đặt Node.js trên Ubuntu 20.04.
  • Đã cài đặt hệ quản trị cơ sở dữ liệu PostgreSQL.

Nếu bạn cần một máy chủ Ubuntu để cài đặt PostgreSQL, hãy tham khảo đăng ký thuê VPS tại Vietnix. Vietnix hiện đang cung cấp các gói VPS tốc độ cao hỗ trợ hệ điều hành Ubuntu với nhiều cấu hình và chi phí khác nhau giúp bạn dễ dàng lựa chọn gói dịch vụ phù hợp với nhu cầu sử dụng như: VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp, VPS GPU và VPS NVMe. VPS của Vietnix giúp bạn yên tâm cài đặt, triển khai các ứng dụng của mình nhờ tốc độ cao, ổn định và bảo mật, an toàn dữ liệu.

Liên hệ ngay với Vietnix để được tư vấn chi tiết.

Bước 1 – Thiết lập project mới

Đầu tiên bạn cần tạo thư mục cho Node và cài đặt node-postgres bằng lệnh npm. Thư mục này là nơi để làm việc để xây dựng cơ sở dữ liệu PostgreSQL và các tệp cấu hình để tương tác.

Đầu tiên dùng lệnh mkdir để tạo thư mục:

mkdir node_pg_app

Bạn có thể thay thế node_pg_app thành tên thư mục mà bạn muốn tạo. Sau đó, truy cập vào thư mục mới được tạo bằng lệnh cd:

cd node_pg_app

Và sử dụng lệnh init để khởi tạo một file package.json mặc định với cờ -y:

npm init -y

Tiếp theo, tiến hành cài đặt module node-postgres bằng lệnh npm install:

npm install pg

Bạn đã hoàn tất thiết lập cho một project mới và cài đặt các module cần thiết. Tiếp theo, bạn hãy theo dõi cách tạo người dùng và cơ sở dữ liệu PostgreSQL.

Bước 2 – Tạo người dùng và cơ sở dữ liệu PostgreSQL

Khi bạn mới cài đặt Postgres lần đầu trên Ubuntu, PostgreSQL đã tự động tạo ra một người dùng trong hệ thống có tên là postgres và một cơ sở dữ liệu tên postgres. Người dùng postgres này cho phép bạn mở một session PostgreSQL để bạn có thể quản trị như tạo người dùng khác và cơ sở dữ liệu mới.

PostgresSQL có cơ chế xác thực kết nối cho phép người dùng login vào bảng lệnh shell của Postgres miễn là tên login trùng khớp tên user trong database.

Đầu tiên, bạn cần đăng nhập vào người dùng postgres trước. Để đăng nhập, hãy chuyển đổi người dùng Ubuntu sang postgres bằng lệnh sudo và đăng nhập vào Postgres shell bằng lệnh psql:

sudo -u postgres psql

Ở đây có 2 đối số cần biết:

  • Cờ -u được dùng để chuyển đổi các user trên Ubuntu và tên người dùng là postgres.
  • psql là một chương trình terminal cho phép tương tác với Postgres để bạn có thể nhập các lệnh SQL dùng tạo cơ sở dữ liệu hoặc thêm, xóa dữ liệu,….

Sau khi đăng nhập vào Postgres shell, terminal của bạn sẽ thay phần $ thành postgres=# như bên dưới:

postgres=#

postgres là tên cơ sở dữ liệu mà bạn sẽ tương tác và # biểu thị rằng bạn đã đăng nhập với tư cách superuser.

Tiếp theo, tiến hành khởi tạo một người dùng mới và cơ sở dữ liệu mới để có thể kết nối với ứng dụng Node.js mà bạn đã tạo ở bước 1 bằng lệnh:

CREATE USER new_user WITH PASSWORD 'password';

Bạn sẽ thay phần new_user thành tên người dùng mà bạn muốn tạo, tương tự với phần password, thay thế bằng mật khẩu mà bạn muốn.

Tiếp theo, tạo một cơ sở dữ liệu và gán quyền sở hữu cho người dùng bạn đã tạo ở trên:

CREATE DATABASE data_name OWNER new_user;

Thay thế data_name thành tên cơ sở dữ liệu của bạn, và new_user là tên người dùng mà bạn muốn gán quyền sở hữu.

Việc gán quyền sở hữu cơ sở dữ liệu cho người dùng new_user cho phép bạn có quyền tạo, xóa và sửa dữ liệu vào các bảng trong cơ sở dữ liệu mà bạn đã gán quyền.

Sau khi đã tạo người dùng và cơ sở dữ liệu, hãy thoát khỏi Postgres shell bằng lệnh:

\q

Sau đó, tiến hành thêm người dùng new_user mà bạn đã tạo bên trên, để sau có thể đăng nhập và thao tác với cơ sở dữ liệu mà bạn đã tạo và gán quyền cho new_user:

sudo adduser new_user

Đừng quên thay new_user bằng tên người dùng mà bạn đã tạo. Vậy là bạn đã tạo thành công một người dùng PostgreSQL và một cơ sở dữ liệu cho ứng dụng Node.js của bạn. Tiếp theo, bạn sẽ được hướng dẫn tạo bảng cho cơ sở dữ liệu mới này nhé.

Bước 3 – Đăng nhập và tạo bảng cho cơ sở dữ liệu Postgres

Sau khi thoát ra khỏi Postgres shell, hãy tiến hành đăng nhập bằng người dùng new_user vào Postgres:

sudo -u new_user psql -d data_name

Ở đây lệnh sudo -u new_user dùng để đăng nhập với tư cách là new_user và cờ -d dùng để chỉ định cơ sở dữ liệu mà bạn muốn kết nối, trong hướng dẫn này là cơ sở dữ liệu data_name. Đừng quên thay thế bằng tên cơ sở dữ liệu mà bạn đã tạo.

Nếu bạn đăng nhập và thấy phần dấu nhắc lệnh của mình là tên cơ sở dữ liệu như bên dưới thì đã thành công, điều này chứng tỏ đã kết nối thành công với cơ sở dữ liệu data_name:

data_name=>

Bạn có thể thử xác minh lại bằng lệnh:

\conninfo

Bạn sẽ thấy output cho biết mình đang kết nối với cơ sở dữ liệu nào cũng như trên tư cách người dùng nào như dưới đây:

Output
You are connected to database "data_name" as user "new_user" via socket in "/var/run/postgresql" at port "5432".

Tiếp theo, bạn tạo một bảng mới cho cơ sở dữ liệu này, sử dụng lệnh sau để tạo bảng mới:

CREATE TABLE shark(
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
color VARCHAR(50) NOT NULL);

Bảng này có tên là shark gồm ba cột. Một cột id có kiểu serial và sẽ tự động tăng dần, có thuộc tính là khóa chính, một cột name và một cột color. Bạn có thể tạo một bảng phù hợp hơn với nhu cầu mà project của bạn đang hướng đến, chỉ cần điền đầy đủ thông tin bao gồm tên cột, kiểu dữ liệu, và các ràng buộc đi kèm. Trong ví dụ trên có ràng buộc NOT NULL dùng để ngăn không cho cột này rỗng.

Sau khi tạo xong bảng, bạn có thể xác minh lại bằng lệnh:

\dt

Lệnh này sẽ liệt kê tất cả các bảng trong cơ sở dữ liệu data_name. Nếu bảng được tạo thành công thì kết quả sẽ có bảng đó như ở đây:

         List of relations
 Schema | Name  | Type  |   Owner
------------+----------+-------+-----------
 public    | shark   | table | new_user
(1 row)

Và bạn cũng có thể thấy một số thông tin liên quan như người sở hữu là new_user, tên bảng và đây là một table.

Trong bước tiếp theo bạn sẽ sử dụng module node-postgres để kết nối với cơ sở dữ liệu này, vậy nên bây giờ hãy thoát ra khỏi Postgres shell bằng lệnh:

\q

Bước 4 – Kết nối với cơ sở dữ liệu Postgres

Đến đây bạn sử dụng node-postgres để kết nối ứng dụng Node.js của mình với cơ sở dữ liệu PostgreSQL. Để thực hiện bạn cần dùng node-postgres để tạo một pool kết nối. Một pool kết nối hoạt động như một bộ nhớ cache cho các kết nối đến cơ sở dữ liệu, cho phép ứng dụng của bạn sử dụng các kết nối đó cho các request đến cơ sở dữ liệu.

Đầu tiên, tạo và mở file db.js trong trình soạn thảo ưa thích của bạn hoặc nano như trong hướng dẫn này.

nano db.js

Trong file db.js, tạo một biến Pool sử dụng module node-postgres để trích xuất lớp Pool từ node-postgres:

const { Pool } = require('pg')

Tiếp tục thêm một instance Pool để mở kết nối vào bên dưới:

const { Pool } = require('pg')

const pool = new Pool({
  user: 'new_user',
  database: 'data_name',
  password: 'password',
  port: 5432,
  host: 'localhost',
})

Đây là chi tiết cho các thuộc tính dùng để tạo một instance Pool:

  • user: Tên người dùng bạn đã tạo trong Postgres.
  • database: Tên cơ sở dữ liệu bạn đã tạo trong Postgres.
  • password: mật khẩu cho người dùng new_user mà bạn đã tạo.
  • port: 5432 luôn là cổng mặc định nên không cần thay đổi.
  • host: Server Postgres mà bạn muốn node-postgres kết nối. Việc truyền localhost sẽ kết nối node-postgres với server Postgres được cài đặt trên hệ thống của bạn. Nếu bạn muốn kết nối tới một IP cụ thể thì có thể thay phần localhost bằng IP mà bạn muốn.

Lưu ý: Đừng quên thay thế tên người dùng, mật khẩu và tên cơ sở dữ liệu của bạn. Sau đó, để sử dụng đối tượng này bất cứ đâu trong ứng dụng của bạn, bạn cần phải xuất pool này ra. Thêm đoạn lệnh sau vào cuối tệp:

const { Pool } = require('pg')

const pool = new Pool({
  user: 'new_user',
  database: 'data_name',
  password: 'password',
  port: 5432,
  host: 'localhost',
})

module.exports = { pool };

Tiến hành lưu tệp lại bằng tổ hợp Ctrl + X, Y sau đó Enter. Vậy là bạn đã thiết lập xong file db.js dùng để mở một kết nối cơ sở dữ liệu đến ứng dụng Node.js của bạn. Tiếp theo bạn sẽ sử dụng kết nối này để chèn dữ liệu vào cơ sở dữ liệu thông qua Node.js.

Bước 5 – Chèn dữ liệu vào cơ sở dữ liệu PostgreSQL

Tại đây, bạn cần thêm dữ liệu vào cơ sở dữ liệu PostgreSQL bằng cách sử dụng kết nối Pool bạn đã tạo trong tệp db.js. Tạo một file dùng để truyền dữ liệu cho các cột trong cơ sở dữ liệu mà bạn kết nối.

Đầu tiên, tạo một file mới và mở bằng nano:

nano insertData.js

Sau đó thêm đoạn code sau vào file, mục đích là để cho file này khi chạy sẽ có thể xử lý các đối số trên termial:

const { pool } = require("./db");

async function insertData() {
  const [name, color] = process.argv.slice(2);
  console.log(name, color);
}

insertData();

Đầu tiên, bạn sử dụng đối tượng Pool từ tệp db.js dùng để mở một kết nối đến cơ sở dữ liệu.

Sau đó, bạn khai báo hàm insertData() là một hàm bất đồng bộ với lệnh async. Điều này cho phép bạn sử dụng lệnh await để làm cho các request đến cơ sở dữ liệu trở thành không đồng bộ.

Trong hàm insertData(), bạn sử dụng module process để truy cập các đối số trên termial. Phương thức process.argv của Node.js sẽ trả về tất cả các đối số vào một mảng bao gồm các đối số nodeinsertData.js.

Ví dụ, khi bạn chạy node insertData.js sammy blue, phương thức process.argv sẽ trả về một mảng gồm : ['node', 'insertData.js', 'sammy', 'blue'].

Nhưng vì 2 giá trị đầu là 'node''insertData.js' bạn không muốn thêm vào cơ sở dữ liệu mà bạn chỉ muốn thêm sammyblue, vì vậy đoạn code trên sử dụng .slice(2) với mục đích là lấy từ phần tử thứ 2 trở đi.

Vậy là bạn đã tạo xong một file cơ bản để thêm dữ liệu vào các bảng, lưu lại bằng tổ hợp Ctrl + X, Y rồi Enter. Sau đó tiến hành khởi chạy:

node insertData.js sammy blue

Sau khi chạy xong bạn sẽ nhận được một output là các đối số mà bạn đã truyền vào:

Output
sammy blue

Vậy là hàm insertData() của bạn đã có thể lấy các đối số mà bạn truyền từ termial, bây giờ bạn sẽ tiến hành sửa hàm insertData() này để có thể thêm dữ liệu và bảng shark.

Tiến hành mở lại file insertData.js và sửa đổi code như bên dưới:

const { pool } = require("./db");

async function insertData() {
  const [name, color] = process.argv.slice(2);
  const res = await pool.query(
      "INSERT INTO shark (name, color) VALUES ($1, $2)",
      [name, color]
    );
  console.log(`Added a shark with the name ${name}`);
}

insertData();

Hàm insertData() giờ đã được sửa đổi thay vì xuất các đối số đó ra termial thì bạn sẽ truyền chúng vào bảng shark và thêm vào như một dữ liệu, cột name sẽ nhận đối số đầu tiên và cột color sẽ là đối số thứ 2. Ngoài ra, sau khi truy vấn thực thi xong, hàm này còn xuất ra thông báo thành công bằng cách sử dụng console.log().

Trước khi chạy file, hãy bọc đoạn code trong hàm insertData() bằng khối try…catch để xử lý lỗi thời gian chạy nếu có:

const { pool } = require("./db");

async function insertData() {
const [name, color] = process.argv.slice(2);
try {
const res = await pool.query(
"INSERT INTO shark (name, color) VALUES ($1, $2)",
[name, color]
);
console.log(Thêm một con cá mập với tên là ${name});
} catch (error) {
console.error(error)
}
}

insertData();

Khi file chạy, code trong khối try sẽ được thực thi. Nếu thành công, thì sẽ không có lỗi xuất ra. Tuy nhiên, nếu có lỗi thì khối catch sẽ được thực thi và xuất lỗi ra termial cho bạn. Sau khi xong hãy lưu lại file và tiến hành chạy:

node insertData.js sammy blue

Ở đây ta sẽ thêm một dòng dữ liệu mới vào bảng shark với cột namesammy và cột colorblue. Sau khi lệnh chạy xong, bạn cũng sẽ nhập được một output như thế này:

Ouput
Added a shark with the name sammy

Tiếp theo hãy thử thêm một vài dữ liệu vào bảng shark nhé:

node insertData.js jose teal
Output
Added a shark with the name jose

Mỗi khi thấy output xuất ra, điều này có nghĩa là bạn đã thêm thành công dữ liệu vào bảng shark trong cơ sở dữ liệu. Vậy là bạn đã biết cách thêm dữ liệu vào bảng, tiếp theo bạn sẽ được hướng dẫn cách để truy vấn dữ liệu từ cơ sở dữ liệu để xuất dữ liệu ra termial.

Bước 6 – Truy vấn dữ liệu từ cơ sở dữ liệu Postgres

Trong bước này, bạn sẽ sử dụng truy vấn để truy xuất dữ liệu từ bảng shark trong cơ sở dữ liệu bằng cách sử dụng module node-postgres và xuất ra termial:

Đầu tiên, tạo và mở file retrieveData.js bằng nano:

nano retrieveData.js

Tiếp theo, thêm đoạn code sau:

const { pool } = require("./db");

async function retrieveData() {
  try {
    const res = await pool.query("SELECT * FROM shark");
    console.log(res.rows);
  } catch (error) {
    console.error(error);
  }
}

retrieveData();

Đoạn code này cũng sử dụng một Pool để kết nối đến cơ sở dữ liệu, và một hàm có tên là retrieveData() để lấy dữ liệu từ cơ sở dữ liệu ra bằng truy vấn "SELECT * FROM shark". Lệnh này sẽ lấy tất cả các dòng dữ liệu trong bảng shark và ghi vào biến res. Sau đó, in mỗi dòng dữ liệu ra màn hình bằng lệnh console.log(). Ngoài ra, hàm này cũng được bọc trong khối try…catch để có thể xuất ra lỗi nếu trong quá trình thực thi có lỗi xảy ra.

Tiến hành lưu lại file retrieveData.js rồi khởi chạy bằng lệnh:

node retrieveData.js

Bạn sẽ thấy output là các dòng dữ liệu mà bạn đã thêm khi sử dụng file insertData.js ban nảy:

Output
[
  { id: 1, name: 'sammy', color: 'blue' },
  { id: 2, name: 'jose', color: 'teal' }
]

Module node-postgres sẽ trả về các dòng dữ liệu của bảng dưới dạng một đối tượng giống JSON. Các đối tượng này được lưu trữ trong một mảng. Vậy là bạn đã truy xuất thành công, trong bước cuối cùng bạn sẽ được hướng dẫn thao tác sửa đổi các dòng dữ liệu đã có trong bảng.

Bước 7 – Sửa đổi dữ liệu trong cơ sở dữ liệu Postgres

Tiếp theo bạn sử dụng node-postgres để sửa đổi dữ liệu trong cơ sở dữ liệu Postgres, cụ thể là dữ liệu mà bạn đã thêm trong bảng shark.

Đầu tiên bạn cần tạo một file để lấy ra các dữ liệu bạn muốn dựa trên id và truyền vào name mới mà bạn muốn thay thế.

Thực hiện tạo và mở file modifyData.js như sau:

nano modifyData.js

Sau đó thêm đoạn code bên dưới vào:

const { pool } = require("./db");

async function modifyData() {
  const [id, name] = process.argv.slice(2);
  try {
    const res = await pool.query("UPDATE shark SET name = $1 WHERE id = $2", [
      name,
      id,
    ]);
    console.log(`Updated the shark name to ${name}`);
  } catch (error) {
    console.error(error);
  }
}

modifyData();

Đoạn code này sẽ lấy 2 đối số mà bạn truyền vào trên termial sau đó truyền chúng đến cơ sở dữ liệu tại bảng shark, tìm kiếm dựa trên đối số thứ nhất (id) mà bạn truyền vào, sau đó cập nhật lại dữ liệu trong cột name theo đối số thứ hai (name). Bạn có thể thấy rõ ràng ở câu lệnh SQL UPDATE, mệnh đề WHERE sẽ chọn ra dữ liệu theo id mà bạn nhập. Sau đó, thay lại dữ liệu trong cột name bằng dữ liệu mới.

Sau đó, cũng xuất thông báo cập nhật thành công theo tên mới bằng lệnh console.log(). Tiến hành lưu lại file, khởi chạy và truyền vào các đối số:

node modifyData.js 2 san

Lệnh này tìm đến bảng shark với dòng dữ liệu có id = 2 và thay thế dữ liệu ở cột name bằng dữ liệu mới là san.

Nếu thành công bạn nhận được output như sau:

Output
Updated the shark name to san

Để kiểm tra xem liệu dữ liệu đã thực sự được cập nhật hay chưa, sử dụng lại file truy xuất dữ liệu mà bạn đã viết bên trên:

node retrieveData.js

output cho thấy dữ liệu tại id =2 cột name đã được chuyển từ jose thành san.

output
[
  { id: 1, name: 'sammy', color: 'blue' },
  { id: 2, name: 'san', color: 'teal' }
]

Đến đây bạn đã thành công trong việc sửa đổi dữ liệu thông qua Node.js bằng cách sử dụng module node-postgre.

Vietnix với hơn 10 năm hoạt động đã đồng hành với hơn 50.000 khách hàng cá nhân và doanh nghiệp. Đến năm 2022 Vietnix vinh dự được nhận giải Thương hiệu Việt Nam xuất sắc nhất. Đồng thời, với tỷ lệ 97% khách hàng sau khi sử dụng dịch vụ tại Vietnix đã giới thiệu đến bạn bè, đồng nghiệp cũng là một minh chứng cho chất lượng dịch vụ luôn đáp ứng được mọi nhu cầu của khách hàng.

Nhanh tay đăng ký Vietnix VPS ngay và trải nghiệm dịch vụ ổn định, tốc độ cao, hỗ trợ nhanh chóng với nhiều ưu đãi hấp dẫn nhất.

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Hotline: 1800 1093 – 07 088 44444
  • Email: sales@vietnix.com.vn

Lời kết

Trên đây là hướng dẫn sử dụng PostgreSQL với Node.js trên Ubuntu 20.04 mà Vietnix muốn giới thiệu đến bạn. Hy vọng với bài viết trên bạn có thể thực hiện các thao tác nhanh chóng và dễ dàng. Nếu cảm thấy bài viết hay và bổ ích hãy chia sẻ với mọi người nhé.

Chia sẻ lên

Theo dõi trên

Logo Google new

Đánh giá

5/5 - (162 bình chọn)

Hưng Nguyễn

Kết nối với mình qua

Icon Quote
Icon Quote
Đăng ký nhận tin
Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vietnix

Bình luận

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Chỉ số tăng trưởng

Điểm Desktop

100 (+39)

Điểm Mobile

100 (+67)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

99 (+28)

Điểm Mobile

100 (+50)

Core Web Vitals

Passed

Lĩnh vực

SEO

Chỉ số tăng trưởng

Điểm Desktop

99 (+26)

Điểm Mobile

98 (+59)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

100 (+8)

Điểm Mobile

98 (+35)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Chỉ số tăng trưởng

Điểm Desktop

100 (+61)

Điểm Mobile

100 (+61)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Võ Thiên Tòng

25 Tháng 2 lúc 21:09

·

Mình muốn gửi lời cảm ơn chân thành đến Team Vietnix, anh Hưng Nguyễn, anh Vietnix Trung, em Quốc Huy đã hỗ trợ tối ưu Page Speed Insight (PSI) cho website vanvoiminhhoa.vn của mình.
Biết đến anh Hưng đã lâu nhưng chưa có duyên sử dụng dịch vụ bên anh. Tình cờ thấy được bài Post của anh về việc hỗ trợ tối ưu PSI miễn phí chỉ với vài Slot, thấy AE cmt khá nhiều nên cũng không nghĩ tới lượt mình. Hôm sau đánh liều inbox 1 phen xem sao thì may mắn được đưa vào danh sách. Vài ngày sau được Team Vietnix liên hệ và hỗ trợ.
Kết quả đạt được:
• Điểm xanh lè xanh lét
• Tốc độ tải trang nhanh hơn hẳn
• Các chỉ số cũng được cải thiện đáng kể
• Và mình tin rằng với việc PSI được cải thiện cũng thúc đẩy những thứ khác đi lên theo!
Mình thực sự hài lòng với dịch vụ của Vietnix và muốn giới thiệu đến tất cả mọi người:
• Dịch vụ Wordpress Hosting: Tốc độ nhanh, ổn định, bảo mật cao, hỗ trợ kỹ thuật 24/7. (https://vietnix.vn/wordpress-hosting/)
• Dịch vụ Business Hosting: Dung lượng lớn, phù hợp cho website có lượng truy cập cao, tích hợp nhiều tính năng cao cấp. (https://vietnix.vn/business-hosting/)
Đặc biệt, Vietnix đang có chương trình ưu đãi:
• Giảm giá 20% trọn đời khi nhập code THIENTONG_PAGESPEED tại trang thanh toán (Chu kỳ 12 tháng trở lên)
• Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website
Cám ơn Vietnix một lần nữa!
#Vietnix #Vanvoiminhhoa #Pagespeedinsight
Trước khi tối ưu
Sau khi tối ưu
Thiện Nguyễn - CEO SEO Dạo

5 Tháng 3 lúc 16:21

·

CORE WEB VITAL YẾU TỐ XẾP HẠNG TÌM KIẾM SEO
Core Web Vitals là một tập hợp các chỉ số đo lường hiệu suất của trang web từ góc độ người dùng, được Google sử dụng để đánh giá trải nghiệm người dùng trên các trang web. Các chỉ số chính bao gồm:
– Largest contentful paint (LCP): Tốc độ render của page. Mục tiêu là dưới 2,5 giây.
– First input delay (FID): Tốc độ phản hồi của website với tương tác của người dùng. Mục tiêu là dưới 100ms.
– Cumulative Layout Shift (CLS): Độ ổn định của bố cục trang. Mục tiêu là dưới 0.1.
Tất cả các chỉ số này đo lường các khía cạnh quan trọng của trải nghiệm người dùng trên trang web. Google đã công bố rằng từ tháng 5 năm 2021, các Core Web Vitals sẽ được sử dụng làm một trong các yếu tố đánh giá trong việc xếp hạng trang web trên kết quả tìm kiếm. Do đó, hiểu và cải thiện các Core Web Vitals là rất quan trọng đối với SEO.
Tóm lại, Core Web Vitals không chỉ giúp cải thiện hiệu suất và xếp hạng trang web trên công cụ tìm kiếm, mà còn cải thiện trải nghiệm của người dùng khi họ truy cập và tương tác với trang website.
P/s: mình đang có gói hỗ trợ đặc biệt cho anh em tối ưu tốc độ bên VIETNIX:
– Giảm 20% lifetime dịch vụ Hosting Business và Hosting Wordpress chu kỳ 12 tháng trở lên.
– Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website.
Anh em có nhu cầu đăng ký qua bạn Vietnix Trung này nhé và nhập mã SEODAO_PAGESPEED để được ưu đãi nhé.😁
Trước khi tối ưu
Sau khi tối ưu SEO Dạo
Icharm review

5 Tháng 3 lúc 15:43

·

[Mình vừa được hỗ trợ tối ưu page speed website]
Trước khi được tối ưu, web của mình điểm rất thấp, đặc biệt là mobile chỉ có 39. Cơ duyên thế nào lúc lướt face lại va phải chương trình tối ưu pagespeed bên Vietnix.
Sau khi được Trần Hoàng Phúc và team Vietnix hỗ trợ nhiệt tình, điểm web vọt lên 98 99 (như hình bên dưới). Dùng thử web thì thấy quá là mượt, 10 điểm cho team Vietnix.
Nói thật thì mình thật sự ấn tượng về sự nhiệt huyết, tận tâm và rất chuyên nghiệp bên Vietnix.
Anh em có nhu cầu về hosting hay có vấn đề về website như:
1. Web load chậm
2. Khách rời web vì đợi tải nội dung, hình ảnh lâu
3. Hay tất tần tật mọi thứ về website
THÌ LIÊN HỆ NGAY VIETNIX NHÉ!
Và đừng quên dùng pass “ICHARM_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting. Quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
Trước khi tối ưu
Sau khi tối ưu
Hoàng Nguyễn

29 Tháng 2 lúc 17:04

·

Xin chào mọi người! Vừa rồi mình có sử dụng dịch vụ tối ưu website, tăng tốc độ tải trang pagespeed của Vietnix kết quả trên cả tuyệt vời nên mình viết bài này để chia sẻ thông tin với các bạn.
Lý do mình chọn dịch vụ tối ưu tốc độ website của Vietnix:
✅ Đội ngũ chuyên gia giàu kinh nghiệm: Đã tối ưu thành công cho hàng nghìn website trong nhiều lĩnh vực khác nhau. Các bạn nhân viên rất thân thiện, nhiệt tình và chủ động trong quá trình làm việc để cập nhật tiến độ.
✅ Quy trình chuyên nghiệp:
– Kiểm tra và phân tích: Vietnix sử dụng các công cụ tiên tiến để kiểm tra và phân tích tốc độ website của bạn.
– Xác định nguyên nhân: Vietnix xác định nguyên nhân khiến website tải chậm và đưa ra giải pháp tối ưu phù hợp.
– Tối ưu hóa website: Vietnix áp dụng các kỹ thuật tối ưu tiên tiến nhất để tăng tốc độ tải trang.
– Báo cáo kết quả: Vietnix cung cấp báo cáo chi tiết về kết quả tối ưu hóa website.
Công nghệ tiên tiến: Vietnix sử dụng các công nghệ tối ưu mới nhất như LiteSpeed, LSCache, Memcached, Redis, v.v.
✅ Cam kết kết quả: Vietnix cam kết tăng tốc độ website của bạn lên tối thiểu 90%.
✅ Giá cả cạnh tranh: Vietnix cung cấp dịch vụ tối ưu tốc độ website với mức giá cạnh tranh nhất trên thị trường.
📣 Để đăng ký sử dụng dịch vụ tối ưu tốc độ website và các dịch vụ khác như hosting, vps, domain… các bạn có thể đăng ký tại https://portal.vietnix.vn/aff.php?aff=57 hoặc Inbox cho sếp Vietnix Trung nhé.
Các bạn có thể kiểm tra tốc độ trang của mình https://lasan.edu.vn hoặc một vài trang khác đã sử dụng dịch vụ của Vietnix như sau:
https://pagespeed.web.dev/…/https…/v8beqewyt2…
https://pagespeed.web.dev/…/https…/etiohjvtl4…
https://pagespeed.web.dev/…/https…/yczuqpw6d1…
https://pagespeed.web.dev/…/https…/xf9y65kuzk…
https://pagespeed.web.dev/…/https…/fdrsms15en…
https://pagespeed.web.dev/…/https…/s7p9cgzeri…
Trước khi tối ưu
Sau khi tối ưu
Dũng cá xinh

30 Tháng 1 lúc 19:09

·

[Đỉnh]
Em có dùng hosting, vps, cloud vps, cloud server, dedicated server của rất nhiều bên từ trong nước đến nước ngoài để hosting khoảng 2,000+ domain. Mỗi bên đều có ưu nhược khác nhau, nhưng có 1 số bên đặc biệt “bá đạo”, trong đó có: Vietnix!!!!

Lần đầu tiên em được cả CEO Hưng Nguyễn lẫn Master về dev Vietnix Trung của 1 đơn vị hàng đầu liên quan đến Hosting, Server support từ A – Z (từ Zalo, Tele, đến FB và cả Phone)

Em có khá nhiều web dạng Big Data (bài, ảnh, database, data) lên đến hàng trăm Gb. Càng to thì nó càng có nhiều vấn đề về phần phản hồi ban đầu (nhược điểm cố hữu của php wordpress so với nativejs, reactjs, html, headless,…), và anh em Vietnix có nhã ý hỗ trợ xử lý phần Speed Insight này.

Kết quả thực sự kinh ngạc, từ cách trao đổi đến xử lý vấn đề, cut off những cái cần cut off, xử lý rất sâu vấn đề và gợi ý rất nhiều ý tưởng optimize hệ thống!!!! Thực sự quá hài lòng về kết quả cũng như cách tương tác của các đầu tầu bên Vietnix ^^!!!

Nhân cơ duyên được kết nối với những cao thủ của Vietnix, em xin chia sẻ và lan tỏa để nhiều anh em có cơ hội được sử dụng những dịch vụ tốt nhất với giá vô cùng hợp lý!!!!

1 – Với anh em chưa có hosting, em đặc biệt recommend sử dụng hosting bên Vietnix:
– Sử dụng mã DUNGCAXINH_PAGESPEED sẽ được giảm 20% trọn đời (lifetime luôn)
– Áp dụng các gói Hosting Business, Hosting wordpress và reg 1 năm trở lên
– Anh em chưa biết cách reg thì còm men hoặc ib để em hướng dẫn hoặc nhờ các bạn bên Vietnix support từ A – Z

2 – Anh em có hosting rồi và muốn build blog hoặc web = wordpress mà chưa có giao diện thì nhân tiện em đang có tài khoản Premium bên Envato, em sẽ tặng bất kỳ giao diện nào có trên Envato Themes (Link em để dưới còm men) ạ. Cả nhà còm hoặc ib em Themes mà mọi người “chim ưng”, em sẽ cho anh em tải về, up drive và gửi ạ!!! (Chương trình này kéo dài đến ngày 29 tết âm lịch ạ)

3 – BEST NHẤT luôn!!!! Anh em nào mua hosting dùng mã DUNGCAXINH_PAGESPEED sẽ được tối ưu 100 điểm tốc độ cho 1 web (đây là ưu đãi riêng của CEO Hưng Nguyễn dành cho bạn bè của #dungcaxinh ^^) (Giá trị nhất là cái vụ số 3 này anh chị em nhé ^^), cơ hội vàng để move về đơn vị hosting uy tín là đây ^^!!!!

Một lần nữa xin chân thành cám ơn 2 đồng chí em: Hưng Nguyễn và Vietnix Trung đã giải được một bài toán khó cho các trang WP Big data mà anh loay hoay bao lâu nay chưa tìm ra đáp án!!! Chúc Vietnix ngày càng phát triển và có một năm 2024 đại đại thắng nhé ^^ !!!!!
#SEO #Vietnix #dungcaxinh

Trước khi tối ưu
Sau khi tối ưu
Hiếu AI

2 Tháng 2 lúc 21:06

·

UY TÍN – TẬN TÂM – TỐC ĐỘ

3 từ trên là vẫn chưa đủ để nói về quy trình làm việc cực chuyên nghiệp của team Vietnix.Chuyện là mình có con website chính đang có lượt truy cập organic hàng ngày cũng tương đối (hình 1)

Vấn đề là, con site này đang nằm trên hosting dùng chung nên tốc độ load chưa nhanh, tốc độ load chưa nhanh thì trải nghiệm visitor chưa tốt, trải nghiệm visitor chưa tốt thì tỷ lệ chuyển đổi ra đơn hàng kiểu gì thì kiểu cũng sẽ bị ảnh hưởng.

Biết rõ là đang mất tiền nhưng không biết xử lý như lào, nghĩ mà cay.

Đang loay hoay thì vận may nó tới, hôm qua đang lướt phở bò thấy a Nguyễn Việt Dũng đăng bài, rảnh nên thả cái comment hóng hớt, ai ngờ ngoằng phát thấy ông Dũng tạo nhóm với Vietnix Trung luôn.

Ae Vietnix thì siêu tốc độ, lập tức lấy thông tin vào việc, không hỏi han lằng nhằng, không kỳ kèo chốt đơn dù lúc đấy cũng đang đêm muộn.
Sáng hôm sau dậy vẫn còn đang lơ ngơ mở điện thoại check tin nhắn thì đã thấy ae Vietnix báo xong việc, trong khi mình vẫn chưa biết có chuyện gì xảy ra @@.

Được cái bấm thử website thì thấy load siêu nhanh, chưa tới một giây là thông tin các thứ hiện hết. Quá phê, thả con ảnh trước sau (hình 2,3) để ace tiện đối chiếu nhé. Thế này thì mình gửi gắm nốt 15 em website còn lại cho team Vietnix thôi chứ không cần nghĩ ngợi gì nữa. 10/10.

Nên là:

  1. Anh chị em muốn có một con website tốc độ load nhanh như tốc độ trở mặt của nyc – Dùng ngay dịch vụ hosting của Vietnix
  2. Anh chị em có website rồi muốn tìm bên hosting uy tín, chuyên nghiệp hỗ trợ không quản ngày đêm – Liên hệ ngay Vietnix Trung
  3. Anh chị em quan tâm đến trải nghiệm khách hàng, từ những cái nhỏ nhất như tăng tốc độ website – Better call Vietnix Trung

Và đừng quên dùng pass “HIEUAI_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting, quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
#SEO #Vietnix #hieuai

Website
Trước khi tối ưu
Sau khi tối ưu

Chỉ số tăng trưởng

Điểm Desktop

100 (+43)

Điểm Mobile

100 (+74)

Core Web Vitals

Passed

Lĩnh vực

AI