9router/gitbook/content/vi/deployment/localhost.md
2026-05-11 11:50:24 +07:00

2.8 KiB

🏠 Triển khai Localhost

Chạy 9Router trên máy cá nhân để phát triển và dùng cá nhân.


📦 Cài đặt

Cài đặt 9Router toàn cục qua npm:

npm install -g 9router

Yêu cầu:

  • Node.js 20 trở lên
  • npm 9 trở lên

🚀 Khởi động Server

Khởi động 9Router với một lệnh duy nhất:

9router

Dashboard sẽ tự động mở trong trình duyệt tại http://localhost:3000

Cấu hình mặc định:

  • Dashboard: http://localhost:3000
  • API Endpoint: http://localhost:20128/v1
  • Data Directory: ~/.9router

🔧 Cấu hình

Custom Data Directory

Đặt thư mục data tùy chỉnh qua biến môi trường:

DATA_DIR=/path/to/data 9router

Custom Port

Port API (20128) và port dashboard (3000) được cấu hình trong application. Để đổi, bạn cần sửa source code hoặc dùng biến môi trường nếu được hỗ trợ.


🛑 Dừng Server

Nhấn Ctrl+C trong terminal đang chạy 9Router.

# In the terminal running 9router
^C  # Press Ctrl+C

Server sẽ shutdown an toàn và lưu mọi dữ liệu.


🔄 Khởi động lại Server

Chỉ cần chạy lệnh start lại:

9router

Mọi cấu hình, API keys và combos được giữ lại trong thư mục data.


📊 Cập nhật 9Router

Cập nhật phiên bản mới nhất:

npm update -g 9router

Kiểm tra version hiện tại:

npm list -g 9router

🔍 Troubleshooting

Port đã được dùng

Nếu port 20128 hoặc 3000 đã được dùng:

# Find process using the port (macOS/Linux)
lsof -i :20128
lsof -i :3000

# Kill the process
kill -9 <PID>

Lỗi Permission

Nếu gặp lỗi permission khi cài đặt:

# Use sudo (not recommended)
sudo npm install -g 9router

# Or fix npm permissions (recommended)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Vấn đề Data Directory

Nếu thư mục data không truy cập được:

# Check permissions
ls -la ~/.9router

# Fix permissions
chmod 755 ~/.9router

📁 Cấu trúc Data Directory

~/.9router/
├── db.json           # Main database (providers, combos, settings)
├── logs/             # Application logs
└── cache/            # Temporary cache files

Backup Data:

# Backup
cp -r ~/.9router ~/.9router.backup

# Restore
cp -r ~/.9router.backup ~/.9router

🔗 Bước tiếp theo