Blog

  • Hướng Dẫn Cài n8n kèm FFmpeg Trên VPS Chạy Bằng Domain Của Bạn

    Nhu cầu cài đặt FFmpeg ngay trên n8n nhằm tận dụng tài nguyên của VPS để render video luôn ngày càng cao. Bản thân mình cũng khá cần cái này. Sau mọt thời gian tìm hiểu thì mình chi sẻ hướng dẫn các bạn cách cài n8n kèm FFmpeg để các bạn vận hành một cách dể nhất.

    Dưới đây là video hướng dẫn chi tiết

    Còn đây là nội dung file bash cài đặt:

    #!/bin/bash
    set -e
    
    ###############################################################################
    # Script cài đặt N8N (kèm Postgres, Redis, Docker, SSL thủ công v.v.)
    # Dùng được cả cho domain chính lẫn subdomain:
    #   - Hỏi người dùng domain (VD: zenpr.net)
    #   - Hỏi subdomain (nếu để trống => cài trên domain chính)
    #   - Người dùng paste chứng chỉ SSL (certificate.crt & private.key)
    #   - Script tạo file cấu hình Nginx, Docker Compose, ...
    ###############################################################################
    
    # Kiểm tra quyền root
    if [ "$EUID" -ne 0 ]; then
      echo "Vui lòng chạy script với quyền root (sudo)."
      exit 1
    fi
    
    ###############################################################################
    # Thu thập thông tin từ người dùng
    ###############################################################################
    echo "======================================"
    echo "  CÀI ĐẶT N8N BÁN TỰ ĐỘNG BY ZEN"
    echo "======================================"
    echo ""
    read -p "Nhập domain chính (ví dụ: zenpr.net): " DOMAIN_NAME
    read -p "Nhập subdomain (để trống nếu muốn cài trên domain chính): " SUBDOMAIN
    
    # Xác định HOSTNAME
    if [ -z "$SUBDOMAIN" ]; then
      HOSTNAME="$DOMAIN_NAME"
    else
      HOSTNAME="${SUBDOMAIN}.${DOMAIN_NAME}"
    fi
    
    echo ""
    echo "Nhập nội dung SSL Certificate (bao gồm cả dòng -----BEGIN CERTIFICATE----- ...)."
    echo "Khi paste xong, nhấn Ctrl+D 2 lần để kết thúc."
    SSL_CERT_CONTENT="$(</dev/stdin)"   # Đọc mọi thứ cho đến khi Ctrl+D
    
    echo ""
    echo "Nhập nội dung SSL Private Key (bao gồm cả dòng -----BEGIN PRIVATE KEY----- ...)."
    echo "Khi paste xong, nhấn Ctrl+D 2 lần để kết thúc."
    SSL_KEY_CONTENT="$(</dev/stdin)"
    
    echo ""
    read -p "Nhập POSTGRES_USER (ví dụ: n8n_zen_demo): " POSTGRES_USER
    read -p "Nhập POSTGRES_PASSWORD (ví dụ: n8n_pass_demo): " POSTGRES_PASSWORD
    read -p "Nhập POSTGRES_DB (ví dụ: n8n_db_demo): " POSTGRES_DB
    
    echo ""
    read -p "Nhập dung lượng swap (GB) cần tạo (ví dụ 2GB Ram thì nhập là 2): " swap_size
    
    ###############################################################################
    # Update hệ thống, cài đặt các gói cần thiết
    ###############################################################################
    export DEBIAN_FRONTEND=noninteractive
    
    echo "===== Cập nhật hệ thống ====="
    apt update -y && apt upgrade -y
    
    echo "===== Cài đặt một số gói cơ bản (distro-info-data, cifs-utils, etc.) ====="
    apt-get install -y distro-info-data cifs-utils mhddfs unionfs-fuse unzip zip \
                       software-properties-common wget curl gnupg2 ca-certificates lsb-release
    
    ###############################################################################
    # Tạo thư mục cài đặt N8N
    ###############################################################################
    INSTALL_DIR="/home/${HOSTNAME}"
    mkdir -p "$INSTALL_DIR"
    cd "$INSTALL_DIR"
    
    ###############################################################################
    # Cài đặt Nginx từ repo chính thức (nginx.org)
    ###############################################################################
    echo "===== Cài đặt Nginx chính thức ====="
    apt install -y curl gnupg2 ca-certificates lsb-release ubuntu-keyring
    wget -O- https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
      | tee /etc/apt/trusted.gpg.d/nginx.gpg > /dev/null
    
    # Tạo thư mục .gnupg để tránh warning
    mkdir -p -m 600 /root/.gnupg
    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/nginx.gpg
    
    echo "deb http://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" | tee /etc/apt/sources.list.d/nginx.list
    										  
    
    sudo apt update -y
    
    # Xóa Nginx cũ (nếu có)
    sudo apt purge -y nginx nginx-common nginx-full nginx-core || true
    
    # Cài Nginx mới
    sudo apt install -y nginx
    nginx -v
    
    systemctl enable nginx
    systemctl start nginx
    
    # Tạo các thư mục cấu hình Nginx nếu chưa có
    mkdir -p /etc/nginx/{modules-available,modules-enabled,sites-available,sites-enabled,snippets}
    
    # Backup file cấu hình gốc
    if [ -f /etc/nginx/nginx.conf ]; then
      cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
    fi
    
    # Ghi file /etc/nginx/nginx.conf
    cat > /etc/nginx/nginx.conf << 'EOL'
    user www-data;
    worker_processes auto;
    pid /run/nginx.pid;
    include /etc/nginx/modules-enabled/*.conf;
    
    events {
    	worker_connections 768;
    	# multi_accept on;
    }
    
    http {
    
    	## Basic Settings
    	sendfile on;
    	tcp_nopush on;
    	tcp_nodelay on;
    	keepalive_timeout 65;
    	types_hash_max_size 2048;
    
    	include /etc/nginx/mime.types;
    	default_type application/octet-stream;
    
    	## SSL Settings
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    	ssl_prefer_server_ciphers on;
    
    	## Logging Settings
    	access_log /var/log/nginx/access.log;
    	error_log /var/log/nginx/error.log;
    
    	## Gzip Settings
    	gzip on;
    
    	include /etc/nginx/conf.d/*.conf;
    	include /etc/nginx/sites-enabled/*;
    }
    EOL
    
    nginx -t
    
    mkdir -p /etc/systemd/system/nginx.service.d/
    echo -e "[Service]\nRestart=always\nRestartSec=10s" > /etc/systemd/system/nginx.service.d/restart.conf
    systemctl daemon-reload
    systemctl enable nginx
    systemctl start nginx
    systemctl restart nginx
    
    ###############################################################################
    # Cài đặt FFmpeg 7.1
    ###############################################################################
    echo "===== Cài đặt FFmpeg 7.1 ====="
    # Gỡ bỏ FFmpeg cũ nếu có
    sudo apt remove --purge -y ffmpeg || true
    sudo apt autoremove -y
    
    # Cài FFmpeg mới
    sudo add-apt-repository -y ppa:ubuntuhandbook1/ffmpeg7
    sudo apt update -y
    sudo apt install -y ffmpeg
    
    ###############################################################################
    # Cấu hình domain cho Nginx, sử dụng file /etc/nginx/conf.d/<subdomain>.<domain>.conf
    ###############################################################################
    CONF_FILE="/etc/nginx/conf.d/${HOSTNAME}.conf"
    cat > "$CONF_FILE" <<EOL
    server {
        listen 80;
        listen [::]:80;
        server_name ${HOSTNAME};
        return 301 https://\$host\$request_uri;
    }
    
    server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name ${HOSTNAME};
    
        ssl_certificate /etc/nginx/ssl/${HOSTNAME}/certificate.crt;
        ssl_certificate_key /etc/nginx/ssl/${HOSTNAME}/private.key;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
    
        # Enable gzip compression for text-based resources
        gzip on;
        gzip_vary on;
        gzip_proxied any;
        gzip_comp_level 6;
        gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    
        add_header Content-Security-Policy "frame-ancestors *";
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    
        client_max_body_size 15G;
    
        location / {
            proxy_pass http://127.0.0.1:5678;
            proxy_http_version 1.1;
            proxy_set_header Upgrade \$http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host \$host;
            proxy_set_header Host \$http_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;
            proxy_set_header X-Frame-Options SAMEORIGIN;
            proxy_buffers 16 64k;
            proxy_buffer_size 128k;
            client_max_body_size 10M;
            proxy_set_header X-Forwarded-Server \$host;
    
            proxy_pass_request_headers on;
            proxy_max_temp_file_size 0;
            proxy_connect_timeout 900;
            proxy_send_timeout 900;
            proxy_read_timeout 900;
    
            proxy_busy_buffers_size 256k;
            proxy_temp_file_write_size 256k;
            proxy_intercept_errors on;
        }
    }
    EOL
    
    echo "===== Tạo thư mục SSL và ghi chứng chỉ người dùng đã nhập ====="
    mkdir -p "/etc/nginx/ssl/${HOSTNAME}/"
    
    # Ghi certificate.crt
    echo "$SSL_CERT_CONTENT" | sudo tee "/etc/nginx/ssl/${HOSTNAME}/certificate.crt" > /dev/null
    # Ghi private.key
    echo "$SSL_KEY_CONTENT"  | sudo tee "/etc/nginx/ssl/${HOSTNAME}/private.key" > /dev/null
    
    sudo systemctl daemon-reload
    sudo systemctl restart nginx
    service nginx restart
    
    ###############################################################################
    # Tạo swap
    ###############################################################################
    echo "===== Tạo/Thiết lập swap dung lượng ${swap_size}GB ====="
    
    if swapon --show | grep -q '/swapfile'; then
        echo "Phân vùng swap đã tồn tại. Tiến hành hủy bỏ phân vùng cũ..."
        swapoff /swapfile
        rm -f /swapfile
    fi
    
    fallocate -l "${swap_size}G" /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    
    # Thêm vào /etc/fstab nếu chưa có									   
    if ! grep -q '/swapfile' /etc/fstab; then
      echo '/swapfile none swap sw 0 0' >> /etc/fstab
    fi
    
    echo "Swap với dung lượng ${swap_size}GB đã được tạo và kích hoạt."
    
    ###############################################################################
    # Cài đặt Redis
    ###############################################################################
    echo "===== Cài đặt Redis ====="
    wget -O- https://packages.redis.io/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/redis.gpg
    
    mkdir -p -m 600 /root/.gnupg
    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/redis.gpg
    
    echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
    # Nhiều khi script paste bị lặp, ta chỉ echo 1 dòng:
    # deb https://packages.redis.io/deb jammy main (tùy version Ubuntu). 
    # Ở đây ta tin dùng $(lsb_release -cs) = jammy.
    sudo apt update -y
    sudo apt install -y redis
    systemctl enable redis-server
    systemctl start redis-server
    
    ###############################################################################
    # Cài đặt Docker & Docker Compose
    ###############################################################################
    echo "===== Cài đặt Docker & Docker Compose ====="
    sudo apt update -y
    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    
    														 
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    																	 
    										  
    sudo apt update -y
    sudo apt install -y docker-ce docker-compose-plugin			   
    systemctl start docker
    systemctl enable docker
    sleep 5
    
    ###############################################################################
    # Mở các cổng firewall cần thiết
    ###############################################################################
    sudo ufw allow 5432
    sudo ufw allow 5678
    # sudo ufw allow 5456
    # sudo ufw allow 3456
    
    ###############################################################################
    # Tạo docker-compose.yml và file .env cho N8N
    ###############################################################################
    echo "===== Tạo file docker-compose.yml và .env cho N8N ====="
    
    # .env
    sudo tee "${INSTALL_DIR}/.env" > /dev/null <<EOL
    #===== Thông tin tên miền =====#
    DOMAIN_NAME=${DOMAIN_NAME}
    SUBDOMAIN=${SUBDOMAIN}
    HOSTNAME=${HOSTNAME}					
    N8N_PROTOCOL=https
    NODE_ENV=production
    
    #===== Thông tin Postgres =====#
    POSTGRES_USER=${POSTGRES_USER}
    POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    POSTGRES_DB=${POSTGRES_DB}
    
    #===== Múi giờ =====#
    GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
    
    #===== Lưu trữ file nhị phân (attachments…) trên ổ cứng thay vì DB =====#
    N8N_DEFAULT_BINARY_DATA_MODE=filesystem
    N8N_DEFAULT_BINARY_DATA_FILESYSTEM_DIRECTORY=/files
    N8N_DEFAULT_BINARY_DATA_TEMP_DIRECTORY=/files/temp
    
    #===== Quyền file config =====#
    N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
    
    #===== Dọn dẹp logs/executions cũ =====#
    EXECUTIONS_DATA_PRUNE=true
    EXECUTIONS_DATA_MAX_AGE=168
    EXECUTIONS_DATA_PRUNE_MAX_COUNT=50000
    
    #===== Basic Auth cho n8n =====#
    N8N_BASIC_AUTH_USER=Admin
    N8N_BASIC_AUTH_PASSWORD=xxxxx
    EOL
    
    # Dockerfile (thêm FFmpeg vào container)
    sudo tee "${INSTALL_DIR}/Dockerfile" > /dev/null << 'EOL'
    FROM n8nio/n8n:latest
    
    USER root
    
    # Cài ffmpeg (alpine) hoặc (debian-based). Tùy theo base image.
    # n8nio/n8n:latest hiện tại là alpine, nên:
    # RUN apk update && apk add ffmpeg
    
    RUN apk update && apk add --no-cache ffmpeg
    
    # nếu image của bạn dựa trên Debian/Ubuntu thì dùng lệnh sau thay thế cho lệnh trên
    # RUN apt-get update && apt-get install -y ffmpeg && rm -rf /var/lib/apt/lists/*
    
    USER node
    EOL
    
    # docker-compose.yml
    sudo tee "${INSTALL_DIR}/docker-compose.yml" > /dev/null <<EOL
    services:
      postgres:
        image: postgres:latest
        container_name: postgres-\${HOSTNAME}
        restart: unless-stopped
        environment:
          - POSTGRES_USER=\${POSTGRES_USER}
          - POSTGRES_PASSWORD=\${POSTGRES_PASSWORD}
          - POSTGRES_DB=\${POSTGRES_DB}
        volumes:
          - ./postgres_data:/var/lib/postgresql/data
        ports:
          - "5432:5432"
    
      n8n:
        build:
          context: .
          dockerfile: Dockerfile
        container_name: n8n-\${HOSTNAME}
        restart: unless-stopped
        ports:
          - "5678:5678"
        environment:
          - N8N_HOST=\${HOSTNAME}
          - WEBHOOK_URL=https://\${HOSTNAME}/
          - DB_TYPE=postgresdb
          - DB_POSTGRESDB_HOST=postgres
          - DB_POSTGRESDB_PORT=5432
          - DB_POSTGRESDB_DATABASE=\${POSTGRES_DB}
          - DB_POSTGRESDB_USER=\${POSTGRES_USER}
          - DB_POSTGRESDB_PASSWORD=\${POSTGRES_PASSWORD}
          - N8N_DEFAULT_BINARY_DATA_MODE=\${N8N_DEFAULT_BINARY_DATA_MODE}
          - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=\${N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS}
          - N8N_FILE_IO_ALLOWED_DIRECTORIES=/home/node/.n8n
          - GENERIC_TIMEZONE=\${GENERIC_TIMEZONE}
          - EXECUTIONS_DATA_PRUNE=\${EXECUTIONS_DATA_PRUNE}
          - EXECUTIONS_DATA_MAX_AGE=\${EXECUTIONS_DATA_MAX_AGE}
          - EXECUTIONS_DATA_PRUNE_MAX_COUNT=\${EXECUTIONS_DATA_PRUNE_MAX_COUNT}
          - N8N_BASIC_AUTH_ACTIVE=true
          - N8N_BASIC_AUTH_USER=\${N8N_BASIC_AUTH_USER}
          - N8N_BASIC_AUTH_PASSWORD=\${N8N_BASIC_AUTH_PASSWORD}
    
        volumes:
          - ./n8n_data:/home/node/.n8n
          - ./n8n_data/files:/files
          - ./n8n_data/backup:/backup
          - ./n8n_data/shared:/data/shared
          - ./n8n_data/custom_fonts:/home/node/custom_fonts
        depends_on:
          - postgres
        user: "1000:1000"
    EOL
    
    echo "===== Khởi động lại Docker Compose để áp dụng quyền và cấu hình mới ====="
    cd "$INSTALL_DIR"
    						   
    
    sudo docker compose pull
    
    # Tắt container (nếu đang chạy)
    sudo docker compose down || true
    
    # Chuyển quyền thư mục sang user 1000:1000
    sudo chown -R 1000:1000 "$INSTALL_DIR"/*
    
    # Khởi động lại docker compose ở chế độ detached
    sudo docker compose up -d
    
    echo "===== Đã tạo xong file docker-compose.yml và .env ====="
    
    echo "============================================================================"
    echo "Tất cả cài đặt đã hoàn tất."
    echo "N8N đang chạy ở thư mục ${INSTALL_DIR}"
    echo "Bạn vào thư mục ${INSTALL_DIR} và chạy các lệnh sau:"
    echo "  cd ${INSTALL_DIR}"
    echo "  docker compose down"
    echo "  chown -R 1000:1000 ${INSTALL_DIR}/*"
    echo "  docker compose up -d"
    echo "============================================================================"
    echo "Để nâng cấp N8N mỗi khi có update mới, chạy lần lượt 3 lệnh sau"
    echo "  cd ${INSTALL_DIR}"
    echo "  docker compose down"
    echo "  docker-compose build --pull"
    											   
    echo "  docker-compose up -d"
    echo "============================================================================"
    exit 0

  • Hướng Dẫn Cài n8n Trên VPS Chạy Bằng Domain Của Bạn

    Cài n8n sử dụng SQLite

    File sh mẫu, bạn dùng thì nhớ thay thông tin cho khớp với của bạn nhé, ví dụ như domain name v..v…

    #######Cài nginx#####
    sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring -y
    wget -O- https://nginx.org/keys/nginx_signing.key | gpg --dearmor     | tee /etc/apt/trusted.gpg.d/nginx.gpg > /dev/null
    mkdir -m 600 /root/.gnupg
    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/nginx.gpg
    echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx"     | tee /etc/apt/sources.list.d/nginx.list
    sudo apt update
    sudo apt purge nginx nginx-common nginx-full nginx-core
    sudo apt install nginx
    nginx -v
    systemctl enable nginx
    systemctl start nginx
    #######Cài nginx#####
    mkdir /etc/nginx/{modules-available,modules-enabled,sites-available,sites-enabled,snippets}
    sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
    cat > /etc/nginx/nginx.conf << 'EOL'
    user www-data;
    worker_processes auto;
    pid /run/nginx.pid;
    include /etc/nginx/modules-enabled/*.conf;
    
    events {
    	worker_connections 768;
    	# multi_accept on;
    }
    
    http {
    
    	##
    	# Basic Settings
    	##
    
    	sendfile on;
    	tcp_nopush on;
    	tcp_nodelay on;
    	keepalive_timeout 65;
    	types_hash_max_size 2048;
    	# server_tokens off;
    
    	# server_names_hash_bucket_size 64;
    	# server_name_in_redirect off;
    
    	include /etc/nginx/mime.types;
    	default_type application/octet-stream;
    
    	##
    	# SSL Settings
    	##
    
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
    	ssl_prefer_server_ciphers on;
    
    	##
    	# Logging Settings
    	##
    
    	access_log /var/log/nginx/access.log;
    	error_log /var/log/nginx/error.log;
    
    	##
    	# Gzip Settings
    	##
    
    	gzip on;
    
    	# gzip_vary on;
    	# gzip_proxied any;
    	# gzip_comp_level 6;
    	# gzip_buffers 16 8k;
    	# gzip_http_version 1.1;
    	# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
    	##
    	# Virtual Host Configs
    	##
    
    	include /etc/nginx/conf.d/*.conf;
    	include /etc/nginx/sites-enabled/*;
    }
    
    
    #mail {
    #	# See sample authentication script at:
    #	# http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
    # 
    #	# auth_http localhost/auth.php;
    #	# pop3_capabilities "TOP" "USER";
    #	# imap_capabilities "IMAP4rev1" "UIDPLUS";
    # 
    #	server {
    #		listen     localhost:110;
    #		protocol   pop3;
    #		proxy      on;
    #	}
    # 
    #	server {
    #		listen     localhost:143;
    #		protocol   imap;
    #		proxy      on;
    #	}
    #}
    
    EOL
    
    nginx -t
    mkdir -p /etc/systemd/system/nginx.service.d/
    echo -e "[Service]\nRestart=always\nRestartSec=10s" > /etc/systemd/system/nginx.service.d/restart.conf
    systemctl daemon-reload
    systemctl enable nginx
    systemctl start nginx
    systemctl restart nginx
    cd /home
    mkdir n8n.zenpr.net
    #####Cấu hình domain nginx ####
    sudo tee /etc/nginx/conf.d/n8n.zenpr.net.conf > /dev/null << 'EOL'
    server {
        listen 80;
        listen [::]:80;
        server_name n8n.zenpr.net;
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name n8n.zenpr.net;
        ssl_certificate /etc/nginx/ssl/n8n.zenpr.net/certificate.crt;
        ssl_certificate_key /etc/nginx/ssl/n8n.zenpr.net/private.key;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
        #ssl_stapling on;
        #ssl_stapling_verify on;
    
        # Enable gzip compression for text-based resources
        gzip on;
        gzip_vary on;
        gzip_proxied any;
        gzip_comp_level 6;
        gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    
    
    	
    	add_header Content-Security-Policy "frame-ancestors *";
    	add_header 'Access-Control-Allow-Origin' '*';
    	add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
    	add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
    	add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    
        # Increase the body size limit to accommodate large uploads
        client_max_body_size 15G;
    
    	
        # Proxy settings for the application server
        location / {
    	
    		proxy_pass http://127.0.0.1:5678;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
    		proxy_set_header Host $http_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;
            proxy_set_header X-Frame-Options SAMEORIGIN;
            proxy_buffers 16 64k;
            proxy_buffer_size 128k;
            client_max_body_size 10M;
            proxy_set_header X-Forwarded-Server $host;
    
            proxy_pass_request_headers on;
            proxy_max_temp_file_size 0;
            proxy_connect_timeout 900;
            proxy_send_timeout 900;
            proxy_read_timeout 900;
    
            proxy_busy_buffers_size 256k;
            proxy_temp_file_write_size 256k;
            proxy_intercept_errors on;
        }
    }
    EOL
    
    #Tao thu muc SSL
    sudo mkdir -p /etc/nginx/ssl/n8n.zenpr.net/
    sudo tee /etc/nginx/ssl/n8n.zenpr.net/certificate.crt > /dev/null << 'EOL'
    
    
    Điền chứng chỉ của bạn vào đây
    
    
    EOL
    sudo tee /etc/nginx/ssl/n8n.zenpr.net/private.key > /dev/null << 'EOL'
    
    Điền chứng chỉ của bạn vào đây
    
    EOL
    systemctl daemon-reload
    systemctl restart nginx
    service nginx restart
    # Khởi động lại dịch vụ Nginx để áp dụng cấu hình
    systemctl restart nginx
    cd /home/n8n.zenpr.net
    # Khởi động lại dịch vụ Nginx để áp dụng cấu hình
    systemctl restart nginx
    # Cập nhật danh sách gói và cài đặt software-properties-common
    sudo apt update
    sudo apt install software-properties-common
    
    #Cài mout ổ đĩa
    sudo apt-get install nginx cifs-utils -y
    sudo service nginx restart
    cd /home/n8n.zenpr.net
    
    mkdir -p /home/n8n.zenpr.net/{data,config}
    sudo chown -R 1000:1000 /home/n8n.zenpr.net/*
    
    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
    docker run -d \
      --name n8n \
      -p 127.0.0.1:5678:5678 \
      -v /home/n8n.zenpr.net/data:/home/node/.n8n \
      -v /home/n8n.zenpr.net/config:/config \
      -e N8N_BASIC_AUTH_ACTIVE=true \
      -e N8N_BASIC_AUTH_USER=Admin \
      -e N8N_BASIC_AUTH_PASSWORD=zenpr.net \
      n8nio/n8n

    Cài n8n sử dụng PostgreSQL

    File sh mẫu:

    #######Cài nginx#####
    sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring -y
    wget -O- https://nginx.org/keys/nginx_signing.key | gpg --dearmor     | tee /etc/apt/trusted.gpg.d/nginx.gpg > /dev/null
    mkdir -m 600 /root/.gnupg
    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/nginx.gpg
    echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx"     | tee /etc/apt/sources.list.d/nginx.list
    sudo apt update
    sudo apt purge nginx nginx-common nginx-full nginx-core
    sudo apt install nginx
    nginx -v
    systemctl enable nginx
    systemctl start nginx
    #######Cài nginx#####
    mkdir /etc/nginx/{modules-available,modules-enabled,sites-available,sites-enabled,snippets}
    sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
    cat > /etc/nginx/nginx.conf << 'EOL'
    user www-data;
    worker_processes auto;
    pid /run/nginx.pid;
    include /etc/nginx/modules-enabled/*.conf;
    
    events {
    	worker_connections 768;
    	# multi_accept on;
    }
    
    http {
    
    	##
    	# Basic Settings
    	##
    
    	sendfile on;
    	tcp_nopush on;
    	tcp_nodelay on;
    	keepalive_timeout 65;
    	types_hash_max_size 2048;
    	# server_tokens off;
    
    	# server_names_hash_bucket_size 64;
    	# server_name_in_redirect off;
    
    	include /etc/nginx/mime.types;
    	default_type application/octet-stream;
    
    	##
    	# SSL Settings
    	##
    
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
    	ssl_prefer_server_ciphers on;
    
    	##
    	# Logging Settings
    	##
    
    	access_log /var/log/nginx/access.log;
    	error_log /var/log/nginx/error.log;
    
    	##
    	# Gzip Settings
    	##
    
    	gzip on;
    
    	# gzip_vary on;
    	# gzip_proxied any;
    	# gzip_comp_level 6;
    	# gzip_buffers 16 8k;
    	# gzip_http_version 1.1;
    	# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
    	##
    	# Virtual Host Configs
    	##
    
    	include /etc/nginx/conf.d/*.conf;
    	include /etc/nginx/sites-enabled/*;
    }
    
    EOL
    
    mkdir -p /etc/systemd/system/nginx.service.d/
    echo -e "[Service]\nRestart=always\nRestartSec=10s" > /etc/systemd/system/nginx.service.d/restart.conf
    systemctl daemon-reload
    systemctl enable nginx
    systemctl start nginx
    systemctl restart nginx
    cd /home
    mkdir n8n.zenpr.net
    #####Cấu hình domain nginx ####
    sudo tee /etc/nginx/conf.d/n8n.zenpr.net.conf > /dev/null << 'EOL'
    server {
        listen 80;
        listen [::]:80;
        server_name n8n.zenpr.net;
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name n8n.zenpr.net;
        ssl_certificate /etc/nginx/ssl/n8n.zenpr.net/certificate.crt;
        ssl_certificate_key /etc/nginx/ssl/n8n.zenpr.net/private.key;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
        #ssl_stapling on;
        #ssl_stapling_verify on;
    
        # Enable gzip compression for text-based resources
        gzip on;
        gzip_vary on;
        gzip_proxied any;
        gzip_comp_level 6;
        gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    
        # CORS header settings
        #add_header Access-Control-Allow-Origin *;
        #add_header Pragma public;
        #add_header Cache-Control public;
        #add_header X-Frame-Options ALLOWALL;
    	
    	add_header Content-Security-Policy "frame-ancestors *";
    	add_header 'Access-Control-Allow-Origin' '*';
    	add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
    	add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
    	add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    
        # Increase the body size limit to accommodate large uploads
        client_max_body_size 15G;
    
    	
        # Proxy settings for the application server
        location / {
    	
    		proxy_pass http://127.0.0.1:5678;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
    		proxy_set_header Host $http_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;
            proxy_set_header X-Frame-Options SAMEORIGIN;
            proxy_buffers 16 64k;
            proxy_buffer_size 128k;
            client_max_body_size 10M;
            proxy_set_header X-Forwarded-Server $host;
    
            proxy_pass_request_headers on;
            proxy_max_temp_file_size 0;
            proxy_connect_timeout 900;
            proxy_send_timeout 900;
            proxy_read_timeout 900;
    
            proxy_busy_buffers_size 256k;
            proxy_temp_file_write_size 256k;
            proxy_intercept_errors on;
        }
    }
    EOL
    
    #Tao thu muc SSL
    sudo mkdir -p /etc/nginx/ssl/n8n.zenpr.net/
    sudo tee /etc/nginx/ssl/n8n.zenpr.net/certificate.crt > /dev/null << 'EOL'
    
    Điền chứng chỉ của bạn vào đây
    
    EOL
    sudo tee /etc/nginx/ssl/n8n.zenpr.net/private.key > /dev/null << 'EOL'
    
    Điền chứng chỉ của bạn vào đây
    
    
    EOL
    systemctl daemon-reload
    systemctl restart nginx
    service nginx restart
    # Khởi động lại dịch vụ Nginx để áp dụng cấu hình
    systemctl restart nginx
    cd /home/n8n.zenpr.net
    # Khởi động lại dịch vụ Nginx để áp dụng cấu hình
    systemctl restart nginx
    # Cập nhật danh sách gói và cài đặt software-properties-common
    sudo apt update
    sudo apt install software-properties-common
    
    #Cài mout ổ đĩa
    sudo apt-get install nginx cifs-utils -y
    sudo service nginx restart
    cd /home/n8n.zenpr.net
    
    mkdir -p /home/n8n.zenpr.net/{data,config}
    sudo chown -R 1000:1000 /home/n8n.zenpr.net/*
    
    ###### CÀI POSTGRESQL ######
    sudo apt install -y postgresql postgresql-contrib
    sudo systemctl start postgresql
    sudo systemctl enable postgresql
    
    # Yêu cầu nhập thông tin PostgreSQL
    read -p "Nhập tên user PostgreSQL (mặc định: n8n_user): " db_user
    db_user=${db_user:-n8n_user}
    
    read -sp "Nhập mật khẩu PostgreSQL (mặc định: n8n_pass): " db_password
    db_password=${db_password:-n8n_pass}
    echo
    
    read -p "Nhập tên database (mặc định: n8n_db): " db_name
    db_name=${db_name:-n8n_db}
    
    # Tạo user và database
    sudo -u postgres psql <<EOF
    CREATE USER ${db_user} WITH PASSWORD '${db_password}';
    CREATE DATABASE ${db_name} OWNER ${db_user};
    ALTER USER ${db_user} WITH SUPERUSER;
    EOF
    
    # Cho phép remote access
    echo "host all all 0.0.0.0/0 md5" | sudo tee -a /etc/postgresql/*/main/pg_hba.conf
    echo "listen_addresses = '*'" | sudo tee -a /etc/postgresql/*/main/postgresql.conf
    sudo systemctl restart postgresql
    ###### END POSTGRESQL ######
    
    mkdir -p /home/n8n.zenpr.net/{data,config}
    sudo chown -R 1000:1000 /home/n8n.zenpr.net/*
    
    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
    ###### ... (Phần cài đặt Nginx và các bước khác giữ nguyên) ######
    
    # Lấy IP của host machine
    read -p "Vui lòng nhập IP của VPS (ví dụ: 128.140.86.132): " host_ip
    while [[ -z "$host_ip" ]]; do
        echo "Bạn chưa nhập IP! Vui lòng thử lại."
        read -p "Nhập IP của VPS: " host_ip
    done
    
    # Chạy container với thông tin đã nhập
    docker run -d \
      --name n8n \
      -p 127.0.0.1:5678:5678 \
      -v /home/n8n.zenpr.net/data:/home/node/.n8n \
      -v /home/n8n.zenpr.net/config:/config \
      -e DB_TYPE=postgresdb \
      -e DB_POSTGRESDB_HOST="$host_ip" \
      -e DB_POSTGRESDB_PORT=5432 \
      -e DB_POSTGRESDB_USER="${db_user}" \
      -e DB_POSTGRESDB_PASSWORD="${db_password}" \
      -e DB_POSTGRESDB_DATABASE="${db_name}" \
      -e DB_POSTGRESDB_CONNECTION_TIMEOUT=60000 \
      -e N8N_BASIC_AUTH_ACTIVE=true \
      -e N8N_BASIC_AUTH_USER=Admin \
      -e N8N_BASIC_AUTH_PASSWORD=834435 \
      n8nio/n8n
    
    echo "Container n8n đã được khởi chạy với:"
    echo "- User PostgreSQL: ${db_user}"
    echo "- Database: ${db_name}"
    echo "- IP VPS: ${host_ip}"
    1. Vị trí lưu trữ cơ sở dữ liệu PostgreSQL PostgreSQL lưu trữ dữ liệu trong thư mục mặc định:
      /var/lib/postgresql//main/
      Ví dụ: /var/lib/postgresql/16/main/
      Để xác định chính xác thư mục dữ liệu, thực hiện:

    sudo -u postgres psql -c “SHOW data_directory;”

    1. Kiểm tra thông tin cơ sở dữ liệu n8n_db

    Bước 1: Đăng nhập vào PostgreSQL:

    sudo -u postgres psql

    Bước 2: Xem OID (Object Identifier) của CSDL n8n_db:

    SELECT oid, datname FROM pg_database WHERE datname = ‘n8n_db’;
    Kết quả sẽ hiển thị OID (ví dụ: 16384).

    Bước 3: Đường dẫn vật lý đến CSDL:

    /var/lib/postgresql//main/base//
    Ví dụ:/var/lib/postgresql/16/main/base/16384/

    1. Backup cơ sở dữ liệu
      Sử dụng pg_dump để backup toàn bộ CSDL n8n_db:

    pg_dump -U n8n_user -d n8n_db -Fc -f /path/to/backup/n8n_db_backup.dump
    Giải thích:

    -U n8n_user: User PostgreSQL.

    -d n8n_db: Tên CSDL.

    -Fc: Định dạng backup nén.

    -f /path/to/backup/n8n_db_backup.dump: Đường dẫn lưu file backup.

    1. Restore cơ sở dữ liệu
      Sử dụng pg_restore để khôi phục từ file backup:

    pg_restore -U n8n_user -d n8n_db -v /path/to/backup/n8n_db_backup.dump
    Lưu ý:

    Đảm bảo CSDL n8n_db đã tồn tại trước khi restore.

    1. Backup toàn bộ cụm PostgreSQL (File system level)
      Bước 1: Dừng dịch vụ PostgreSQL:

    sudo systemctl stop postgresql

    Bước 2: Sao lưu thư mục dữ liệu:

    sudo rsync -av /var/lib/postgresql/ /path/to/backup/postgresql/

    Bước 3: Khởi động lại PostgreSQL:

    sudo systemctl start postgresql

    1. Quản lý quyền truy cập
      Đảm bảo user postgres có quyền đọc/ghi thư mục backup:

    sudo chown -R postgres:postgres /path/to/backup/

    1. Lưu ý quan trọng
      Không sửa trực tiếp tệp CSDL vật lý: Việc này có thể gây hỏng dữ liệu.

    Tự động hóa backup: Sử dụng cron để lên lịch backup định kỳ.

    Test backup: Định kỳ kiểm tra tính toàn vẹn của file backup.

    Ví dụ lệnh cron để backup hàng ngày:
    Mở file crontab:

    crontab -e
    Thêm dòng sau (thay /path/to/backup/ bằng đường dẫn thực tế):

    0 2 * * * pg_dump -U n8n_user -d n8n_db -Fc -f /path/to/backup/n8n_db_$(date +\%Y\%m\%d).dump

    Giải thích: Backup lúc 2:00 AM hàng ngày.

    Cài n8n Trên VPS Sử Dụng CloudPanel

    Trong video trên có 3 phần Mình sẽ list ra phần note của từng phần phía dưới

    • 1 Docker + SQLite
    visudo
    
    n8nzenprnet ALL=(ALL:ALL) ALL
    
    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
    
    
    sudo usermod -aG docker n8nzenprnet
    
    exit
    
    docker run hello-world
    
    mkdir -p /home/n8nzenprnet/htdocs/n8n.zenpr.net/{data,config}
    sudo chown -R 1000:1000 /home/n8nzenprnet/htdocs/n8n.zenpr.net/*
      
    docker run -d \
      --name n8n \
      -p 127.0.0.1:5678:5678 \
      -v /home/n8nzenprnet/htdocs/n8n.zenpr.net/data:/home/node/.n8n \
      -v /home/n8nzenprnet/htdocs/n8n.zenpr.net/config:/config \
      -e N8N_BASIC_AUTH_ACTIVE=true \
      -e N8N_BASIC_AUTH_USER=Admin \
      -e N8N_BASIC_AUTH_PASSWORD=zenpr.net \
      n8nio/n8n
    • 2 Docker + Postgresql
    ////////////////////postgresql///////////////////////////////
    visudo
    
    n8nzenprnet ALL=(ALL:ALL) ALL
    
    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
    
    
    sudo usermod -aG docker n8nzenprnet
    
    exit
    
    docker run hello-world
    
    mkdir -p /home/n8nzenprnet/htdocs/n8n.zenpr.net/{data,config}
    sudo chown -R 1000:1000 /home/n8nzenprnet/htdocs/n8n.zenpr.net/*
    
    
    ###### CÀI POSTGRESQL ######
    
    sudo apt install -y postgresql postgresql-contrib
    sudo systemctl start postgresql
    sudo systemctl enable postgresql
    
    sudo -u postgres psql
    CREATE USER n8n_zen WITH PASSWORD 'n8n_zendeptrai';
    CREATE DATABASE n8n_database OWNER n8n_zen;
    GRANT ALL PRIVILEGES ON DATABASE n8n_database TO n8n_zen;
    \q
    
    Kiểm tra IP subnet của docker: docker network inspect bridge
    
    sudo nano /etc/postgresql/<version>/main/pg_hba.conf
    trong trường hợp này là 
    sudo nano /etc/postgresql/16/main/pg_hba.conf
    add thêm
    host all all 172.17.0.0/16 md5
    
    sudo nano /etc/postgresql/16/main/postgresql.conf
    listen_addresses = '*'
    
    sudo systemctl restart postgresql
    
    sudo ufw allow 5432
    sudo ufw allow 5678
    
    
    
    
    # Chạy container với thông tin đã nhập
    docker run -d \
      --name n8n \
      -p 127.0.0.1:5678:5678 \
      -v /home/n8nzenprnet/htdocs/n8n.zenpr.net/data:/home/node/.n8n \
      -v /home/n8nzenprnet/htdocs/n8n.zenpr.net/config:/config \
      -e DB_TYPE=postgresdb \
      -e DB_POSTGRESDB_HOST=128.140.86.132 \
      -e DB_POSTGRESDB_PORT=5432 \
      -e DB_POSTGRESDB_USER=n8n_zen \
      -e DB_POSTGRESDB_PASSWORD=n8n_zendeptrai \
      -e DB_POSTGRESDB_DATABASE=n8n_database \
      -e DB_POSTGRESDB_CONNECTION_TIMEOUT=60000 \
      -e N8N_BASIC_AUTH_ACTIVE=true \
      -e N8N_BASIC_AUTH_USER=Admin \
      -e N8N_BASIC_AUTH_PASSWORD=zenpr.net \
      n8nio/n8n
    
    
    ////////////////////postgresql///////////////////////////////
    
    
    
    ///////////////////setup bang file sh ///////////////////
    
    
    visudo
    
    n8nzenprnet ALL=(ALL:ALL) ALL
    
    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
    
    
    sudo usermod -aG docker n8nzenprnet
    
    exit
    
    docker run hello-world
    
    
    
    
    ###### CÀI POSTGRESQL ######
    sudo apt install -y postgresql postgresql-contrib
    sudo systemctl start postgresql
    sudo systemctl enable postgresql
    
    # Yêu cầu nhập thông tin PostgreSQL
    read -p "Nhập tên user PostgreSQL (mặc định: n8n_user): " db_user
    db_user=${db_user:-n8n_user}
    
    read -sp "Nhập mật khẩu PostgreSQL (mặc định: n8n_pass): " db_password
    db_password=${db_password:-n8n_pass}
    echo
    
    read -p "Nhập tên database (mặc định: n8n_db): " db_name
    db_name=${db_name:-n8n_db}
    
    # Tạo user và database
    sudo -u postgres psql <<EOF
    CREATE USER ${db_user} WITH PASSWORD '${db_password}';
    CREATE DATABASE ${db_name} OWNER ${db_user};
    GRANT ALL PRIVILEGES ON DATABASE ${db_name} TO ${db_user};
    ALTER USER ${db_user} WITH SUPERUSER;
    EOF
    
    # Cho phép remote access
    echo "host all all 172.17.0.0/16 md5" | sudo tee -a /etc/postgresql/*/main/pg_hba.conf
    echo "listen_addresses = '*'" | sudo tee -a /etc/postgresql/*/main/postgresql.conf
    sudo systemctl restart postgresql
    ###### END POSTGRESQL ######
    
    mkdir -p /home/n8nzenprnet/htdocs/n8n.zenpr.net/{data,config}
    sudo chown -R 1000:1000 /home/n8nzenprnet/htdocs/n8n.zenpr.net/*
    sudo ufw allow 5432
    sudo ufw allow 5678
    # Lấy IP của host machine
    read -p "Vui lòng nhập IP của VPS (ví dụ: 128.140.86.132): " host_ip
    while [[ -z "$host_ip" ]]; do
        echo "Bạn chưa nhập IP! Vui lòng thử lại."
        read -p "Nhập IP của VPS: " host_ip
    done
    
    # Chạy container với thông tin đã nhập
    docker run -d \
      --name n8n \
      -p 127.0.0.1:5678:5678 \
      -v /home/n8nzenprnet/htdocs/n8n.zenpr.net/data:/home/node/.n8n \
      -v /home/n8nzenprnet/htdocs/n8n.zenpr.net/config:/config \
      -e DB_TYPE=postgresdb \
      -e DB_POSTGRESDB_HOST="$host_ip" \
      -e DB_POSTGRESDB_PORT=5432 \
      -e DB_POSTGRESDB_USER="${db_user}" \
      -e DB_POSTGRESDB_PASSWORD="${db_password}" \
      -e DB_POSTGRESDB_DATABASE="${db_name}" \
      -e DB_POSTGRESDB_CONNECTION_TIMEOUT=60000 \
      -e N8N_BASIC_AUTH_ACTIVE=true \
      -e N8N_BASIC_AUTH_USER=Admin \
      -e N8N_BASIC_AUTH_PASSWORD=834435 \
      n8nio/n8n
    
    echo "Container n8n đã được khởi chạy với:"
    echo "- User PostgreSQL: ${db_user}"
    echo "- Database: ${db_name}"
    echo "- IP VPS: ${host_ip}"
    • 3 Nodejs + SQLite
    cd /home/n8nzenprnet/htdocs/n8n.zenpr.net
    
    nano .env
    
    nội dung như sau:
    
    N8N_HOST=n8n.zenpr.net
    N8N_PORT=5678
    NODE_ENV=production
    WEBHOOK_URL=https://n8n.zenpr.net
    GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
    
    PORT=5678
    
    DB_TYPE=sqlite
    DB_DATABASE=/home/n8nzenprnet/htdocs/n8n.zenpr.net/database.sqlite
    
    
    N8N_BASIC_AUTH_ACTIVE=true
    N8N_BASIC_AUTH_USER=ZenkyNemesis
    N8N_BASIC_AUTH_PASSWORD=834435
    
    
    N8N_DIAGNOSTICS_ENABLED=false
    N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=false
    N8N_RELEASE_TYPE=stable
    N8N_DEFAULT_BINARY_DATA_MODE=default
    
    
    
    npm install -g pm2
    
    
    npm install -g npm@latest
    
    
    npm install n8n -g
    
    n8n
    
    pm2 start npx --name n8n -- n8n

    Docker compose

    Đây là phương pháp khác nữa, tức là mình sẽ clone code trực tiếp từ git về VPS của mình, các bước làm như sau:

    Cách 1 Docker và SQLite

    git clone https://github.com/n8n-io/n8n.git n8n.zenpr.net
    
    sudo apt update
    
    sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    sudo apt update
    
    sudo apt install docker-ce -y
    
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    sudo chmod +x /usr/local/bin/docker-compose
    
    sudo usermod -aG docker n8nzenprnet
    
    sudo chown -R 1000:1000 /home/n8nzenprnet/htdocs/n8n.zenpr.net/*

    Tạo file docker-compose.yml

    nano docker-compose.yml
    
    version: "3.7"
    
    services:
      n8n:
        image: n8nio/n8n:latest
        container_name: n8n
        ports:
          - "5678:5678"
        environment:
          - N8N_BASIC_AUTH_ACTIVE=true
          - N8N_BASIC_AUTH_USER=Admin
          - N8N_BASIC_AUTH_PASSWORD=zendeptrai
          - N8N_HOST=n8n.zenpr.net
          - WEBHOOK_URL=https://n8n.zenpr.net/
        volumes:
          - ./n8n_data:/home/node/.n8n
    
    
    
    docker compose pull
    docker compose down
    docker compose up -d

    Cách 2 Docker + POSTGRESDB trong Docker

    Giống cách trên Tạo file docker-compose.yml

    nano docker-compose.yml
    
    services:
      postgres:
        image: postgres:latest
        container_name: postgres
        restart: unless-stopped
        environment:
          POSTGRES_USER: n8n_zen
          POSTGRES_PASSWORD: n8n_pass
          POSTGRES_DB: n8n_db
        volumes:
          - ./postgres_data:/var/lib/postgresql/data
    
      n8n:
        image: n8nio/n8n:latest
        container_name: n8n
        restart: unless-stopped
        ports:
          - "5678:5678"
        environment:
          - N8N_BASIC_AUTH_ACTIVE=true
          - N8N_BASIC_AUTH_USER=Admin
          - N8N_BASIC_AUTH_PASSWORD=zendeptrai
          - N8N_HOST=n8n.zenpr.net
          - WEBHOOK_URL=https://n8n.zenpr.net/
          - DB_TYPE=postgresdb
          - DB_POSTGRESDB_HOST=postgres
          - DB_POSTGRESDB_PORT=5432
          - DB_POSTGRESDB_DATABASE=n8n_db
          - DB_POSTGRESDB_USER=n8n_zen
          - DB_POSTGRESDB_PASSWORD=n8n_pass
        depends_on:
          - postgres
        volumes:
          - ./n8n_data:/home/node/.n8n

    Sau đó chạy các lệnh sau:

    docker compose pull
    docker compose down
    docker compose up -d

    Giải thích các thay đổi

    1. Thêm dịch vụ PostgreSQL:
      • Sử dụng image chính thức postgres:latest.
      • Đặt tên người dùng, mật khẩu, và cơ sở dữ liệu thông qua các biến môi trường:
        • POSTGRES_USER: Tên người dùng để n8n kết nối (ở đây là n8n).
        • POSTGRES_PASSWORD: Mật khẩu cho người dùng (ví dụ: strongpassword).
        • POSTGRES_DB: Tên cơ sở dữ liệu n8n sẽ sử dụng (ở đây là n8n).
    2. Cấu hình n8n để kết nối PostgreSQL:
      • DB_TYPE: Chỉ định loại cơ sở dữ liệu là postgresdb.
      • DB_POSTGRESDB_HOST: Tên host của PostgreSQL (dịch vụ postgres trong cùng Docker network).
      • DB_POSTGRESDB_PORT: Cổng kết nối PostgreSQL (mặc định là 5432).
      • DB_POSTGRESDB_DATABASE: Tên cơ sở dữ liệu mà n8n sẽ sử dụng (trùng với POSTGRES_DB).
      • DB_POSTGRESDB_USER: Người dùng để kết nối (trùng với POSTGRES_USER).
      • DB_POSTGRESDB_PASSWORD: Mật khẩu của người dùng (trùng với POSTGRES_PASSWORD).
    3. Volumes:
      • ./postgres_data để lưu trữ dữ liệu PostgreSQL bền vững trên máy chủ.
      • ./n8n_data để lưu dữ liệu khác của n8n (ngoài cơ sở dữ liệu).
    4. depends_on:
      • Đảm bảo dịch vụ postgres được khởi động trước khi n8n bắt đầu.

    Nếu cần, bạn có thể vào container PostgreSQL để kiểm tra cơ sở dữ liệu:

    docker exec -it postgres psql -U n8n -d n8n

    Lưu ý

    1. Sao lưu PostgreSQL:
      • Vì bạn đang sử dụng PostgreSQL, hãy đảm bảo sao lưu thư mục ./postgres_data hoặc sử dụng công cụ như pg_dump để sao lưu cơ sở dữ liệu định kỳ.
    2. Hiệu suất:
      • PostgreSQL có hiệu suất tốt hơn SQLite, đặc biệt khi xử lý lượng lớn workflows hoặc chạy trên môi trường sản xuất.
    3. Mật khẩu và bảo mật:
      • Sử dụng mật khẩu mạnh trong các biến môi trường, đặc biệt là POSTGRES_PASSWORD.

    Cách 3 Docker + POSTGRESDB trên VPS

    Cài đặt PostgreSQL trực tiếp trên máy chủ

    Nếu bạn muốn sử dụng PostgreSQL đã cài sẵn trên máy chủ thay vì Docker, hãy làm theo các bước dưới đây:

    1. Cài đặt PostgreSQL

    Trên Ubuntu, chạy các lệnh sau:

    sudo apt update
    sudo apt install postgresql postgresql-contrib -y
    

    2. Cấu hình PostgreSQL

    1. Tạo user và database cho n8n:
      • Đăng nhập vào PostgreSQL: sudo -u postgres psql
      • Tạo một database tên n8n: CREATE DATABASE n8n;
      • Tạo một user n8n với mật khẩu: CREATE USER n8n WITH PASSWORD 'your_password';
      • Cấp quyền cho user n8n trên database n8n: GRANT ALL PRIVILEGES ON DATABASE n8n TO n8n;
      • Thoát PostgreSQL: \q
    2. Cho phép kết nối từ bên ngoài (nếu cần):
      • Sửa file cấu hình PostgreSQL (pg_hba.conf):
        sudo nano /etc/postgresql/<version>/main/pg_hba.conf
        Thêm dòng sau (nếu bạn muốn n8n trong Docker kết nối PostgreSQL bên ngoài):
        host all all 0.0.0.0/0 md5
        host all all 172.17.0.0/16 md5
      • Sửa file cấu hình PostgreSQL (postgresql.conf) để lắng nghe tất cả IP:
        sudo nano /etc/postgresql/<version>/main/postgresql.conf
        Tìm dòng listen_addresses và chỉnh sửa:
        listen_addresses = '*'
      • Khởi động lại PostgreSQL:
        sudo systemctl restart postgresql

    3. Cấu hình n8n để kết nối PostgreSQL cài đặt thủ công

    Trong file docker-compose.yml, sửa phần cấu hình n8n như sau:

    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=<IP-hoặc-hostname-của-PostgreSQL>
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=your_password
    

    Lựa chọn phương pháp nào?

    1. Nếu bạn dùng Docker Compose để triển khai: Không cần cài PostgreSQL trước. Docker Compose sẽ tự động xử lý việc này.
    2. Nếu bạn muốn PostgreSQL độc lập (không trong Docker): Thực hiện cài đặt PostgreSQL trên máy chủ trước khi chạy docker compose.

    So sánh việc dùng Docker Compose PostgreSQL và PostgreSQL độc lập (không trong Docker)

    1. Chạy PostgreSQL trong Docker

    Ưu điểm:

    1. Triển khai nhanh chóng:
      • Docker tự động tải và chạy PostgreSQL mà không cần cài đặt phức tạp trên hệ thống.
    2. Quản lý dễ dàng:
      • Dễ dàng dừng, khởi động hoặc di chuyển container PostgreSQL đến máy chủ khác.
      • Phù hợp với mô hình DevOps, CI/CD hoặc môi trường phát triển.
    3. Cách ly môi trường:
      • PostgreSQL chạy trong container hoàn toàn độc lập với hệ điều hành máy chủ, giúp giảm xung đột hoặc lỗi giữa các phiên bản.
    4. Khả năng di động:
      • Bạn có thể sao chép cấu hình Docker và chạy cùng một môi trường PostgreSQL trên các máy chủ khác.

    Nhược điểm:

    1. Rủi ro mất dữ liệu:
      • Nếu bạn không gắn volume đúng cách (sử dụng bind volume), dữ liệu của PostgreSQL trong container có thể bị mất khi container bị xóa.
      • Cách khắc phục:
        • Sử dụng volume trong docker-compose.yml:
          volumes:
          - ./postgres_data:/var/lib/postgresql/data
        • Thư mục ./postgres_data sẽ lưu trữ dữ liệu bền vững trên máy chủ.
    2. Bảo mật:
      • Mặc định, container PostgreSQL có thể không được tối ưu bảo mật (ví dụ: tường lửa, cấu hình truy cập mở).
      • Cách khắc phục:
        • Chỉ mở cổng PostgreSQL trong Docker network (DB_POSTGRESDB_HOST=postgres).
        • Đặt mật khẩu mạnh và giới hạn truy cập từ các IP đáng tin cậy.
    3. Hiệu suất:
      • PostgreSQL trong Docker có thể có hiệu suất kém hơn một chút nếu bạn chạy trên máy chủ có nhiều ứng dụng hoặc sử dụng ổ đĩa chậm (vì Docker thêm một lớp ảo hóa).
      • Tuy nhiên, nếu máy chủ mạnh và được tối ưu, sự khác biệt là không đáng kể.
    4. Khó khăn khi quản lý ở quy mô lớn:
      • Trong môi trường cần hiệu suất cao (hàng triệu bản ghi), bạn có thể cần tinh chỉnh cấu hình PostgreSQL mà Docker không hỗ trợ dễ dàng.

    Backup trong Docker

    Backup PostgreSQL trong Docker không khó, bạn có thể dùng:

    1. Volume snapshot:
      • Backup thư mục ./postgres_data trên máy chủ:
        tar -czvf postgres_data_backup.tar.gz ./postgres_data
    2. Dùng công cụ PostgreSQL như pg_dump:
      • Chạy lệnh bên trong container để xuất dữ liệu:
        docker exec -it postgres pg_dump -U n8n n8n > backup.sql
      • Hoặc từ bên ngoài:
        pg_dump -h <IP-hoặc-container-host> -U n8n -d n8n > backup.sql

    2. Cài đặt PostgreSQL trực tiếp trên máy chủ

    Ưu điểm:

    1. Hiệu suất tối ưu:
      • PostgreSQL chạy trực tiếp trên hệ thống mà không có lớp ảo hóa, mang lại hiệu suất tốt hơn, đặc biệt khi xử lý khối lượng dữ liệu lớn.
    2. Bảo mật:
      • Bạn có thể cấu hình bảo mật mạnh mẽ hơn như:
        • Cấp quyền chính xác trong pg_hba.conf.
        • Sử dụng các công cụ như fail2ban hoặc iptables để bảo vệ cổng PostgreSQL.
    3. Quản lý dễ dàng trong môi trường lớn:
      • Tinh chỉnh cấu hình (như work_mem, shared_buffers) phù hợp với phần cứng của máy chủ.
      • Tích hợp các công cụ giám sát (như pgAdmin, Prometheus).

    Nhược điểm:

    1. Phức tạp hơn khi triển khai:
      • Cần cài đặt, cấu hình PostgreSQL thủ công, bao gồm tạo user, database, và mở cổng.
    2. Không di động:
      • Nếu bạn muốn di chuyển sang máy chủ khác, bạn phải sao chép toàn bộ dữ liệu hoặc cấu hình thủ công.
    3. Bảo trì khó hơn:
      • Khi nâng cấp PostgreSQL, bạn phải đảm bảo tương thích giữa các phiên bản và xử lý các lỗi liên quan.

    Backup khi cài PostgreSQL trực tiếp

    Backup tương tự như Docker:

    1. Sao lưu database:
      pg_dump -U n8n -d n8n > backup.sql
    2. Sao lưu thư mục dữ liệu:
      sudo systemctl stop postgresql
      tar -czvf postgres_data_backup.tar.gz /var/lib/postgresql/16/main
      sudo systemctl start postgresql

    So sánh tổng quan

    Tiêu chíPostgreSQL trong DockerPostgreSQL cài trực tiếp
    Hiệu suấtKém hơn một chút (do lớp ảo hóa Docker).Tối ưu hơn, đặc biệt với hệ thống lớn.
    Bảo mậtYêu cầu cấu hình bổ sung (mật khẩu, firewall).Bảo mật mạnh hơn nếu cấu hình đúng cách.
    Dễ triển khaiDễ dàng (1 file Docker Compose).Phức tạp hơn, cần cài và cấu hình thủ công.
    Dễ di chuyểnRất dễ di chuyển (chỉ cần sao chép volume/config).Phải sao chép dữ liệu thủ công.
    Quản lý lâu dàiPhù hợp với môi trường nhỏ/gọn.Tốt hơn với hệ thống lớn, đòi hỏi tùy chỉnh cao.

    Kết luận

    • Nếu bạn muốn triển khai nhanh, dễ bảo trì: PostgreSQL trong Docker là lựa chọn tốt. Nhưng hãy đảm bảo gắn volume và có kế hoạch backup định kỳ.
    • Nếu bạn cần hiệu suất cao và bảo mật lâu dài: Cài đặt PostgreSQL trực tiếp trên máy chủ sẽ tốt hơn.

    Cài trên VPS sử dụng Docker Compose

    Dưới đây là video hướng dẫn cài đặt N8N chi tiết trên VPS sử dụng Docker Compose

    Tạo file sh có nội dung sau:

    sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring -y
    wget -O- https://nginx.org/keys/nginx_signing.key | gpg --dearmor     | tee /etc/apt/trusted.gpg.d/nginx.gpg > /dev/null
    mkdir -m 600 /root/.gnupg
    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/nginx.gpg
    echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx"     | tee /etc/apt/sources.list.d/nginx.list
    sudo apt update
    sudo apt purge nginx nginx-common nginx-full nginx-core
    sudo apt install nginx
    nginx -v
    systemctl enable nginx
    systemctl start nginx
    #######Cài nginx#####
    mkdir /etc/nginx/{modules-available,modules-enabled,sites-available,sites-enabled,snippets}
    sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
    cat > /etc/nginx/nginx.conf << 'EOL'
    user www-data;
    worker_processes auto;
    pid /run/nginx.pid;
    include /etc/nginx/modules-enabled/*.conf;
    
    events {
    	worker_connections 768;
    	# multi_accept on;
    }
    
    http {
    
    	##
    	# Basic Settings
    	##
    
    	sendfile on;
    	tcp_nopush on;
    	tcp_nodelay on;
    	keepalive_timeout 65;
    	types_hash_max_size 2048;
    	# server_tokens off;
    
    	# server_names_hash_bucket_size 64;
    	# server_name_in_redirect off;
    
    	include /etc/nginx/mime.types;
    	default_type application/octet-stream;
    
    	##
    	# SSL Settings
    	##
    
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
    	ssl_prefer_server_ciphers on;
    
    	##
    	# Logging Settings
    	##
    
    	access_log /var/log/nginx/access.log;
    	error_log /var/log/nginx/error.log;
    
    	##
    	# Gzip Settings
    	##
    
    	gzip on;
    
    	# gzip_vary on;
    	# gzip_proxied any;
    	# gzip_comp_level 6;
    	# gzip_buffers 16 8k;
    	# gzip_http_version 1.1;
    	# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
    	##
    	# Virtual Host Configs
    	##
    
    	include /etc/nginx/conf.d/*.conf;
    	include /etc/nginx/sites-enabled/*;
    }
    
    
    #mail {
    #	# See sample authentication script at:
    #	# http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
    # 
    #	# auth_http localhost/auth.php;
    #	# pop3_capabilities "TOP" "USER";
    #	# imap_capabilities "IMAP4rev1" "UIDPLUS";
    # 
    #	server {
    #		listen     localhost:110;
    #		protocol   pop3;
    #		proxy      on;
    #	}
    # 
    #	server {
    #		listen     localhost:143;
    #		protocol   imap;
    #		proxy      on;
    #	}
    #}
    
    EOL
    
    nginx -t
    mkdir -p /etc/systemd/system/nginx.service.d/
    echo -e "[Service]\nRestart=always\nRestartSec=10s" > /etc/systemd/system/nginx.service.d/restart.conf
    systemctl daemon-reload
    systemctl enable nginx
    systemctl start nginx
    systemctl restart nginx
    cd /home
    mkdir n8n.zenpr.net
    #####Cấu hình domain nginx ####
    sudo tee /etc/nginx/conf.d/n8n.zenpr.net.conf > /dev/null << 'EOL'
    server {
        listen 80;
        listen [::]:80;
        server_name n8n.zenpr.net;
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name n8n.zenpr.net;
        ssl_certificate /etc/nginx/ssl/n8n.zenpr.net/certificate.crt;
        ssl_certificate_key /etc/nginx/ssl/n8n.zenpr.net/private.key;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
        #ssl_stapling on;
        #ssl_stapling_verify on;
    
        # Enable gzip compression for text-based resources
        gzip on;
        gzip_vary on;
        gzip_proxied any;
        gzip_comp_level 6;
        gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    
    
    	
    	add_header Content-Security-Policy "frame-ancestors *";
    	add_header 'Access-Control-Allow-Origin' '*';
    	add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
    	add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
    	add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    
        # Increase the body size limit to accommodate large uploads
        client_max_body_size 15G;
    
    	
        # Proxy settings for the application server
        location / {
    	
    		proxy_pass http://127.0.0.1:5678;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
    		proxy_set_header Host $http_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;
            proxy_set_header X-Frame-Options SAMEORIGIN;
            proxy_buffers 16 64k;
            proxy_buffer_size 128k;
            client_max_body_size 10M;
            proxy_set_header X-Forwarded-Server $host;
    
            proxy_pass_request_headers on;
            proxy_max_temp_file_size 0;
            proxy_connect_timeout 900;
            proxy_send_timeout 900;
            proxy_read_timeout 900;
    
            proxy_busy_buffers_size 256k;
            proxy_temp_file_write_size 256k;
            proxy_intercept_errors on;
        }
    }
    EOL
    
    #Tao thu muc SSL
    sudo mkdir -p /etc/nginx/ssl/n8n.zenpr.net/
    sudo tee /etc/nginx/ssl/n8n.zenpr.net/certificate.crt > /dev/null << 'EOL'
    -----BEGIN CERTIFICATE-----
    MIIEnjCCA4agAwIBAgIUHBoxza+SR67KGRhpSdBIVBjmgJkwDQYJKoZIhvcNAQEL
    BQAwgYsxCzAJBgNVBAYTAlVTMRkwFwYDVQQKExBDbG91ZEZsYXJlLCBJbmMuMTQw
    MgYDVQQLEytDbG91ZEZsYXJlIE9yaWdpbiBTU0wgQ2VydGlmaWNhdGUgQXV0aG9y
    aXR5MRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRMwEQYDVQQIEwpDYWxpZm9ybmlh
    MB4XDTIzMDEwOTAyMjUwMFoXDTM4MDEwNTAyMjUwMFowYjEZMBcGA1UEChMQQ2xv
    dWRGbGFyZSwgSW5jLjEdMBsGA1UECxMUQ2xvdWRGbGFyZSBPcmlnaW4gQ0ExJjAk
    BgNVBAMTHUNsb3VkRmxhcmUgT3JpZ2luIENlcnRpZmljYXRlMIIBIjANBgkqhkiG
    9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz8HyN6ypslrjlhN/9yYa30152FXmFnCuvwO8
    n8U3T8r4IzSRe4u4VZ4+tbT6OTly3Kj3m2qkcIh4sTSJIsPrL38ACPog7XGNVfBK
    TKZ8JRPC4W/8ZSUr5GjP8SlGXZdwoIyzanyaip77u6le/XxyC8xMPZOertIwjaSR
    kVNwexIcsBdvapSic9QOZuDlrYluNNsby39f9dV7wVJAyW+xOvt9joZi/Aqja6MD
    cLMaMx415f+xW6j2IsAbhcnHySO+L016+bGZ3cF9uM7K9TgigbfkFX2q816J5K9+
    P6XaN0HJdnM41NA/qxrJEz28vh2RYfE0rAeaOyPCQi8xgqlAcwIDAQABo4IBIDCC
    ARwwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
    ATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSg+GDLFIFFP5084cg8BFET36P5+TAf
    BgNVHSMEGDAWgBQk6FNXXXw0QIep65TbuuEWePwppDBABggrBgEFBQcBAQQ0MDIw
    MAYIKwYBBQUHMAGGJGh0dHA6Ly9vY3NwLmNsb3VkZmxhcmUuY29tL29yaWdpbl9j
    YTAhBgNVHREEGjAYggsqLnplbnByLm5ldIIJemVucHIubmV0MDgGA1UdHwQxMC8w
    LaAroCmGJ2h0dHA6Ly9jcmwuY2xvdWRmbGFyZS5jb20vb3JpZ2luX2NhLmNybDAN
    BgkqhkiG9w0BAQsFAAOCAQEAE87k3c/YHqv3uqDb2l0uetBi1LGt4d1XZv4t0C9m
    vEoD7flZxcR96FEhwmodDCSzuXbKFVCe7ODebSX9KzKnHWapJiWHUWKMIgBKf0Ne
    RCxaPLOT8cmODsEPfODPa8VeqcLQt+Hr8y/L/7gQgHmDLLfzYXigpnz6f/WyTBOC
    +3tAhwGtDALPsqwilVEqnUF4KIsh388VWoYuT+oSpq1sre6BeJxuGmNzAP4JH2fz
    IvHMl5CILVHBEP7I/NINaKphTrTicK3bUWycN1JcppTOb0Tmyr0vpZszPuYKytEM
    pFly+IMGyjsG2W4bdJQL0fh28qiCv8zhM76cnuzH/Fs4ZA==
    -----END CERTIFICATE-----
    EOL
    sudo tee /etc/nginx/ssl/n8n.zenpr.net/private.key > /dev/null << 'EOL'
    -----BEGIN PRIVATE KEY-----
    MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDPwfI3rKmyWuOW
    E3/3JhrfTXnYVeYWcK6/A7yfxTdPyvgjNJF7i7hVnj61tPo5OXLcqPebaqRwiHix
    NIkiw+svfwAI+iDtcY1V8EpMpnwlE8Lhb/xlJSvkaM/xKUZdl3CgjLNqfJqKnvu7
    qV79fHILzEw9k56u0jCNpJGRU3B7EhywF29qlKJz1A5m4OWtiW402xvLf1/11XvB
    UkDJb7E6+32OhmL8CqNrowNwsxozHjXl/7FbqPYiwBuFycfJI74vTXr5sZndwX24
    zsr1OCKBt+QVfarzXonkr34/pdo3Qcl2czjU0D+rGskTPby+HZFh8TSsB5o7I8JC
    LzGCqUBzAgMBAAECggEAJxi7aUi/4oWCIKLoyOzNz8n3rQN1OjHYYK/mVja50vVC
    PvXMjvBbLxmJeY5mLFCoUegmOIQYD+lOtSJK0FUINDb1HbtcaPKeg1al1Mjbwep3
    GQ+G8s3M9b3Xq+11hXVTR5NSzC5Ist96RfV4n8FEgP3gNxJJoWKCqpUWo7+NAkuu
    deBpQfHEsgkQnmijpemx9c1BKMRDbOJajcb4StH6UTNuZyQAYl9lq9YuSPtOxg5o
    t8lN+xSyFwEhaPLW599wyDHEl3AkHIsyDYLJRwXDejIAqm/Upow6xK0H2s6iGnaY
    y+4SLj2ZygGV1z6KrPikNBIj6YszQVo6oUPh211AcQKBgQDpmUhehYLsm/J4KiiK
    uiM7ilsTx3PYAR65ggqfmxGia3+693/m0zGd6u4IywNMpWsMYbqNPuDMgJNh9YxG
    hdjcQhOxuFupLBUcGYvtfZtq3postdOOfHIdl7owOXSeJFh6ShhKcs98cIIhUnsg
    zPt6+cE5fCx6LflWk44Ou7lzOQKBgQDjrkcU/1OfTg69v9FofmyylULMS+s6jH75
    ir4XFkiHl/Z8UIZsFevuNUx2pecbAyQWMAQCalEy6xHghfXP6xZk+aXfuyp71j3L
    cvKZ2Adw6vfLqkwpaMT/k2RYbU328zNNwDZawBRl/sQVMGfmvZtecNtanWkmpApk
    eBbeawq1CwKBgAub843HAtexdF5mcfdbAs89tAMKoYY1oApGHTMLaNfykbl//VpC
    Wq/ncgb71+EiQ2ytGrFUU6W2KhzvMBZ9Jmbj3ciySdPhffcUifC2klfAUlcwfiAR
    rTYtSTKGWHZXhhIlxolEpW0gxkbTq4zYwxK8gM7Tjf5QdJjJ4oB28eN5AoGAMcJd
    8J3YtcFGgXvRlWfD88ehQKr67uHTwk/rOXp6QYAZs5OZvTeRR49IdcnOV135XgwC
    ZFC+DEXJs2szjMxRKaJR+TKbl1L8UGF/2dWX0rrXiyBd4tLt8vlQfe7tkiIWvVBb
    0LuX+a6TRho9KvWXZi1+EzDB0VsalliUjumP/n8CgYEAmGeDo7HyUqNw9BvGlb3z
    SZD0guNrQby+kyzi6an8KHIzyWMvN8QLiYlYLG3Weh6KUtwvwFrS8l5nUZy8QTfg
    ngwZb+Ckp/cz878oKgfBVTGu6cVW47sOQPMGRSGIcR+OxbVFenTRtHtTAFUwGEcB
    EkF3YhLnhopRzMdSya53ZTY=
    -----END PRIVATE KEY-----
    EOL
    systemctl daemon-reload
    systemctl restart nginx
    service nginx restart
    # Khởi động lại dịch vụ Nginx để áp dụng cấu hình
    systemctl restart nginx
    cd /home/n8n.zenpr.net
    # Khởi động lại dịch vụ Nginx để áp dụng cấu hình
    systemctl restart nginx
    # Cập nhật danh sách gói và cài đặt software-properties-common
    sudo apt update
    sudo apt install software-properties-common
    
    #Cài mout ổ đĩa
    sudo apt-get install nginx cifs-utils -y
    sudo service nginx restart
    cd /home/n8n.zenpr.net
    
    
    sudo apt update
    
    sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    sudo apt update
    
    sudo apt install docker-ce -y
    
    sudo apt update
    sudo apt install -y docker-compose-plugin
    
    #sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    #sudo chmod +x /usr/local/bin/docker-compose
    
    sudo systemctl start docker
    sudo systemctl enable docker
    sleep 5
    
    sudo tee /home/n8n.zenpr.net/docker-compose.yml > /dev/null << 'EOL'
    services:
      postgres:
        image: postgres:latest
        container_name: postgres
        restart: unless-stopped
        environment:
          POSTGRES_USER: n8n_zen
          POSTGRES_PASSWORD: n8n_pass
          POSTGRES_DB: n8n_db
        volumes:
          - ./postgres_data:/var/lib/postgresql/data
        ports:
          - "5432:5432"
    
      n8n:
        image: n8nio/n8n:latest
        container_name: n8n
        restart: unless-stopped
        ports:
          - "5678:5678"
        environment:
          - N8N_BASIC_AUTH_ACTIVE=true
          - N8N_BASIC_AUTH_USER=Admin
          - N8N_BASIC_AUTH_PASSWORD=zendeptrai
          - N8N_HOST=n8n.zenpr.net
          - WEBHOOK_URL=https://n8n.zenpr.net/
          - DB_TYPE=postgresdb
          - DB_POSTGRESDB_HOST=postgres
          - DB_POSTGRESDB_PORT=5432
          - DB_POSTGRESDB_DATABASE=n8n_db
          - DB_POSTGRESDB_USER=n8n_zen
          - DB_POSTGRESDB_PASSWORD=n8n_pass
        depends_on:
          - postgres
        volumes:
          - ./n8n_data:/home/node/.n8n
    EOL

    Sau khi chạy file trên xong thì chạy các lệnh sau:

    cd /home/n8n.zenpr.net
    sudo docker compose pull
    sudo docker compose down
    sudo chown -R 1000:1000 /home/n8n.zenpr.net/*
    sudo docker compose up -d
    sudo docker logs n8n

    Cài Trên VPS Quản Lý Bằng Cloud Panel Sử Dụng Docker Compose

    Hướng dẫn chi tiết trong video sau:

    Thêm quyền cho user

    visudo
    Thêm vào
    n8nzenprnet ALL=(ALL:ALL) ALL

    Sau đó chạy các lệnh sau:

    cd /home/n8nzenprnet/htdocs/n8n.zenpr.net
    
    sudo apt update
    
    sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    sudo apt update
    
    sudo apt install docker-ce -y
    sudo apt install -y docker-compose-plugin

    Nếu bạn không muốn cài plugin Docker Compose theo lệnh sudo apt install -y docker-compose-plugin, thì chạy các lệnh sau:

    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    sudo chmod +x /usr/local/bin/docker-compose
    sudo usermod -aG docker n8nzenprnet
    exit
    sudo su n8nzenprnet
    cd /home/n8nzenprnet/htdocs/n8n.zenpr.net
    
    sudo ufw allow 5432
    sudo ufw allow 5678

    Tạo file cấu hình bằng lệnh nano docker-compose.yml sau đó chèn nội dung bên dưới vào.

    services:
      postgres:
        image: postgres:latest
        container_name: postgres
        restart: unless-stopped
        environment:
          POSTGRES_USER: n8n_zen
          POSTGRES_PASSWORD: n8n_pass
          POSTGRES_DB: n8n_db
        volumes:
          - ./postgres_data:/var/lib/postgresql/data
        ports:
          - "5432:5432"
    
      n8n:
        image: n8nio/n8n:latest
        container_name: n8n
        restart: unless-stopped
        ports:
          - "5678:5678"
        environment:
          - N8N_BASIC_AUTH_ACTIVE=true
          - N8N_BASIC_AUTH_USER=Admin
          - N8N_BASIC_AUTH_PASSWORD=zendeptrai
          - N8N_HOST=n8n.zenpr.net
          - WEBHOOK_URL=https://n8n.zenpr.net/
          - DB_TYPE=postgresdb
          - DB_POSTGRESDB_HOST=postgres
          - DB_POSTGRESDB_PORT=5432
          - DB_POSTGRESDB_DATABASE=n8n_db
          - DB_POSTGRESDB_USER=n8n_zen
          - DB_POSTGRESDB_PASSWORD=n8n_pass
        depends_on:
          - postgres
        volumes:
          - ./n8n_data:/home/node/.n8n

    Sau đó lần lượt chạy các lệnh sau:

    docker compose down
    sudo chown -R 1000:1000 /home/n8nzenprnet/htdocs/n8n.zenpr.net/*
    sudo chown n8nzenprnet:n8nzenprnet /home/n8nzenprnet/htdocs/n8n.zenpr.net/docker-compose.yml
    docker compose pull
    docker compose up -d
    docker compose down
    sudo chown -R 1000:1000 ./n8n_data
    sudo chown -R 999:999 ./postgres_data
    docker compose up -d

    Trong trường hợp bạn muốn sử dụng SQLite thì chèn nội dung này:

    services:
      n8n:
        image: n8nio/n8n:latest
        container_name: n8n
        ports:
          - "5678:5678"
        environment:
          - N8N_BASIC_AUTH_ACTIVE=true
          - N8N_BASIC_AUTH_USER=Admin
          - N8N_BASIC_AUTH_PASSWORD=zendeptrai
          - N8N_HOST=n8n.zenpr.net
          - WEBHOOK_URL=https://n8n.zenpr.net/
        volumes:
          - ./n8n_data:/home/node/.n8n

    Sau đó chạy các lệnh này là được:

    docker compose pull
    docker compose down
    docker compose up -d

  • TOP 7 App kiếm tiền online uy tín 2022

    App kiếm tiền online trong năm vừa qua là chủ đề rất nhiều người quan tâm. Vì sống trong đại dịch nên việc kiếm tiền online là rất cần thiết. Và trong năm 2022 này thì xu hướng này vẫn tăng và còn phát triển trong thời gian tới.

    Bởi vì có rất nhiều app kiếm tiền online mọc lên như nấm. Nên hãy cùng mình tìm hiểu những app kiếm tiền online uy tính để tránh việc tiền mất, tốn thời gian mà lại gánh bực mình vào thân.

    App kiếm thẻ cào bằng cách đọc báo – Baohay24H

    Rất nhiều người trong năm rồi tìm kiếm và sử dụng ứng dụng kiếm tiền online bằng cách đọc báo như thế này. Tuy nhiên năm 2022 này mà bạn còn tìm kiếm app này thì bạn có thể quên đi. Vì những luật lệ và cách vận hành không tốt nên đã “dẹp tiệm”. Hiện tại App kiếm tiền online này đã không còn trên Appstore và CHplay.

    Xem thêm: Cơ quan chức năng đã vào cuộc chặn app Báo hay 24h

    Nếu như ai đó hoặc 1 trang nào đó rủ bạn cài app baohay24h thì hãy coi chừng bị hack !.

    Baohay24H từng là app kiếm tiền online được nhiều người dùng
    Baohay24H bị chặng tại Việt Nam – Từng là app kiếm tiền online được nhiều người dùng

    App làm nhiệm vụ kiếm tiền Timebucks

    Đây là app hoạt động theo kiểu quảng cáo. Thông qua Timebucks các bạn có thể làm nhiều nhiệm vụ để kiếm tiền. Nhiệm vụ ở đây bao gồm làm khảo sát, đăng ký tk, hoặc gõ captcha hay đơn giản hơn là xem video. Trải qua 7 năm cùng với nguồn gốc xuất phát từ Úc và Ả Rập nên việc app có một cộng đồng khá đông. Vì quá nhiều người dùng nên việc làm khó khăn cho người dùng là điều không tránh khỏi.

    Ứng dụng kiếm tiền online uy tín - Timebucks
    Timebucks – Ứng dụng kiếm tiền online uy tín bằng cách làm nhiệm vụ

    Vậy nên đây tuy là app kiếm tiền online uy tính nhưng “lấy tiền của ngoại không dể” đâu. Nếu bạn có ý định tham gia thì có thể tiềm hiểu thêm. Cá nhân mình thì không khuyên các bạn tham gia. Vì tốn rất nhiều thời gian nhưng lại kiếm ít tiền.

    Ví điện tử MOMO

    Ứng dụng ví điện tử MOMO thì không còn xa lạ với nhiều người. Để phát triển như vậy họ đã làm ra chương trình giới thiệu bạn bè tham gia MoMo. Số tiền bạn kiếm được cũng khá cao khi giới thiệu được người nào đó cùng tham gia sử dụng ví. Tuy nhiên hiện nay việc giới thiệu bạn bè sử dụng cũng khá khó khăn. Bởi vì có thể nói MoMo đã rất thông dụng và gần như ai cũng có. Nên nếu bạn muốn dùng Momo làm app kiếm tiền online thì cũng nên cân nhắc lại việc này. Khá chua đấy =))).

    Đọc báo kiếm tiền online – VN Ngày Nay

    Được phát triển trên cả hai nền tảng iOS và Android nên ứng dụng kiếm tiền online này rất hot. VN Ngày Nay là một ứng dụng đọc báo kiếm tiền thông qua những tin tức trong và ngoài nước. Khác với các ứng dụng đọc báo khác thì ngoài đọc ra bạn có thể làm các việc khác. Ví dụ như để lại bình luận, hoặc chi sẽ giới thiệu với bạn bè cùng tham gia. Những giá trị bạn tích được khi làm những nhiệm vụ này là xu. Từ xu có thể đổi thành thẻ cào hoặc tiền tùy vào bạn.

    Tuy nhiên App kiếm tiền online này cũng đang có “phốt”, nên cũng khuyên là mọi người không nên dùng.

    App đọc báo kiếm tiền online - VN Ngày Nay
    Đánh giá không tốt lắm về VN Ngày Nay

    Bạn có thể tìm hiểu thêm App VN Ngày Nay.

    Chơi Hago kiếm tiền online

    Chơi Hago kiếm tiền như thế nào Zen cũng đã có một bài viết riêng về nó, các bạn có thể tham khảo thêm.

    Xem thêm: Cách chơi Hago kiếm tiền?

    Nói chung thì theo nhận định cá nhân của mình đây là app kiếm tiền online uy tính. Tuy nhiên số tiền mà các bạn kiếm được là không nhiều và khá mất thời gian.

    App trả lời khảo sát kiếm tiền online InfoQ

    Nói về lĩnh vựa trả lời câu hỏi khảo sát thì InfoQ có thể nói là khá nổi tiếng. Trực thuộc tập đoàn GMO Internet hoạt động trong lĩnh vực nghiêng cứu thị trường của Nhật. Hiện tại đã phát triển hơn 40 quốc gia trên thế giới. Bình thường khi bạn làm khảo sát bạn phải trả lời 10 câu hỏi, tuy nhiên đôi khi số câu hỏi có thể tăng lên 40 câu. Số tiền kiếm được giao động từ 100đ đến 10700đ. Hình thức nhận tiền bạn nhận được là qua ví Bảo Kim hoặc thể điện thoại Và số tiền bạn có thể rút là 50k.

    Và để đạt được con số này khá mất thời gian, nên mình cũng không khuyên các bạn tham gia. App kiếm tiền online uy tính thì có uy tính tuy nhiên số tiền kiếm được khá ít và mất thời gian.

    Ứng dụng kiếm tiền online uy tính infoQ
    Ứng dụng kiếm tiền online bằng cách trả lời câu hỏi khảo sát của infoQ

    Chơi Game NFT kiếm tiền online uy tính – Etermon

    Như các bạn đã biết trong 3 năm trở lại đây việc chơi game NFT kiếm tiền khá phổ biến. Đặt biệt trong năm 2021 vừa qua khi đại dịch bùng phát, mọi người phải ở nhà. Nên từ đó các ứng dụng game kiếm tiền được nhiều người tìm kiếm và sử dụng. Và Axie Infinity là game đã đưa sự nổi tiếng của game NFT đến với nhiều người.

    Năm 2022 có thể nói sẽ là năm bùng nổ trong thị trường game NFT và trong số đó không thể không kể đến Etermon. Theo cá nhân mình thì đây là một game hay bởi cách chơi và hệ sinh thái đứng sau nó.

    Ứng dụng game NFT kiếm tiền online
    Ứng dụng game NFT kiếm tiền online cực kỳ uy tính

    Tóm lại thì thì vọng bài viết này sẽ giúp được các bạn tan giấc mộng khi tìm hiểu app nào kiếm tiền online uy tính. Ứng dụng kiếm tiền online là có thật nhưng không nhiều. Nên nếu bạn muốn kiếm tiền nhiều thật sự thì có thể chơi game NFT. Vì nó là xu thế phát triển hiện nay và trong tương lai.

    App kiếm tiền online uy tín nhất 2022 là App nào ?

    – App kiếm thẻ cào bằng cách đọc báo – Baohay24H: Đây là app lừa đảo đã bị xóa sổ.
    – App làm nhiệm vụ kiếm tiền Timebucks: kiếm được nhưng ít tiền và mất thời gian.
    – Ví điện tử MOMO: trước thì dể nhưng bây giờ thì khó.
    – Đọc báo kiếm tiền online – VN Ngày Nay: có nhiều nhận xét không tốt.
    – Chơi Hago kiếm tiền online: kiếm tít tiền và mất thời gian.
    – App trả lời khảo sát kiếm tiền online InfoQ: Khá mất thời gian.
    – Chơi Game NFT kiếm tiền online uy tín – Etermon: Chân ái, là xu hướng của tương lai, kiếm rất nhiều tiền, nên đầu tư vào game này.
    TOP 7 App kiếm tiền online uy tín 2022

  • Cách kiếm tiền từ NFT – Game NFT

    Cách kiếm tiền từ NFT hiện nay đa số các bạn chỉ biết từ Game NFT. Nhưng thật ra có rất nhiều cách kiếm tiền từ NFT mà các bạn chưa biết. Trong bài viết này mình sẽ nói bao quát các vấn đề liên quan đến việc cách kiếm tiền từ NFT như thế nào.

    NFT được tạo ra như thế nào?

    Để hiểu được vấn đề này thì đầu tiên chúng ta tìm hiểu NFT là gì?

    NFT là gì?

    NFT là tên viết tắt của Non-Fungible Token, hiện tại NFT đang dẫn đầu về mặt công nghệ. Xuất hiện lần đầu tiên cách đây 10 năm (2012), nhưng đến tận năm 2017 thì nó mới được biết đến. Một trong những tên tuổi đưa NFT lên ngôi và được mọi người biết đến là game Crypto Kitties (nuôi mèo ảo). Đương nhiên là NFT được vận hành trên nền tảng Blockchain và được ứng dụng nhiều trong thế giới tiền điện tử.

    NFT có đặt tính là duy nhất, độc nhất, không thể thay thế. Tức là không thể hoán đổi cho nhau. Nhưng càng về sau khi sự phát triển về Game NFT thì chúng dần có thể trở nên có thể thay thế nhau. Tuy nhiên điều này cũng rất ít khi xảy ra.

    Cách kiếm tiền từ NFT - NFT là gì?
    NFT và cơn sốt phát triển bùng nổ

    Dựa trên nền tài chính phi tập trung (DeFi). Tức là những bên trung gian sẽ bị loại bỏ ra ngoài vòng giao dịch. Điều này dẫn đến tài sản của bạn sẽ hoạt động trên cơ sở cá nhân và phi tập trung. Không nằm cố định ở 1 ngân hàng nào cả, mà chỉ nằm trong ví điện tử của bạn. Bạn ở đâu và khi còn giữ ví điện tử bên mình thì nó là của bạn.

    Sự độc đáo của NFT nằm ở khả năng hoạt động dựa trên blockchain. Các token không thể bị sao chép làm giả hay xóa bỏ hoặc phá hủy. Hiểu một cách đơn giản thì tài sản NFT có thể sinh ra nhưng không thể bị mất đi. Nó chỉ chuyển từ vì người này sang ví người khác. Đặc biệt hơn ngay cả người phát hành NFT cũng không thể làm khác các nguyên tắc trên.

    Nguồn gốc ra đời của NFT

    NFT chủ yếu hoạt động dựa trên nền tảng của Blockchain và ý tưởng về NFT được tạo ra bởi Yoni Assia. Ý tưởng này khá giống với cách NFT đang hoạt động hiện nay. Nhưng tại thời điểm đó nó đã không thành công. Từ gia đó đến tận 2017 với công nghệ và nền tảng blockchain thì NFT mới được nhiều người biết đến.

    Những đặc điểm nổi bật của NFT

    • NFT không bị chia nhỏ
    • Duy nhất là đặc điểm mà NFT tạo nên tên tuổi: Mỗi NFT là một tài sản duy nhất. Nó không thể thay thế hay sao chép. Nếu có chăng thì trong các game NFT nào đó có những nhân vật tương đồng nhau. Chứ không hề tồn tại một nhân vật giống như vậy ở game khác.
    • NFT có thể xác minh và nhận dạng: Tài sản dưới dạng NFT luôn là chính gốc. Nó có thể xác minh tác giả hay chủ sở hữu nó trên Blockchain. Điều này rất được nhiều người quan tâm và yêu thích, nhất là các nhà sưu tầm đồ cổ.
    • Có nhiều sự khan hiếm: NFT có thể nói là khan hiếm vì nó là duy nhất. Chính điều này khiến cho giá trị của nó được thúc đẩy lên cao. Nhà phát hành có thể tạo ra nhiều NFT đó. Nhưng nếu không giữ được độ khan hiếm trong mỗi NFT thì sẽ không có được giá trị cao
    • Tính minh bạch trong giao dịch: cái này nghe nó hàn lâm lắm. Có ghi ra cũng không hiểu nên mình không giải thích nhiều trong phần này.

    Tìm ẩn nguy cơ của NFT

    Sức hút NFT này quá lớn và bất kỳ ai cũng có thể tự tạo ra cho mình 1 NFT. Điều này có nghĩa là sẽ có nhiều Token không có tí giá trị nào. Sự khan hiếm, nét độc nhất của NFT và sự đảm bảo tăng giá của sản phẩm đó không còn. Điều này có thể dẫn đến nhà đầu tư sẽ bị lỗ khi trào lưu NFT bị “thất sủng”.

    Ngoài ra thị trường này còn quá mới, chưa có cơ chế nào quản lý chặt chẽ. Biến động đến từ NFT là khó tránh khỏi.

    Cách kiếm tiền từ NFT và tương lai của NFT

    Ứng dụng của NFT ngày càng mở rộng và được nhiều nhà phát triển ứng dụng. Phổ biến nhất hiện nay là Game NFT. Thật sự đây là một bước tiến thay đổi nền tài chính truyền thống. Bằng cách mã hóa tài sản thật và đưa nó lên môi trường internet. NFT thật sự sẽ phát triển rất mạnh mẽ trong tương lai gần.

    Cách kiếm tiền từ NFT

    Như Zen đã đề cập phía trên từ những điều hay ho mà NFT mang lại. Đã có rất nhiều người tìm cách tham gia tạo ra những NFT để kiếm tiền. Có rất nhiều mạng lưới hỗ trợ tạo ra NFT. Nổi bật trong số đó là mạng lưới Ethereum. Song song đó cũng có sàn Binance, Tron, Tezo, Polkadot v..v…

    Cách kiếm tiền từ NFT
    Cách kiếm tiền từ NFT

    Có 3 phần chính trong việc tạo ra một NFT mà đa số các mạng lưới có thể hướng dẫn bạn cách làm.

    • Vật phẩm
    • Ví tiền
    • Một số loại tiền để giao dịch hoặc trả phí (chủ yếu là ETH)

    Time needed: 30 minutes.

    Hướng dẫn cách tạo NFT cho riêng bạn

    1. Chọn NFT marketplace mà bạn muốn

      Có rất nhiều lựa chọn cho phần này, tuy nhiên bạn có thể chọn dapp.com/topics/nft. Trang này sẽ list ra các các bạn danh sách các NFT marketplace trên thị trường.

    2. Kết nối ví Metamask vào App.Twinci.io

      Sau khi tick chọn đồng ý những điều khoản của nó bạn chọn Proceed
      My Collectible là mục bạn có thể tối ưu lại tài khoản của mình.

    3. Mua ít nhất 11 đồng Twin

      Để tiếp tục thì trong ví của bạn phải có ít nhất 11 đồng Twin. bạn có thể mua ở PancalkeSwap.

    4. Upload sản phẩm lên và tạo NFT

      Nhấn “Create” để upload sản phẩm của bạn lên sàn, nhập tên NFT cho sản phẩm, nhập giá bán… Vậy là bạn đã có một NFT để bán trên các Marketplace.

    Ngoài ra bạn cũng có thể chọn Binance NFT Marketplace để tạo NFT. Zen sẽ tìm hiểu và có một bài hướng dẫn riêng cho việc này.

    Như vậy các bạn cũng đã nắm sơ các bước để tạo cho riêng mình một NFT rồi nhé. Tiếp theo chúng ta tìm hiểu cách kiếm tiền từ NFT như thế nào.

    Bán sản phẩm NFT nghệ thuật kỹ thuật số

    Sản phẩm nghệ thuật dưới dạng NFT là trend trong tương lai. Được hình thành từ “kết nối giữa nghệ thuật và các nền tảng dựa trên blockchain, giữa văn hóa và công nghệ”.

    CEO Sun Bohan BlockCreateArt (BCA) cho hay

    Việc chúng ta bán các sản phẩm này có thể đạt giá trị rất cao trên nền tảng NFT. Thực tế đã có nhiều tác phẩm được bán với giá siêu khủng. VD như bức tranh của Beeple bán được với giá 69 triệu USD. Một con số nhìn vào là biết độ đẹp trai.

    Bán NFT nghệ thuật
    Kiến tiền NFT bằng cách bán tranh

    Bán NFT thời trang

    Tương tự như vậy, các thương hiệu thời trang lớn cũng dần lấn sang sang thị trường số hóa này. Bằng việc tạo ra những bộ siêu tập phiên bản giới hạn và đưa nó trở thành một NFT. Điều này tránh việc làm hàng giả hàng và nó đang được nhiều thương hiệu lớn lựa chọn hơn. Và bạn cũng có thể hoàn toàn làm được việc đó nếu như bạn muốn tạo ra doanh thu khủng trong thị trường này.

    Kiếm tiền NFT bằng cách bán thời trang
    Nhiều công ty thời trang lớn trên thế giới đã mua lại những công ty thiết kế thời trang kỹ thuật số NFT

    Chơi Game NFT kiếm tiền

    Game NFT đang ngày càng phổ biến và đi đầu trong thị trường NFT mà nảy giờ Zen nhắc đến. Ngoài việc có thể giải trí các bạn cũng có thể kiếm tiền. Cụ thể hơn là trong những Game NFT này tồn tại một loại tiền tệ có tên gọi chung là token. Từ token này có thể quy đổi thành các loại tiền điện tử khác. Bên cạnh đó khi bạn sở hữu những vật phẩm hay nhân vật thì bạn cũng có thể bán chúng.

    Xem thêm: Game NFT sắp ra mắt 2022

    Điển hình thực tế là có nhiều người chơi bán những lô đất trong game Decentraland với giá vài ngàn USD. Bạn cũng có thể mua cho mình 1 chiếc trong Racefi, đua xe, cải tiến chiếc xe và lụm tiền nếu bạn thắng.

    Nghe thú vị phải không nào, cực kỳ hấp dẫn và tương lại sẽ có rất rất nhiều game như vậy. Một trong số những Game NFT hot 2022 mà Zen biết là Etermon. Bạn có thể tìm hiểu thêm nếu muốn chơi hoặc đầu tư nhé.

    Tuy nhiên khi muốn tham gia chơi hoặ đầu tư một dự án game NFT nào đó, các bạn cần phải tìm hiểu thật kỹ. Vì đã có nhiều trường hợp scam (lừa đảo) đã xảy xa.

    Xem thêm: Những điều cần biết khi đầu tư vào những Game NFT sắp ra mắt

    Có những game NFT miễn phí, nhưng cũng có những game NFT có phí. Ví dụ như Axie Infinity nổi đình nổi đám trong năm vừa qua. Bạn cần phải mua các con thú cưng trong game, nuôi nấng, rèn luyện. Từ đó bạn sẽ có được một đôi quân hùng hậu cho riêng mình rồi mới đi chinh chiến được.

    Game NFT Etermon cũng tương tự như vậy. Bạn sẽ thu phục các con thú và nuôi chúng, nâng cấp chúng thành những chuyến binh.

    Tóm lại

    Có bao nhiêu cách kiếm tiền từ NFT

    – Bán sản phẩm NFT nghệ thuật kỹ thuật số.
    – Bán NFT thời trang.
    – Chơi Game NFT kiếm tiền

  • Cách chơi Hago kiếm tiền? Hago có thật sự kiếm tiền dể như bạn nghĩ?

    Cách chơi Hago kiếm tiền có thể nói là từ khóa được quan tâm khá nhiều trong năm qua. Tuy nhiên việc kiếm tiền này chỉ thích hợp với học sinh, còn sinh viên cũng không phù hợp. Bởi cách kiếm tiền của nó rất chi là cực và li chi lắc nhắn. Cao lắm con số bạn kiếm được cũng chỉ tầm 100k (thẻ cào điện thoại) 1 ngày. Nhưng để đạt được con số lý tưởng đó bạn phải làm rất nhiều nhiệm vụ.

    Nếu có ai đó bảo rằng kiếm được 500k 1 ngày thì bạn đang bị dụ đấy. Vậy cuối cùng thì …

    Chơi Hago có kiếm tiền thật được không?

    Hago có thể kiếm tiền thật được vì nó là ứng dụng được phát triển để giải trí và kiến ít tiền. Chỉ là ít tiền thôi nha các bạn chứ không nhiều đâu, chủ yếu chơi để giết thời gian rảnh thôi.

    Hago sẽ có các nhiệm vụ và thử thách trên game, bạn phải hoàn thành nhiệm vụ để tích lũy điểm. Từ số điểm bạn tích lũy đc sẽ quy đổi ra thẻ cào. Vậy nên sẽ không sai nếu nói chơi Hago kiếm tiền thật là có. Tuy nhiên số tiền bạn kiếm được cũng bị ràng buộc và có hạn mức. Vậy nên nếu bạn đang là học sinh, có thời gian rảnh thì thay vì lướt web xem phim thì đây là game rất phù hợp cho bạn.

    Cách kiếm tiền thật trên Hago

    Hago có 3 cách kiếm tiền chính là trồng cây, xây nhà và giới thiệu người chơi.

    1. Trồng cây kiếm tiền: tại màn hình chính bạn chọn Cây tiền Hago chọn gieo. Sau đó chọn biểu tượng bình nước để tưới nước. Khi đủ nướ thì hình dạng cây cũng sẽ thay đổi và số tiền bạn nhận được cũng nhiều hơn. Ngoài việc chăm sóc và thu hoạch tiền ở cây mình đang sở hửu, bạn còn có thể chăm sóc cây của bạn bè. Thậm chí cũng có thể ăn trộm tiền trên cây của họ. Khi đạt mức 10k vnđ bạn có thể chọn rút về và đổi thành thẻ cào điện thoại.
    2. Xây nhà kiếm tiền: Để thực hiện được nhiệm vụ xây nhà trên ứng dụng Hago cũng đơn giản như trồng cây thôi. Không quá phức tạp, bạn cần hoàn thành các nhiệm vụ để tích lũy gạch. Số gạch kiếm được càng nhiều thì ngôi nhà bạn xây sẽ càng nhanh. Khi đủ định mức để chuẩn bị nâng cấp cũng là lúc bạn được phép thu hoạch tiền. Dấu hiện rất dể nhận thấy là đồng tiền sẽ xuất hiện xung quanh nhà bạn.
    3. Mời người chơi mới: đây là nhiệm vụ khá quan trọng và cũng khá chua. Tức là khi bạn trồng cây hay xây nhà thì nguyên vật liệu tích lũy được khá ít. Muốn nhiều hơn thì bạn phải mời bạn bè của mình cùng chơi thì bạn sẽ mau thăng cấp. Đây cũng chính là điểm mà Zen thấy ứng dụng này không hấp dẫn.

    Cách kiếm tiền khác trên Hago

    Ngoài các nhiệm vụ trên thì bạn còn có thể kiếm đậu. Từ việc kiếm đậu này bạn cũng có thể kiếm ra tiền. Nhưng việc này cũng vô cùng “chua” vì để kiếm được đậu thì bạn phải livestream như ứng dụng Bigo ah. Người xem khi xem live của bạn, nếu thích họ sẽ tặng quà. Số quà tặng này sẽ được quy đổi ra kim cương. Từ kim cương bạn có thể quy đổi thành tiền. Và đây cũng là nhiệm vụ có thể rút tiền mà không cần mời bạn bè. Bù lại bạn phải được người xem tặng quà.

    Chơi Hago kiếm tiền có thật không?

    – Hình thức kiếm tiền là có thật, chỉ là kiếm được rất ít mà thôi và cũng khá mất thời gian nên chỉ thích hợp cho những ai đang rãnh rỗi. Hình thức chơi game kiếm tiền thật này đang rất nhiều người quan tâm.

    Hạn mức rút tiền trên Hago là bao nhiêu?

    – Ít nhất bạn phải có 10k vnđ trong tài khoản và phải mời được 1 người khác cùng chơi. Phải thỏa 2 điều kiện này thì bạn mới có thể rút được tiền.
    – Mỗi lần bạn chỉ rút được 10k vnđ. Thời gian đầu khi bạn mới mời bạn bè thì sẽ được rút khá nhiều. VD như bạn mời đc 5 người thì bạn sẽ rút được 10k/người. Nhưng những lần sau đó nếu mời được 5 người nữa thì chỉ rút tiền được 3 người thôi.

    Những lý do bạn không rút tiền được từ Hugo

    – Số tiền chưa đạt được mức tối thiểu là 10k vnđ.
    – Bạn mời bạn bè, nhưng không ai tham gia.
    – Bạn rút tiền bị vượt hạn mức mà Hago cho phép (10k vnđ cho 1 lần rút)

    Có nên tham gia kiếm tiền bằng ứng dụng Hugo không?

    Câu trả lời là không, vì nó thật sự không phải là nguồn thu nhập quá nhiều và hấp dẫn để bạn có thể tham gia.

    Hy vọng với những thông tin này bạn đã cân nhắc được việc nên sử dụng Hugo nhưng phương pháp kiếm tiền. Nếu bạn vẫn thích kiếm tiền MMO (kiếm tiền trên mạng). Bạn có thể tham khảo qua những bài viết nói về Game NFT của Zen. Chắc chắn sẽ kiếm được rất nhiều tiền hơn là ứng dụng kiếm tiền Hugo này. Một trong số những game Zen thấy khá tiềm năng là Etermon.

  • Game NFT sắp ra mắt 2022 – Những điều cần biết khi đầu tư

    Game NFT nào sắp ra mắt là những thông tin rất HOT dành cho người chơi và các nhà đầu tư. Ngoài việc chơi game còn có được thu nhập khủng. Nếu không chơi thì Game NFT cũng là một kênh đầu tư rất tốt. Việc tìm hiểu những game NFT sắp ra mắt là việc làm đầu tiên và rất quan trọng. Hãy cùng Zen điểm qua những Game NFT nào sắp ra mắt trong năm 2022 nhé.

    Việc game NFT bùng nổ trong vài năm trở lại đây đã không còn quá xa lạ với nhiều người. Tuy nhiên không phải game NFT nào ra mắt cũng thành công. Trong bài này Zen sẽ list ra cho các bạn những game nft sắp ra mắt 2022. Và đây chỉ là thông tin để tham khảo, không được coi là lời khuyên đầu tư các bạn nhé. Những nội dung của bài chỉ là cảm nhận cá nhân của Zen về thị trường Game NFT trong năm 2022

    Top Game NFT sắp ra mắt 2022

    Battle of Guardians – Phát triển dựa trên nền tảng Solana

    Battle of Guardians là Game NFT này thuộc thể loại PvP và chơi theo thời gian thực. Được phát triển bởi Unreal Engine. Thế giới Battle of Guardians là tập hợp những trận chiến sinh tử. Để có thể sống sót và chiến thắng người chơi buộc phải giỏi một hoặc nhiều kỹ năng chiến đấu. Đương nhiên khi chiến thắng người chơi sẽ nhận được nhiều phần thưởng.

    Hiện tại Battle of Guardians được phát triển trên nền PC. Trong tương lai sẽ được phát triển trên Android và iOS.

    Mã token của game là BGS (Battle of Guardians Share). $BGS gần như được sử dụng rộng rãi trong game. Dùng cho các giao dịch, thanh toán, cược vào các trận đấu hoặc chi phí tham gia các gải đấu v..v..

    Game NFT sắp ra mắt 2022 - Game Battle of Guardians
    Battle of Guardians

    Tầm nhìn của Battle of Guardians

    Không chỉ là một trò chơi, team phát triển đã cân đo đóng đếm và đánh giá rất kỹ. Xem xét liệu nó có thể đi đường dài được không. Nhà phát hành đã tính toán dựa trên giá trị hiện tại của ngành công nghiệp game. Đặc biệt là thể loại game đối kháng. Theo dữ liệu của họ, thời điểm hiện tại đã chín muồi cho bước này. Hơn nữa, họ tin rằng BoG sẽ góp phần hướng tới một nền kinh tế ổn định và lâu dài. Đồng thời Battle of Guardians cho phép người chơi tận hưởng trải nghiệm.

    Battle of Guardians có đồ họa ổn kết hợp với cách chơi hay và hấp dẫn, hứa hẹn sẽ tạo nên một cơn sốt trong 2022.

    Cốt truyện của Battle of Guardians

    Trò chơi sử dụng mô hình chơi PVP thời gian thực. Trong đó người chơi tham gia vào các trận chiến vô cùng căng thẳng. Người chơi liên tục cạnh tranh để giành phần thưởng và trò chơi có ba loại nhân vật sau:

    • Humans (Con người)
    • Demons (Ác quỷ)
    • Guardians (Người giám hộ)

    Ngoài các nhân vật này, còn có các cấp bậc:

    • Elite Fighter: Nhân vật cơ bản nhận được phần thưởng khá ít khi chiến thắng.
    • Legendary Warrior: Nhân vật cấp độ trung bình nhận được phần thưởng trung bình khi chiến thắng.
    • God of War: Đây là cấp độ nhân vật cao cấp nhất. Khi chiến thắng bạn sẽ nhận được nhiều phần thưởng có giá trị.

    Các chế độ chơi

    Story: Đây là chế độ chiến đấu thông thường, trong đó người chơi chiến đấu với máy tính để giành phần thưởng. Ngoài ra, chế độ Story có 25 giai đoạn, mỗi giai đoạn có phần thưởng khác nhau bằng đơn vị tiền tệ $BGS.

    Arena (Đấu trường): Trong chế độ này, người chơi đối đầu với những người chơi khác trong các trận đấu ngẫu nhiên dựa trên bảng xếp hạng của họ.

    Bout (Lượt đấu): Lượt đấu là các giải đấu mà người chơi được xếp trong những nhóm chơi 8, 16 hoặc 32 người chơi có thể chơi trong một giải đấu. Để tham gia một giải đấu, bạn phải trả một khoản phí là $BGS. Cuối cùng, người chiến thắng nhận được tất cả phí và phần thưởng $ BGS bổ sung.

    Etermon – Game NFT sắp ra mắt hứa hẹn tỏa sáng và bùng nổ trong thị trường Game NFT 2022

    Etermon là game khá hot trong năm 2022. Game NFT Etermon chủ yếu chú trọng sự kết nối của người chơi. Với cách chơi theo lượt dựa vào các thẻ bài cùng đồ họa 2D bắt mắt. Chắc chắn bạn sẽ bị hút hồn bởi Etermon, không làm bạn thất vọng. Điểm khác biệt nữa là nằm ở chiến thuật cùng với cơ chế phong phú của những con thú.

    VD như cùng 1 con thú đó nhưng nếu màu khác, móng vuốt khác và hàng tỉ các khác đó sẽ cho ra những chỉ số khác. Điều này dể tạo nên sự khan hiếm của các con thú. Khi bạn sở hữu chúng bạn sẽ dễ dàng bán giá cao hơn những game khác.

    Game NFT sắp ra mắt 2022 - Game NFT Etermon
    Game NFT Etermon sẽ là game đình đám nhất 2022

    Cốt truyện của Etermon

    Bạn sẽ là nhà du hành vũ trụ và bị lạc trong một hành tinh mới. Tại đây các các con thú là Etermon. Bạn có nhiệm vụ thu phục chúng, huấn luyện và nuối dưỡng chúng để trở thành những chiến binh. Trong suốt quá trình chơi game bạn phải làm cho các con vật mình có trở nên mạnh mẽ hơn.

    Đó chỉ mới là thông tin bên lề vì Game NFT Etermon chỉ sắp ra mắt và nhà phát hành hứa hẹn còn rất nhiều điều hấp dẫn.

    Etermon có 2 chế độ chơi

    Việc thiết kế game cũng được nghiêng cứu khá kỹ. Với 2 chế độ chơi PvP và PvE sẽ cho bạn trải nghiệm cực kỳ tốt. Điều này hứa hẹn Game NFT Etermon sẽ đem đến cho các bạn những điều vô cùng thú vị.

    Racefi – Nền tảng Metaverse mới ra mắt

    Racefi là game thuộc thể loại đua xe có thể nói là toàn diện nhất mà các bạn từng biết. Thử nghĩ mà xem, bây giờ đam mê và kỹ năng đua xe của bạn được phát huy tối đa. Vừa đua xe mà còn có thể kiếm được tiền. Tất cả các item của trò chơi có thể được sở hữu đều ở dạng NFT. RaceFi là trò chơi đua xe AI / ML đầu tiên của hệ sinh thái Solana.

    Racefi – Game NFT thể loại đua xe ấn tượng nhất 2022

    Chế độ chơi của Racefi

    Khả năng kiếm tiền gần như không giới hạn. Cho dù đó là một cuộc đua thuần túy hay một cuộc đua chiến đấu, PvP hay PvE, là người chơi hay nhà đầu tư.

    Trong chế độ PvE, người chơi có thể điều khiển và lái ô tô đối mặt với những thử thách trên đường. Trong một khoảng thời gian giới hạn bạn phải chiến thắng để giành được $ RCOIN và điểm kinh nghiệm.

    Còn trong chế độ chơi PvP thì lại là những cuộc đua công bằng giữa người.

    Để đủ điều kiện tham gia chế độ chiến đấu, người chơi phải upgrade ô tô của mình. Trong trận đua ngươi chơi sẽ chiến đấu cho đến khi chỉ còn một người. Không có giới hạn về thời gian hay ai sẽ về đích trước. Tấn công là cách duy nhất để bạn dành chiến thắng.

    Bạn sẽ được vinh danh vào mỗi quý trên bảng xếp hạng và nhận phần thưởng. Nhưng để được như vậy bạn phải thường xuyên tham gia tất cả các cuộc đua. Ngoài ra còn phải thường xuyên nâng cấp xế cưng của mình.

    Rainmaker – Game NFT giả tưởng về tiền điện tử

    Rainmaker là game giả tưởng lấy cảm hứng từ chứng khoán và tiền điện tử. Game làm ra nhằm giáo dục và đào tạo những mầm non yêu thích thị trường chứng khoán v..v.. Rainmaker giúp người chơi kiếm tiền trên thị trường chứng khoán và tiền điện tử bằng cách chơi trò chơi giao dịch tưởng tượng trực tuyến, áp dụng các chiến lược, cải tiến phương pháp đầu tư và cải thiện quy trình quản lý tiền.

    Rainmaker tận dụng dữ liệu từ các sự kiện thật. Phân tích và biến động trên thị trường chứng khoán và crypto trên toàn thế giới theo thời gian thực. Từ đó bạn có thể giao dịch và kiếm tiền trên các sự kiện biến đổi này.

    Có thể bạn sẽ lo lắng về vấn đề pháp lý của Game NFT này. Do liên quan đến thị trường chứng khoán. Thự tế thì Game NFT này đã được bảo kê và dựa trên cơ sở tiền tệ pháp lý bởi Game Of Skill cùng với nhiều công ty luật uy tín khác.

    Game NFT sắp ra mắt - Rainmaker
    Rainmaker – Game NFT liên quan đến tài chính

    Polygonum – Game NFT DeFi đa nền tảng với thị trường tiền điện tử & NFT

    Polygonum là Game NFT thuộc thể loại sinh tồn nhiều người tham gia. Pog Coin là đơn vị tiền tệ mà game sử dụng. Trong game người chơi có thể mua bán các item trong trò chơi với nhau. Tạo ra khu vực và cộng đồng của riêng họ, có thể khai thác khoáng sản các kiểu, rất phong phú.

    Game NFT sắp ra mắt - Polygonum - Game NFT DeFi thuộc thể loại sinh tồn
    Polygonum – Game NFT DeFi thuộc thể loại sinh tồn

    Polygonum có 3 khu vực chính (chế độ chơi)

    • PVP (người chơi đấu với người chơi)
    • PVE (săn bắn và khám phá)
    • FARM (trồng trọt)

    Người chơi sẽ theo mạch cốt truyện mà tương tác với môi trường xung quanh. Các nhiệm vụ trong game như câu cá, săn bắn v..v…

    Để có được vị trí cao trong game và muốn kiếm nhiều tiền, bạn phải cạnh tranh lẫn nhau. Chiến đấu bảo vệ lãnh thổ của mình, chiếm dụng lãnh thổ của người khác. Chuẩn bị lực lượng để bảo vệ chính mình.

    Ngoài ra, nếu là người thích màu hồng và chuộng hòa bình bạn có thể trồng cây nuối cá. Cuộc sống của nông dân thì ít thăng trầm hơn.

    Những điều cần biết khi đầu tư vào những Game NFT sắp ra mắt

    Khi các bạn đọc đến đây thì ít nhiều các bạn cũng đã quan tâm đến việc mình sẽ đầu tư vào Game NFT. Tuy nhiên nguy cơ tiềm ẩn scam là rất lớn, bởi thị trường này mới và rất màu mỡ. Vậy tiêu chí nào để mình có thể lựa chọn game NFT tốt thật sự để đầu tư hoặc tham gia chơi game NFT kiếm tiền?

    Tìm hiểu thật kỹ dự án Game NFT mà mình sắp chơi hoặc đầu tư

    Đã dần xuất hiện nhiều dự án đầu tư mang tính chất scam. Điển hình như CryptoBike gần đây gây nhiều bức xúc và xôn xao dư luận. Nên việc tìm hiểu trước khi đầu tư là rất quan trọng. Nếu game được phát hành bởi team Việt Nam thì làm ơn tìm hiểu xem công ty ở đâu? Địa chỉ số điện thoại rõ ràng, nếu được thì lên tận văn phòng tham quan. Điều đặc biệt mà ít các bạn biết đó là Game NFT trên thị trường hiện nay có đến 80% đến từ Việt Nam.

    Tuy nhiên không phải cứ Việt Nam làm ra là dỏm la scam, việc có bị scam hay không còn tùy thuộc vào nhận định và quyết định của bạn. Điển hình như Zen đây, sau khi đến tham quan công ty Moligroup, hiểu được dự án Game NFT Etermon thì đã không ngần ngại tham gia đầu tư và khi game ra mắt sẽ chơi.

    Cốt truyện, tầm nhìn và định hướng tương lai của nhà phát triển

    Vấn đề này thuộc về cảm nhận cá nhân thôi. Nếu bạn thấy cốt truyện hay, có sự liên kết trong những hệ sinh thái trong tương lai của họ, bạn nên đầu tư. Những game NFT mới và sắp ra mắt hiện nay có những game chất. Nhưng song song đó cũng tồn tại rất nhiều game “ăn xỗi”. Việc game NFT đa phần xuất phát từ Việt Nam cũng là một lợi thế cho chúng ta khi tìm hiểu và đưa ra quyết định có đầu tư hay không.

    Công cụ check Scam

    Khi bạn tham gia chơi và đầu tư Game NFT và bạn có mặt trong các group telegram là điều không tránh khỏi. Tuy nhiên có một số thành phần lừa đảo, dùng những tool đưa bạn vào những group không chính chủ. Sau đó nhắn tin báo cho bạn biết rằng bạn trúng thưởng. Lúc này nếu bạn giao dịch nhận thưởng thì có khả năng bạn sẽ bị mất sạch. Có 2 trang web bạn có thể tham khảo để tránh việc bị mất tiền oan. Đó là honeypot.istokensniffer.com

    Tóm lại

    Game NFT sắp ra mắt 2022 là game nào?

    – Battle of Guardians
    – Etermon
    – Racefi
    – Rainmaker
    – Polygonum

    Cần làm gì trước khi đầu tư Game NFT

    – Tìm hiểu thật kỹ dự án Game NFT xem nhà phát hành là ai, team nào đang làm, có liên quan gì đến nhau không. Hay sự việc lỡ vỡ thì lại la làng là team code chỉ được thuê làm.
    – Cốt truyện, tầm nhìn và định hướng có tốt không, có hay không, nhắm chừng có đi lâu dài được hay không?
    – Sử dụng công cụ check Scam khi ai đó nhắn tin cho bạn là được trúng thưởng.

    Hy vọng với bài viết này các bạn đã có thêm thông tin để tham khảo. Đây chỉ là cảm nhận cá nhân và không phải là lời khuyên đầu tư. Quyết định đâu tư hay không là do bạn.

  • Cách viết bài chuẩn SEO cho WordPress sử dụng Plugin Yoast

    Viết bài chuẩn SEO là vấn đề đầu tiên khi bạn bắt đầu viết lách. Dùng con chữ để kéo traffic thu hút người dùng. Hôm nay Zen sẽ hướng dẫn các bạn cách viết bài chuẩn SEO dựa trên nền tảng WordPress và sử dụng Plugin Yoast.

    Tiêu Đề Bài Viết Chuẩn SEO phải như thế nào ?

    Từ khóa phải có mặt trong title (tiêu đề) của bài viết. Từ khóa này từ đâu mà có ? Có thể do các bạn từ làm công việc nghiên cứu từ khóa. Hoặc bạn là cộng tác viên và bạn được giao cho từ khóa và chỉ cần viết mà thôi. Trong bài viết này Zen xem như bạn đã có sẵn trong tay bộ từ khóa rồi nhé. Hình phía dưới là một ví dụ về danh sách từ khóa mình cần viết.

    Cách sử dụng từ khóa trong bài viết chuẩn SEO
    Cách sử dụng từ khóa trong bài viết chuẩn SEO

    Nội dung của bài viết chuẩn SEO

    Sau khi xác định được tiêu đề và từ khóa, mình bắt đầu vào nội dung bài viết. Trong phần này cần chú ý các vấn đề sau:

    Nội dung bài viết chuẩn SEO

    • Giới thiệu vào bài, giống như mở bài khi xưa các bạn làm tập làm văn, giới thiệu về chủ đề mà mình đang nói tới.
    • Phân chia đề mục trong bài viết như kiểu I, II, III (1 la mã, 2 la mã). Trong I có 1 2 3 (1 nhỏ 2 nhỏ 3 nhỏ).

    Cách sử dụng chia đề mục như sau: Chọn văn bản –> Paragraph –> Heading. Thao tác đơn giản như hình bên dưới.

    Kết quả chúng ta có một đề mục lớn là H2. Các bạn không thay đổi nhé, cứ để mặc định là H2.

    Kết quả khi chọn Heading là chữ sẽ to lên và nổi bật
    Kết quả khi chọn Heading là chữ sẽ to lên và nổi bật

    Tới bước này, tùy thuộc vào nội dung bài viết mà chúng ta có chia tiếp đề mục bài viết hay không. Theo ví dụ trong bài là 5 bước chăm sóc da thì chúng ta sẽ có bước 1, bước 2 v..v.. Thì chúng ta sẽ chia tiếp. Và kết quả như sau:

    Sử dụng H2 và H3 trong cách viết bài chuẩn SEO
    Sử dụng H2 và H3 trong cách viết bài chuẩn SEO

    Đây là bài viết đặc thù mình có thể dùng những đề mục, song song đó có những bài mà phần nội dung xuyên suốt không có đề mục. Trong trường hợp này chúng ta cũng nên cố gắng suy nghĩ ra 1 hoặc 2 đề mục cho bài việc. Trong trường hợp không thể nữa thì bỏ qua.

    Hình ảnh sử dụng trong cách viết bài chuẩn SEO như thế nào?

    Hình ảnh trong bài viết khá quan trọng và cũng có các quy tắc riêng.

    • Phải có dung lượng dưới 100kb. Nếu các bạn lấy (hoặc nhận được) hình ảnh có dung lượng cao hơn. Các bạn phải tối ưu lại dung lượng hình.
    • Tên hình phải có chứa từ khóa liên quan đến bài viết. Viết liền không dấu kèm theo tên website. Ví dụ như cach-viet-bai-chuan-seo-cho-wordpress-hitekcenter-1.jpg, những hình tiếp theo thì cach-viet-bai-chuan-seo-cho-wordpress-hitekcenter-2.jpg.
    • Chèn hình ảnh vào bài viết ngoài việc điều chú thích cho bài viết thì cần điền thêm thẻ ALT cho hình. ALT cũng phải đề cập đến từ khóa chính. Xem ví dụ như hình bên dưới.
    Các bước set ALT cho hình ảnh trong khung soạn bài viết của WordPress
    Các bước set ALT cho hình ảnh trong khung soạn bài viết của WordPress

    ALT của hình ảnh trong bài viết có chứa từ khóa nhiều nhất là 3 – 4 lần thôi. Trong bài viết có 10 hình ảnh thì không nhất thiết cả 10 hình ALT đều chứ từ khóa. Các ban nên thay đổi các từ khóa liên quan hoặc tương tự như từ khóa chính (có thể dùng bộ từ khóa phụ, xem lại hình đầu tiên của bài viết).

    Sử dụng Internal links và Outbound links như thế nào trong viết bài chuẩn SEO

    Phần này Zen sẽ không giải thích cho các bạn tác dụng của Internal links là gì hay định nghĩa Outbound là như thế nào.

    Internal links

    Là những liên kết nội bộ trên trang web của mình. Khi đang viết bài nhưng có 1 cụm từ nào đó, mà cụm từ đó có liên quan đến một bài viết riêng thì các bạn tiến hành chèn link bài viết đó cho cụm từ có liên quan. Đó gọi là Internal links.

    Outbound links

    Là những liên kết ra ngoài website, Ví dụ như link sang facebook, link sang 1 trang web khác v..v.. Điều này giúp cho google hiểu bạn là một người không ít kỷ và đây là một haot5 động tự nhiên. Không có một web site nào phát triển bình thường mà chỉ “nhận” liên kết từ người khác mà không “cho” đi liên kết ra ngoài cả.

    Nếu đang viết bài cho site vệ tinh thì các bạn có thể chèn link sản phẩm ở trang shop bán hàng. Hoặc có thể trích dẫn link fanpage, link kênh Youtube, Tiktok v..v.. đó cùng là cách dùng Outbound links hiệu quả.

    Kiểm tra điểm chất lượng bài viết có chuẩn SEO chưa thông qua Plugin Yoast SEO

    Sau khi viết bài xong việc review lại xem bài viết của mình có chuẩn SEO không là rất cần thiết. Chúng ta sẽ kiểm tra bằng plugin Yoast SEO của WordPress.

    Điền từ khóa vào Focus keyphrase cho Plugin kiểm tra và chấm điểm
    Điền từ khóa vào Focus keyphrase cho Plugin kiểm tra và chấm điểm

    Trong trường hợp 2 tab SEO và Readability đều là màu cam thì bài viết đó chưa đạt. Song song đó Plugin cũng list ra các vấn đề bạn cần khắc phụ cũng khá là chi tiết.

    Ở hình phía trên Zen đều bị điểm xấu ở cả 2 mục, chúng ta bắt đầu xem lỗi ở từng mục.

    SEO

    Nếu bạn nào không giỏi tiếng Anh thì có thể google dịch ra nghĩa của các lỗi. Thông báo cũng khá đơn giản và dể hiểu.

    Các lỗi trong phần SEO
    Các lỗi trong phần SEO
    • Internal links: No internal links appear in this page, make sure to add some! Thiếu liên kết nội bộ.
    • Keyphrase in introduction: Your keyphrase or its synonyms do not appear in the first paragraph. Make sure the topic is clear immediately. Từ khóa hoặc cụm từ khóa của bạn chưa bắt đầu ở vị trí đầu câu.
    • Keyphrase density: The focus keyphrase was found 0 times. That’s less than the recommended minimum of 3 times for a text of this length. Focus on your keyphrase!. Không tìm thấy từ khóa hoặc cụm từ khóa trong bài viết. Ít nhất từ khóa phải xuất hiện 3 lần trong bài viết dài như thế này.
    • Meta description length: No meta description has been specified. Search engines will display copy from the page instead. Make sure to write one! Phần mô tả description đang bị thiếu, đừng để trống. Phần này thông thường Zen sẽ lấy phần giới thiệu đầu bài để thêm vào. Vì đoạn đầu bài mình viết có chứa từ khóa chính sẵn rồi.
    • Image Keyphrase: Images on this page do not have alt attributes with at least half of the words from your keyphrase. Fix that!. Hình ảnh trong bài chưa có ALT
    • Keyphrase length: The keyphrase is 7 words long. That’s more than the recommended maximum of 4 words. Make it shorter! Từ khóa có 7 từ lận, nên làm ngắn lại

    Readability

    Hiểu đơn giản đây là phần chấm điểm trong việc phân bổ bố cục bài viết để thân thiện với người đọc.

    Phần chấm điểm thân thiện cho người đọc
    Phần chấm điểm thân thiện cho người đọc
    • Sentence length: 41.7% of the sentences contain more than 20 words, which is more than the recommended maximum of 25%. Try to shorten the sentences. Số từ trong một câu của bạn hiện đang quá dài và nhiều từ, nên rút gọn lại. 1 câu được kết thúc bằng dấu “CHẤM”.
    • Transition words: Only 1.1% of the sentences contain transition words, which is not enough. Use more of them. Đừng cố làm tốt phần này vì plugin làm việc dựa trên thư viện “từ nối” tiếng anh của nó. Nên phần này bạn có thể bỏ qua.

    Trong phần check lỗi này các bạn chỉ được để 2 lỗi màu Đỏ. 1 cho SEO và 1 cho Readability.

    Khắc phục tốt những lỗi trên bạn sẽ có một kết quả XANH ngát XANH.

    Cố gắng cải thiện để được điểm cao nhất là xong phần viết bài chuẩn SEO.
    Cố gắng cải thiện để được điểm cao nhất là xong phần viết bài chuẩn SEO.

    Tóm lại

    Time needed: 15 minutes.

    Cách viết bài chuẩn SEO cho WordPress sử dụng Plugin Yoast bao gồm các bước sau:

    1. Title và Meta description

      – 2 phần náy rất quan trọng, đều phải có chứa từ khóa.

    2. Nội dung bài viết

      – Ít nhất từ khóa phải xuất hiện trong nội dung bài viết 4 lần. Tùy thuộc vào bài viết của bạn là dài hay ngắn. Mật độ từ khóa cũng rất quan trọng, vì cố tình nhồi nhét từ khóa nhiều sẽ gây khó chịu cho người đọc.

    3. Thẻ ALT của hình ảnh

      – Đa số các bạn quên thẻ này. Hiện tại google chưa đủ thông minh nên Alt là thứ duy nhất giúp google hiểu đây là bức ảnh gì. Việc bỏ qua thẻ này sẽ làm cho bạn hạn chế phần nào trong việc tối ưu bài viết của mình.

    4. Internal links và Outbound links

      – Google sẽ đánh giá bạn là ích kỷ nếu bạn chỉ để liên kết nội bộ mà không để liên kết ngoài ra trang web khác. Những liên kết ngoài (Outbound links) Zen thường link về những trang mạng xã hội của mình. Điều đó giúp cho hệ thống website và các trang mạng xã hội của bạn có liên kết liên quan chặt chẽ hơn.
      – Làm tốt link nội bộ củng rất cần thiết, giúp người dùng luôn bị cuốn hút và làm cho time on site của bạn cao. Hãy đặt link nội bộ 1 cách uyển chuyển để người xem luôn phải click mỗi khi đọc bài của bạn.

    5. Danh mục bài viết

      – Việc chia bài viết của mình ra những danh mục rõ ràng và set H2 H3 H4 cho nó cũng rất cần thiết. Điều này làm cho bố cục bài viết của bạn rõ ràng hơn. Google thích điều này mà cả người đọc cũng thích. Nếu 1 bài viết luôn tuồng từ trên xuống khả năng cao bài viết của bạn sẽ không được đánh giá cao.

    Nếu có thắc mắc nào trong cách viết bài chuẩn SEO hay chỗ nào chưa hiểu đừng ngại cmt cho Zen biết để Zen có thể giúp đỡ bạn nhiều hơn nhé.

  • Game NFT là gì ? Top 5 Game NFT Kiếm Tiền HOT Nhất 2022

    Game NFT là gì ?

    Game NFT là tên gọi của những game được xây dựng và phát triển bởi công nghệ blockchain. Trong đó mỗi Game NFT có một đế chế kinh tế nói chung và một Token nói riêng. Khác với các game truyền thống thì khi chơi Game NFT, người chơi có thể kiếm được tiền. Các vật phẩm và quà tặng trong game người chơi có thể buôn bán thông qua Marketplace. Với những Game NFT HOT hiện nay thì người chơi có thể kiếm được từ 1200$ – 1800$ / tháng. Đây là con số đầy hấp dẫn mà Game NFT có thể mang đến cho bạn.

    Với thể loại game này bạn hoàn toàn làm chủ các vật phẩm (item) và các nhân vật của mình. Có thể toàn quyền bán hoặc tặng các vật phẩm. Không cần phải đưa tài khoản của mình cho người khác như các game truyền thống. Tiêu biểu có thể nói đến là Game NFT Decentraland. Các bạn có thể bán các lô đất ảo và thu về rất nhiều ngàn đô la tại đây. Với những game khác bạn có thể mua xe, trồng cây v..v… rất đa dạng và vô cùng phong phú.

    Nói các item ảo nhưng vấn đề kiếm tiền là thật. Vì rõ ràng khi tham gia game, sau khi bán bạn vẫn có thể thu về tiền thật cầm trên tay mình.

    Game NFT ra đời như thế nào ?

    Cách đây 5 năm (2017) lần đầu tiên Game NFT ra đời với cái tên hết sức cute phô mai que là CrytoKitties. Mọi người hay gọi là game nuôi mèo ảo. Thông qua cách phối hợp (như kiểu bài magic của Yu-Gi-Oh). Người chơi có thể tạo ra nhiều giống mèo khác nhau. Càng đẹp càng hiếm càng lạ thì càng có giá trị. Có những con mèo khi bán giá đội lên 2 triệu USD. Với một hình thức game siêu hot lúc đó mạng lưới Ethereum đã tê liệt vì các giao dịch. Nhưng rồi cuộc vui nào cũng phải tàn và độ hot của game này giảm dần.

    Và đến khi Game Axie Infinty xuất hiện, nó như một làn gió mới thổi vào cộng đồng Play to Earn. Game do chính người Việt phát triển, cách chơi tương tự như Pokemon. Bạn có muốn biết lý do tại sao không ? Bạn không muốn biết thì tôi vẫn sẽ viết tiếp đây.

    Tại sao Game NFT lại HOT và trở thành trend ?

    Game NFT là gì ? Và vì sao lại HOT ?

    Vì sự phát triển của công nghệ Blockchain kéo theo sự phổ biến của tiền điện tử. Sẽ không hề “nâng bi” nếu nói đây là sự phát triển vượt bậc. Nó là 1 sự kiện chấn động trong thị trường crypto. Từ đây mọi người bắt đầu có cái nhìn “tin tưởng” hơn về tiền điện tử (hay mọi người còn gọi là tiền ảo).Game NFT vì sao lại HOT ?

    Game NFT có thật sự kiếm tiền được không ?

    Chắc chắn là được thậm chí là rất nhiều tiền nếu các bạn chơi và đầu tư đúng cách. Đây có thể là chân ái của các gamer khi giờ đây bạn có thể chơi mà vẫn có thu nhập để trang trải cuộc sống.Game NFT có thật sự kiếm tiền được không ?

    Thu nhập từ Game NFT có cao không ?

    Game NFT đưa bạn đến một môi trường mới. Vì vậy hiện tượng fomo là chắc chắn có, chính điều này cũng là một phần đẩy giá trị trong game lên một tầm cao mới.

    Top Game NFT hot nhất 2022 là gì ?

    Etermon: Game được xây dựng với tầm nhìn sâu và rộng. Tuy chỉ mới chuẩn bị ra mắt nhưng nhà phát hành đã chuẩn bị cả một hệ sinh thái cho game. Điều này làm game sống lâu và tuổi thọ cao hơn những game bình thường khác trên thị trường.
    Chumbi Valley: được lấy cảm hứng từ những tên tuổi lớn như Studio Ghibli, Stardew Valley, Zelda. Chumbi Valley là game nhập vai theo dạng RBG được xây dựng trên mạng lưới Polygon. Game có thể được chơi trên các nền tảng và hệ điều hành khác nhau. Có thể nói đây là game khá HOT so với những game ra mắt trước đây.
    Kawaii Islands: là game có thể nói là có đồ họa rất dể thương và bắt mắt. Khá giống với nông trại vui vẻ thời thơ ấu. Trong Kawaii Islands các bạn có thể nuôi thú, trồng cây và chế tạo vật phẩm. Từ đó bán vật phẩm trong game để kiếm tiền.
    Solchicks: là dòng game có lối chơi theo kiểu hoàng tộc xịn xò. Và đương nhiên là lấy play to earn và việc nuôi thú làm chủ đạo. Với tầm nhìn muốn xây dựng hệ sinh thái NFTPVP – P2E đứng đầu của mạng lưới Solana. Game cho ra đời bộ sưu tập siêu dể thương tên là Solchicks NFT.
    Ember Sword: là game NFT thể loại nhập vai. Đặt biệt game cho người chơi tham gia một cách miễn phí. Người chơi có thể xây dựng vương quốc riêng cho mình và thu thập các tướng sĩ và vũ khí. Từ đó có thể chiến đấu với quái vật và các người chơi khác trong game. Song song đó phải làm nhiệm vụ hằng ngày thì bạn sẽ được thêm điểm kinh nghiệm và nhận phần thưởng của game.Top Game NFT hot nhất 2022 là gì ?

    Với nhiều yếu tố ‘Thiên thời, địa lợi, nhân hòa’ hội tụ. Trong đại dịch Covid-19 có rất nhiều người rãnh ở nhà khi giản cách. Nên đây là cách kiếm tiền đầy hấp dẫn cho người người và nhà nhà chơi Game NFT.

    Token trong game NFT đóng vai trò như thế nào ?

    Token là gì thì phân tích nghe rất kỹ thuật và khô cứng. Nói 1 cách dể hiểu, nó là tiền tệ trong game. Nhiệm cụ của nó dùng để trao đổi mua bán item và nhân vật trong game. Nhận các phần thưởng thông qua Token. Trong tương lai có thể nó còn có nhiều tiện ích khác.

    Trong đại đa số các dự án Game NFT họ đều có nguồn dự trữ Token. Nó dùng để điều phối nền kinh tế trong game. Các dòng tiền ra vào đều thể hiện công khai bởi một tổ chức tự quản gọi là DAO. Thấy không, phân tích ra nó rất phức tạp nên thôi cứ hiểu đơn giản thôi.

    TOP 5 Game NFT HOT nhất hiện nay

    Trong phần này Zen sẽ liệt kê 5 Game NFT HOT nhất, và đó chỉ là cảm nhận cá nhân. Nó có thể không đúng với cách nhìn nhận của các bạn. Nhưng có một điều không thể phủ nhận là nó rất HOT.

    Decentraland

    Vậy Game Decentraland là game gì ?

    Decentraland là tựa game được phát triển trên nền tảng Blockchain chính xác hơn là đựa trên mạng lưới Ethereum. Ra mắt vào cưới năm 2016 bởi một đội phát triển có nguồn gốc từ Argentina. Minecraft và Second Life là 2 tựa game được lấy ý tưởng để phát triển thế giới ảo trong Decentraland. Điều tạo nên sự đặc biệt trong game là ngoài đường xá và các nơi công cộng, mọi thứ đều được đưa lên mua bán.

    Decentraland
    Cảnh trong c

    Có một danh từ mô tả gọi là LAND. Khi sở hữu nó bạn có quyền kiểm soát mọi hoạt động trên Land đó. Vâng … là bất cứ thứ gì, từ sòng đánh bài cho tới 1 bức tranh trang trí. Mọi giao dịch trong game Decentraland khi đó được thực hiện thông qua đồng tiền MaNa.

    Axie Infinity

    Game Axie Infinity là gì ?

    Như các bạn cũng đã biết Axie Infinity là một game được xây dựng cách chơi theo kiểu RPG. Đây là thể loại mà Zen rất thích. Cũng như bao Game NFT khác cơ chế Play to Earn cho phép người chơi kiếm tiền. Bằng cách mua bán và trao đổi các nhân vật và item. Ngoài ra còn có giao hợp, chiến đấu, xây dựng một đế chế với những thú cưng gọi là Axie. Khá giống với Pokemon các bạn nhỉ.

    Axie Infinity
    Các con thú trong Game Axie Infinity

    AXS là Token của Axie Infinity được phát triển dựa trên nền tảng và mạng lưới Ethereum. Nó đóng vai trò chủ lực, là cán cân kinh tế cân bằng mọi hoạt động trong game. Trong quá trình chơi người dùng có thể tạo ra tài sản thực của mình trên nền tảng Blockchain.

    Các vật phầm và thú trong game là độc quyền. Nó khiến cho game trở nên đặc biệt với các tựa game khác. Đặc điểm này cũng có trên Game NFT Eternon mà Zen sẽ có một bài riêng về nó. Chính vì là vật phẩm duy nhất nên nó rất có giá trị. Khi đó người sở hữu có vai trò quyết định nhiều hơn. Không bị ảnh hưởng bởi những nhà sáng lập.

    My DeFi Pet

    Game My DeFi Pet là gì ?

    Lấy cảm hứng từ thú cưng truyền thống My DeFi khoát lên mình 1 bộ áo rất thự tế ảo. Cũng tương đồng với các dòng Game NFT trên thị trường. Cũng là các item được mã hóa NFT và cũng Play to Earn. Vừa chơi game vừa có thể kiếm tiền.

    My DeFi Pet
    Đồ họa trong Game My DeFi Pet chưa thật sự bắt mắt.

    Các thú nuôi trong game được gọi là Monster và bạn có nhiệm vụ nuôi nấng o bế cưng chiều nó. Như trồng cây lấy thức ăn để nuôi rồi giao phối để nhân bản thú nuôi. Song song đó cũng có thể đem chúng đi chiến đấu. Tham gia các giải đấu để nhận thưởng. Sự phát triển của monster phụ thuộc vào các điểm thưởng này.

    The Sandbox

    Game The Sandbox là gì ?

    Đây là thể loại video game với nhiều tình tiết và yếu tố trong game mới lạ. The Sanbox đem đến sự trải nghiệm thích thú khi người chơi làm xong nhiệm vụ. Đôi khi nhiệm vụ không đưa ra bất kỳ điều gì rõ ràng và chi tiết. Người chơi phải từ mò vì thế yếu tố sáng tạo là yếu tố được đề cao trong game.

    The Sandbox
    Phần hình ảnh chưa mượt mà của Game The Sandbox

    Các trò chơi sandbox thường kết hợp song song với thế giới thực, cho phép người chơi di chuyển và phát triển trong thế giới đó. Nghe giống Pokemon Go nhể.

    Ethermon

    Game Ethermon là gì ?

    Cũng trong những tháng cuối năm 2017 một trong những Game NFT tiên phong trong thời gian đó là Etheremon . Dưới mạng lưới Ethereum và nhiều người chơi sau đó nó đã được đổi tên thành Ethermon trong năm 2019 với nhiều cải tiến nổi bật. Nó tạo ra một thế giới mà ở đó bạn có thể biến đổi, trao đổi, đào tạo v.v.. Thế giới ảo và công nghệ Blockchain nó thực sự mang để một trải nghiệm rất mới cho người chơi.

    Ethermon
    Thế giới thú cưng đầy màu sắc của Ethermon

    Game Ethermon có những thành phần chính sau:

    • Adventure: Đây là nơi chính mọi người có thể bắt thú.
    • Battle: khu vực các con thú có thể tập luyện và chiến đấu với nhau v…v…
    • Market: Chợ, có gì muốn bán thì đưa lên, có tiền muốn mua gì cũng có.
    • My collections: Liệt kê các con thú bạn đang sở hửu.
    • Quests to Earn: Giới thiệu người khác chơi và nhận quà là các con thú.
    • Leaderboard: Bảng xếp hạng người chơi.

    Hy vọng bài viết này sẽ giúp cho các bạn hiểu được phần nào Game NFT là gì ? Và tại sao Game NFT lại được nhiều người quan tâm đến như vậy. Chúc các bạn chơi và đầu tư đúng game để có thể đem lại lợi nhuận khủng cho mình trong thể loại Play to Earn này.

  • [Xử lý] Dung lượng VPS còn trống 50 %, nhưng Mysql và PHP báo đầy dung lượng

    Vào một ngày đẹp trời, chính xác thì mình đã trải qua nhiều ngày đẹp trời như vậy. Con VPS cùi Linode 5 “đô” 1 tháng của mình lăng ra đơ. Mình kiểm tra thì thì rõ ràng VPS còn trống dung lượng tầm 10GB hơn mà myswl và php lại báo đầy ổ cứng, không thể hoạt động. Zen vốn không phải là một người rành VPS, thế nên Zen đã chọn 1 giải pháp là đổi nhà cung cấp, vì nghĩ nó bị “lỗi”

    Và như các bạn biết sau một thời gian sử dụng thì tình trạng này vẫn bị. Và lần này mình quyết tìm cho ra vấn đề, không thể cứ bị lỗi này hoài mãi đc. Mình lần lượt dúng các câu lệnh kiểm tra dung lượng trên VPS.

    df -h
    du -sh /home/
    Sử dụng lệnh bên dưới để tìm 10 file/thư mục có dung lượng lớn nhất. Thay /home bằng đường dẫn bạn muốn
    
    du -a /home/ | sort -n -r | head -n 10
    du -a /home/hlsxxx3U9/hls.xxx.com/public_html/media | sort -n -r | head -n 10

    Mình lần lượt xoá các thư mục chưa file ko cần thiết (bài viết này mình dùng hostvn script)

    /root/.cache

    /root/.cache/composer/repo/https—repo.packagist.org
    /tmp

    Nhưng vẫn không hiệu quả. Vẫn là câu báo lỗi mariadb.service: Failed to run ‘start-pre’ task: No space left on device

    Cuối cùng thì mình đã tìm ra được vấn đề là do hết inodes (hiểu nôm na nó dư một kiểu tính số lượng file được phép có trên VPS).

    Câu lệnh check : df -i /dev/sda

    Nói ngoài lề một tí là nếu các bạn đã từng dùng những Hosting với thông số là không giới hạng dung lượng thì thật ra là nó có giới hạng 1 thứ. Đó là file, Khi trên hosting có tầm 100k file hay 200k file (tuỳ nơi) thì bạn cũng sẽ không thể sử dụng Hosting đó được nữa. Tụi bán dịch vụ hosting sẽ ko cho bạn upload file, lúc đó nó sẽ lôi cái quy định này ra nói chuyện với bạn.

    Đọc thêm: https://vsudo.net/blog/inodes-tren-unix-linux.html

    Quay lại vấn đề là làm thế nào để check inodes. Các bạn check bằng câu lệnh

    df -i /dev/sda

    Cuối dùng vấn đề của mình là code tạo ra qua nhiều session trong thư mục php. Biết nguyên nhân rồi thì xử đẹp nó thôi. Zen dùng lệnh rm -rf * để xoá tất tần tật về nó. Song song đó thì email hỏi thằng support của Linode thì được nó trả lời thế này.

    Greetings,

    Thanks for reaching out, I’d be happy to assist.

    I am sorry to hear you are having issues with your inode counts. As you may know, inodes are allocated to individual files and are completely separate from disk space usage. If you have a bunch of small size files, your inode count will run out before storage space does.

    First, I suggest deleting as many files as you can afford to delete. This includes any temp files that have been created on your Linode as these are usually in high quantities at low file sizes. Once you have deleted as many files as you could, reboot your machine and you should have more inodes freed up for use.

    You can find more information on inode exhaustion, here: https://stackoverflow.com/questions/653096/how-to-free-inode-usage

    Another thing you can do is Resize your Linode to a larger plan size. This will increase the size of your disks as well as increase the inode limit inside of your disk. However, if there is something inside of your configuration that is causing these inodes to be filled quickly, this might not be the best solution as they will just fill up fast and put you in the same situation as you are currently. It might be best to see what is filing your Linode with these files first and address that before considering a Linode plan resize.

    For more information on inodes, please check out the following page: https://en.wikipedia.org/wiki/Inode

    I hope this has been helpful and informative for you. As always, please feel free to reach out to us with any further questions or concerns you may have. We are always here to help you!

    Thank You Scott Linode Support Team

    Đại loại dịch ra là

    Cảm ơn bạn đã liên hệ, tôi rất vui được hỗ trợ.

    Tôi rất tiếc khi biết rằng bạn đang gặp sự cố với số lượng inode của mình. Như bạn có thể biết, inodes được phân bổ cho các tệp riêng lẻ và hoàn toàn tách biệt với việc sử dụng không gian đĩa. Nếu bạn có một loạt các tệp kích thước nhỏ, số lượng inode của bạn sẽ hết trước khi dung lượng lưu trữ còn.

    Đầu tiên, tôi khuyên bạn nên xóa càng nhiều tệp càng tốt. Điều này bao gồm bất kỳ tệp tạm thời nào đã được tạo trên Linode của bạn vì chúng thường có số lượng lớn ở kích thước tệp thấp. Khi bạn đã xóa nhiều tệp nhất có thể, hãy khởi động lại máy của bạn và bạn sẽ giải phóng thêm inodes để sử dụng.

    Bạn có thể tìm thêm thông tin về sự cạn kiệt inode, tại đây:https://stackoverflow.com/questions/653096/how-to-free-inode-usage

    Một điều khác bạn có thể làm là Thay đổi kích thước Linode của bạn thành kích thước gói lớn hơn. Điều này sẽ làm tăng kích thước của đĩa cũng như tăng giới hạn inode bên trong đĩa của bạn. Tuy nhiên, nếu có thứ gì đó bên trong cấu hình của bạn khiến các inodes này nhanh chóng bị lấp đầy, thì đây có thể không phải là giải pháp tốt nhất vì chúng sẽ đầy nhanh và khiến bạn rơi vào tình trạng giống như hiện tại. Tốt nhất bạn nên xem điều gì đang nộp Linode của bạn với các tệp này trước và giải quyết vấn đề đó trước khi cân nhắc thay đổi kích thước gói Linode.

    Để biết thêm thông tin về inodes, vui lòng xem trang sau: https://en.wikipedia.org/wiki/Inode

    Tôi hy vọng điều này sẽ hữu ích và nhiều thông tin cho bạn. Như thường lệ, vui lòng liên hệ với chúng tôi nếu bạn có thêm bất kỳ câu hỏi hoặc thắc mắc nào. Chúng tôi luôn ở đây để giúp bạn!

    Cảm ơn bạn

    Hy vọng bài viết này sẽ giúp ích được cho các bạn nào bị vấn đề giống mình.

  • [Xử lý] Lỗi Mixed Content: The page at … was loaded over HTTPS, but requested an insecure frame … This request has been blocked; the content must be served over HTTPS.

    Mixed Content: The page at … was loaded over HTTPS, but requested an insecure frame hay còn gọi là nginx reverse proxy mixed content(http, https) Trong trường hợp bạn sử dụng nginx như một giải pháp proxy hay cân bằng tải.

    Nêu bạn bị lỗi này thì thêm cấu hình sau vào nginx

    # Xử lý lỗi Mixed Content: The page at ... was loaded over HTTPS, but requested an insecure frame
    
    proxy_set_header X-Forwarded-Proto $scheme;
    add_header Content-Security-Policy upgrade-insecure-requests;

    Sau đó khởi động lại nginx bằng lệnh : service nginx restart