Hướng dẫn cách triển khai ứng dụng Flask với Gunicorn và Nginx trên Ubuntu 20.04

Lượt xem
Home

Flask là một framework Python được sử dụng phổ biến để xây dựng các website vừa và nhỏ. Nó cung cấp nhiều công cụ đơn giản để xử lý các request web, cung cấp hàng loạt tính năng linh hoạt cho các ứng dụng web. Trong bài viết này, Vietnix sẽ hướng dẫn bạn cách chạy ứng dụng Flask với Gunicorn và Nginx trên Ubuntu 20.04, trong đó sử dụng Gunicorn làm máy chủ ứng dụng và Nginx làm reverse proxy front-end.

Yêu cầu chuẩn bị để chạy ứng dụng Flask với Gunicorn và Nginx trên Ubuntu 20.04

Để bắt đầu thực hiện theo hướng dẫn, bạn cần chuẩn bị các yêu cầu sau đây:

  • Một máy chủ đã cài đặt Ubuntu 20.04, được cấu hình và quản lý thông qua user non-root với đặc quyền sudo.
  • Cài đặt sẵn Nginx ở máy chủ trên để chuyển tiếp các request web.
  • Một domain được cấu hình trỏ đến máy chủ của bạn và đã tạo các bản ghi DNS sau: Một bản ghi A với your_domain trỏ đến địa chỉ IP public máy chủ của bạn; một bản ghi A với www.your_domain trỏ đến địa chỉ IP public máy chủ của bạn.
  • Có hiểu biết về đặc tả WSGI mà máy chủ Gunicorn sẽ dùng để giao tiếp với ứng dụng Flask của bạn. 

Hướng dẫn cách để chạy ứng dụng Flask với Gunicorn và Nginx trên Ubuntu 20.04

Để thiết lập máy chủ Gunicorn và khởi động, cấu hình Nginx hoạt động như một reverse proxy front-end, bạn thực hiện theo các bước dưới đây:

Bước 1: Cài đặt các thành phần từ Ubuntu Repositories

Đầu tiên, bạn cần cài đặt tất cả các thành phần cần thiết từ Ubuntu Repositories, bao gồm pip, trình quản lý gói Python dùng để quản lý các thành phần Python. Bạn sẽ lấy các file phát triển Python để thiết lập một số thành phần Gunicorn.

Đầu tiên hãy cập nhật local package index và cài đặt các gói cho phép xây dựng môi trường Python. Chúng bao gồm python3-pip cùng với một vài gói và công cụ phát triển cần thiết cho môi trường lập trình mạnh mẽ.

$ sudo apt update
$ sudo apt install python3-pip python3-dev build-essential libssl-dev libffi-dev python3-setuptools

Với các gói có sẵn này, bạn có thể tiến hành tạo môi trường ảo để thực hiện project của mình.

Bước 2: Tạo một môi trường ảo Python

Tiếp theo, bạn cần thiết lập một môi trường ảo để cô lập ứng dụng Flask khỏi các file Python khác trên hệ thống. Bắt đầu thao tác này bằng cách cài gói python3-venv, sử dụng module venv:

$ sudo apt install python3-venv

Tiếp theo, hãy tạo một thư mục cha cho Flack project, di chuyển nó vào thư mục sau đây:

$ mkdir ~/myproject
$ cd ~/myproject

Tạo một môi trường ảo để lưu trữ các yêu cầu Python của Flask project bằng cách sử dụng câu lệnh:

$ python3 -m venv myprojectenv

Câu lệnh trên sẽ giúp bạn cài đặt một bản sao Python và pip cục bộ vào một thư mục được gọi là myprojectenv trong project của bạn.

Trước khi cài đặt các ứng dụng trong môi trường ảo, bạn cần kích hoạt nó bằng câu lệnh:

$ source myprojectenv/bin/activate

Dấu nhắc lệnh sẽ thay đổi cho biết rằng bạn đang hoạt động trong môi trường ảo, giao diện hiển thị sẽ có dạng như sau: (myprojectenv)user@host:~/myproject$.

Bước 3: Cài đặt ứng dụng Flask

Hiện tại, mọi thao tác của bạn sẽ được thực hiện trên môi trường ảo. Bạn có thể cài đặt Flask và Gunicorn để bắt đầu thiết lập ứng dụng.

Đầu tiên, hãy cài đặt wheel với phiên bản cục bộ của pip để bảo đảm rằng các gói của bạn có thể cài đặt ngay cả khi thiếu bản lưu trữ:

$ pip install wheel

Lưu ý, bất kể đang sử dụng phiên bản Python nào thì khi kích hoạt môi trường ảo hóa xong bạn nên sử dụng lệnh pip chứ không phải là pip3.

Tiếp theo, bạn tiến hành cài đặt Gunicorn và Flask:

(myprojectenv) $ pip install gunicorn flask

Tạo một ứng dụng mẫu

Bây giờ, bạn đã có sẵn Flask để tạo một ứng dụng đơn giản. Flask là một microframework nên không bao gồm nhiều công cụ như các framework tích hợp khác. Nó tồn tại dưới dạng một module mà bạn có thể nhập vào project của mình để khởi tạo một ứng dụng web.

Bạn tiến hành tạo ứng dụng Flask trong một file duy nhất, gọi là myproject.py:

(myprojectenv) $ nano ~/myproject/myproject.py

Mã ứng dụng sẽ được lưu trữ trong file này, cho phép nhập Flask và khởi tạo một Flask object. Bạn có thể sử dụng nó để xác định các hàm nên chạy khi một route cụ thể được yêu cầu:

from flask import Flask
app = Flask(name)

@app.route("/")
def hello():
    return "<h1 style='color:blue'>Xin chào!</h1>"

if name == "main":
app.run(host='0.0.0.0')

Cách làm trên đơn giản là việc xác định nội dung cần hiển thị khi truy cập vào root domain. Sau khi hoàn thành, bạn lưu và đóng file.

Bạn nên kích hoạt thêm tường lửa UFW khi thiết lập máy chủ. Để kiểm tra ứng dụng, bạn cần cho phép truy cập đến cổng 5000:

(myprojectenv) $ sudo ufw allow 5000

Bây giờ bạn có thể kiểm tra ứng dụng Flask bằng câu lệnh sau:

(myprojectenv) $ python myproject.py

Bạn sẽ nhìn thấy output như dưới đây, bao gồm một cảnh báo nhắc nhở không nên thiết lập máy chủ trong quá trình:

Output
* Serving Flask app "myproject" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

Truy cập vào địa chỉ IP trên máy chủ của bạn, kèm theo đuôi :5000 trên trình duyệt web:

http://your_server_ip:5000

Bạn sẽ thấy màn hình hiển thị nội dung tương tự như sau:

Hình ảnh hiển thị
Hình ảnh hiển thị

Khi hoàn thành, bạn nhấn CTRL-C trong cửa sổ terminal để dừng máy chủ phát triển Flask.

Tạo WSGI Entry Point

Tiếp theo, bạn tạo một file với vai trò là entry point cho ứng dụng của mình. Việc này sẽ giúp máy chủ Gunicorn biết cách tương tác với ứng dụng.

Gọi file tên là wsgi.py:

(myprojectenv) $ nano ~/myproject/wsgi.py

Trong file này, bạn nhập đối tượng Flask từ ứng dụng rồi chạy câu lệnh sau:

from myproject import app

if __name__ == "__main__":
    app.run()

Sau khi hoàn tất, bạn nhấn lưu và đóng file.

Để quá trình thiết lập Flask diễn ra thuận lợi và không gặp bất cứ trở ngại nào, bạn cần sở hữu một máy chủ linh hoạt với toàn quyền quản trị. Trong đó, VPS Vietnix chính là giải pháp tối ưu đáp ứng những yêu cầu này. VPS Vietnix sở hữu những ưu điểm nổi trội như:

  • Tốc độ truyền tải dữ liệu và độ ổn định cao giúp khách hàng có thể triển khai mọi website, ứng dụng một cách mượt mà nhất.
  • Toàn quyền quản trị và có thể tự do cài đặt mọi hệ điều hành, phần mềm theo nhu cầu sử dụng. Đội ngũ kỹ thuật túc trực 24/7 sẵn sàng hỗ trợ nếu người dùng gặp khó khăn trong quá trình này.
  • Tiết kiệm chi phí với nhiều gói dịch vụ theo nhiều cấu hình khác nhau, từ VPS Giá Rẻ, VPS Cao Cấp, Cloud Server, VPS NVMe cho tới VPS GPU.

Nếu bạn đang tìm kiếm một giải pháp linh hoạt, tiết kiệm chi phí và đáp ứng được những yêu cầu cao về quản trị máy chủ thì VPS Vietnix chính là lựa chọn tốt nhất dành cho bạn.

Bước 4: Cấu hình Gunicorn

Trước khi tiếp tục, bạn nên kiểm tra xem Gunicorn có thể hoạt động chính xác hay không. Để làm điều này, bạn chỉ cần truyền cho nó tên của entry point. Entry point này được xây dựng dưới dạng tên của module (loại bỏ phần mở rộng .py), cộng với tên của callable trong ứng dụng. Đối với trường hợp này, đó là wsgi:app.

Bạn sẽ chỉ định interface và port để ứng dụng có thể bắt đầu kết nối trên một interface có sẵn công khai:

(myprojectenv) $ cd ~/myproject
(myprojectenv) $ gunicorn --bind 0.0.0.0:5000 wsgi:app

Bạn sẽ nhận được output như sau:

Output
[2020-05-20 14:13:00 +0000] [46419] [INFO] Starting gunicorn 20.0.4
[2020-05-20 14:13:00 +0000] [46419] [INFO] Listening at: http://0.0.0.0:5000 (46419)
[2020-05-20 14:13:00 +0000] [46419] [INFO] Using worker: sync
[2020-05-20 14:13:00 +0000] [46421] [INFO] Booting worker with pid: 46421

Truy cập địa chỉ IP máy chủ của bạn với :5000 được thêm vào cuối trong trình duyệt web một lần nữa:

http://your_server_ip:5000

Bạn sẽ nhận được output của ứng dụng như sau:

Hình ảnh ouput hiển thị
Hình ảnh ouput hiển thị

Khi bạn xác nhận được Gunicorn đã hoạt động chính xác, hãy nhấn CTRL-C trong terminal.

Sau khi đã hoàn tất môi trường ảo, bạn có thể tắt nó đi: 

(myprojectenv) $ deactivate

Các câu lệnh Python bất kỳ bây giờ sẽ sử dụng lại môi trường Python của hệ thống.

Tiêp theo, bạn tạo unit file dịch vụ systemd. Việc tạo systemd unit file cho phép hệ thống tự khởi động Gunicorn và cung cấp ứng dụng Flask mỗi khi máy chủ khởi động.

Tạo một unit file kết thúc bằng .service trong thư mục /etc/systemd/system để bắt đầu:

$ sudo nano /etc/systemd/system/myproject.service

Ở trong đó, bạn bắt đầu với phần [Unit] được dùng để chỉ định metadata và dependencies. Bạn cần đặt mô tả dịch vụ của mình ở đây và cho phép hệ thống chỉ khởi động khi đã đạt được networking target:

[Unit]
Description=Gunicorn instance to serve myproject
After=network.target

Tiếp theo, bạn mở phần [Service] ra. Phần này sẽ chỉ định người dùng và nhóm mà bạn muốn tiến trình chạy bên dưới. Bạn hãy cấp quyền sở hữu tiến trình cho tài khoản user thông thường bởi vì nó sở hữu tất cả các file liên quan. Đồng thời bạn cũng cần cấp quyền sở hữu cho nhóm www-data để Nginx có thể giao tiếp dễ dàng với các tiến trình Gunicorn. Lưu ý bạn cần phải thay username ở đây thành username của bạn:

[Unit]
Description=Gunicorn instance to serve myproject
After=network.target

[Service]
User=vietnix
Group=www-data

Tiếp theo, bạn hãy map thư mục làm việc và thiết lập môi trường PATH để hệ thống khởi động biết rằng các file thực thi đang đặt trong môi trường ảo. Đồng thời bạn hãy chỉ định lệnh để khởi động dịch vụ. Lệnh này sẽ thực hiện các điều sau đây:

  • Bắt đầu 3 tiến trình làm việc (bạn nên điều chỉnh nó tùy vào mức độ cần thiết).
  • Tạo liên kết với file Unix socket, myproject.sock trong thư mục dự án của bạn. Bạn cần thiết lập giá trị umask là 007 để tạo tạo file socket cấp quyền cho chủ sở hữu và nhóm truy cập; đồng thời hạn chế truy cập của người dùng khác.
  • Chỉ định tên file WSGI entry point cùng với Python callable trong file đó (wsgi:app).

Systemd sẽ yêu cần bạn cung cấp đường dẫn đầy đủ đến chương trình thực thi Gunicorn được cài đặt trong môi trường ảo. Bạn nhớ thay thế thông tin username và đường dẫn project bằng thông tin của bạn:

[Unit]
Description=Gunicorn instance to serve myproject
After=network.target

[Service]
User=vietnix
Group=www-data
WorkingDirectory=/home/vietnix/myproject
Environment="PATH=/home/vietnix/myproject/myprojectenv/bin"
ExecStart=/home/vietnix/myproject/myprojectenv/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 wsgi:app

Cuối cùng, bạn thêm phần [Install], nó cho biết systemd nên liên kết dịch vụ này với cái gì khi được kích hoạt. Nếu bạn muốn dịch vụ này bắt đầu khi hệ thống đa người dùng thông thường đã hoạt động thì thực hiện như sau:

[Unit]
Description=Gunicorn instance to serve myproject
After=network.target

[Service]
User=vietnix
Group=www-data
WorkingDirectory=/home/vietnix/myproject
Environment="PATH=/home/vietnix/myproject/myprojectenv/bin"
ExecStart=/home/vietnix/myproject/myprojectenv/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 wsgi:app

[Install]
WantedBy=multi-user.target

Như vậy, file service systemd đã hoàn tất, bạn nhấn lưu và đóng lại.

Bây giờ bạn có thể bắt đầu dịch vụ Gunicorn đã tạo và kích hoạt nó khi hệ thống khởi động:

$ sudo systemctl start myproject
$ sudo systemctl enable myproject

Kiểm tra trạng thái:

$ sudo systemctl status myproject

Bạn sẽ thấy output như sau:

Output
● myproject.service - Gunicorn instance to serve myproject
     Loaded: loaded (/etc/systemd/system/myproject.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-05-20 14:15:18 UTC; 1s ago
   Main PID: 46430 (gunicorn)
      Tasks: 4 (limit: 2344)
     Memory: 51.3M
     CGroup: /system.slice/myproject.service
             ├─46430 /home/vietnix/myproject/myprojectenv/bin/python3 /home/vietnix/myproject/myprojectenv/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 wsgi:app
             ├─46449 /home/vietnix/myproject/myprojectenv/bin/python3 /home/vietnix/myproject/myprojectenv/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 wsgi:app
             ├─46450 /home/vietnix/myproject/myprojectenv/bin/python3 /home/vietnix/myproject/myprojectenv/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 wsgi:app
             └─46451 /home/vietnix/myproject/myprojectenv/bin/python3 /home/vietnix/myproject/myprojectenv/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 wsgi:app

Nếu bạn thấy có bất cứ lỗi nào xảy ra, hãy giải quyết chúng trước khi thực hiện các bước tiếp theo.

Bước 5: Cấu hình Nginx để proxy request

Máy chủ ứng dụng Gunicorn hiện đang chạy và chờ request trên file socket trong thư mục project. Bây giờ bạn cần cấu hình Nginx để chuyển các web request đến socket bằng cách thêm một số chỉnh sửa nhỏ trong file cấu hình.

Đầu tiên, bạn tạo một file cấu hình server block mới trong thư mục sites-available của Nginx. Gọi đó là myproject để phù hợp với phần tiếp theo trong hướng dẫn này:

$ sudo nano /etc/nginx/sites-available/myproject

Mở một server block và cho Nginx lắng nghe trên cổng mặc định 80. Đồng thời cho phép Nginx sử dụng server block cho các yêu cầu đối với tên miền của máy chủ:

server {
listen 80;
server_name your_domain www.your_domain;
}

Tiếp theo, bạn thêm một location block phù hợp, bao gồm file proxy_params để chỉ định một vài thông số chuyển tiếp chung cần thiết. Sau đó bạn chuyển tiếp các request đến socket đã được định nghĩa bằng cách sử dụng proxy_pass:

server {
    listen 80;
    server_name your_domain www.your_domain;

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/vietnix/myproject/myproject.sock;
    }
}

Bạn lưu và đóng file sau khi hoàn tất.

Để kích hoạt cấu hình Nginx server block vừa tạo, bạn liên kết file đó với thư mục sites-enabled:

$ sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled

Với file trong thư mục đó, bạn kiểm tra lỗi cú pháp bằng câu lệnh:

$ sudo nginx -t

Nếu kết quả trả về không chỉ ra bất cứ vấn đề nào, bạn hãy khởi động lại tiến trình Nginx để cập nhật cấu hình mới:

$ sudo systemctl restart nginx

Cuối cùng, bạn điều chỉnh lại cài đặt tường lửa. Lúc này bạn sẽ không cần truy cập thông qua port 5000 nên có thể bỏ thiết lập này đi. Cho phép toàn quyền truy cập vào máy chủ Nginx bằng cách thực hiện câu lệnh:

$ sudo ufw delete allow 5000
$ sudo ufw allow 'Nginx Full'

Bây giờ bạn có thể truy cập vào tên miền máy chủ bằng trình duyệt web:

http://your_domain

Bạn sẽ nhận được kết quả trên ứng dụng như sau:

Kết quả bạn nhận được
Kết quả bạn nhận được

Nếu bạn gặp phải bất kỳ lỗi gì, hãy kiểm tra lại những thông tin sau:

  • sudo less /var/log/nginx/error.log: Kiểm tra nhật ký lỗi Nginx.
  • sudo less /var/log/nginx/access.log: Kiểm tra nhật ký truy cập Nginx.
  • sudo journalctl -u nginx: Kiểm tra nhật ký tiến trình Nginx.
  • sudo journalctl -u myproject: Kiểm tra nhật ký Gunicorn của ứng dụng Flask.

Bước 6: Bảo mật ứng dụng

Để bảo đảm traffic đến server luôn an toàn, bạn cần tạo chứng chỉ SSL cho tên miền. Bạn có thể lấy chứng chỉ SSL tên miền miễn phí từ Let’s Encrypt, tự tạo chứng chỉ self-signed hoặc mua chứng chỉ từ các nhà cung cấp và thực hiện cấu hình cho Nginx.

Cài đặt gói Nginx của Certbot với apt:

$ sudo apt install python3-certbot-nginx

Certbot là một trong những phần mềm hỗ trợ cài đặt SSL Let’s Encrypt phổ biến nhất. Certbot cung cấp nhiều cách lấy chứng chỉ SSL thông qua các plugin. Plugin Nginx sẽ đảm nhận việc cấu hình Nginx và tải lại cấu hình khi cần thiết. Để sử dụng plugin này, bạn gõ lệnh:

$ sudo certbot --nginx -d your_domain -d www.your_domain

Câu lệnh trên giúp chạy certbot với plugin --nginx, sử dụng -d để chỉ định các tên sẽ hợp lệ.

Nếu đây là lần đầu tiên chạy certbot, bạn sẽ được yêu cầu nhập địa chỉ email và chấp nhận các điều khoản. Sau đó, certbot sẽ kết nối với máy chủ Let’s Encrypt và chạy thử để xác nhận rằng bạn kiểm soát tên miền mà bạn đang yêu cầu chứng chỉ.

Nếu thành công, certbot sẽ hỏi bạn cách cấu hình các thiết lập HTTPS của bạn:

Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Bạn lựa chọn xong nhấn ENTER, cấu hình sẽ được cập nhật và Nginx sẽ được tải lại để áp dụng các thiết lập mới. Sau khi hoàn tất, certbot sẽ thông báo cho bạn biết quá trình đã thành công và nơi lưu trữ chứng chỉ của bạn:

Output
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/your_domain/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/your_domain/privkey.pem
   Your cert will expire on 2020-08-18. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                             https://eff.org/donate-le

Nếu bạn đã thực hiện cài đặt Nginx theo yêu cầu ban đầu, bạn sẽ không cần cấu hình HTTP dự phòng nữa:

$ sudo ufw delete allow 'Nginx HTTP'

Để xác nhận cấu hình, bạn truy cập lại tên miền sử dụng https://

https://your_domain

Bạn sẽ thấy output hiển thị ứng dụng cùng với chứng nhận bảo mật đã được cài đặt vào trình duyệt.

Nếu bạn chưa sở hữu chứng chỉ SSL và muốn tìm một nhà cung cấp uy tín để mua thì Vietnix là lựa chọn tối ưu nhất cho bạn. Với hơn 10 năm kinh nghiệm hoạt động cung cấp VPS, tên miền, Vietnix đã xây dựng được uy tín và sự tin tưởng từ hàng ngàn khách hàng.

Tính tới thời điểm hiện tại, Vietnix đã cùng đồng hành với hơn 50.000 khách hàng và kích hoạt hơn 100.000 dịch vụ. Do đó, bạn có thể hoàn toàn yên tâm về chất lượng dịch vụ của Vietnix. Liên hệ với Vietnix để được tư vấn các gói dịch vụ tối ưu theo nhu cầu sử dụng của bạn:

  • Đị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

Trong hướng dẫn về cách chạy ứng dụng Flask với Gunicorn và Nginx trên Ubuntu 20.04 trên, Vietnix đã hướng dẫn bạn cách thiết lập và bảo mật ứng dụng Flask đơn giản trong môi trường ảo Python. Cùng với đó là cách tạo một server block Nginx để chuyển tiếp client traffic web đến máy chủ ứng dụng, truyền tải các external request và thiết lập bảo mật với Let’s Encrypt. Nếu gặp bất cứ khó khăn nào trong quá trình này, hãy để lại bình luận bên dưới để được hỗ trợ nhé.

Chia sẻ lên

Theo dõi trên

Logo Google new

Đánh giá

5/5 - (65 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