Tất cả hệ thống hoạt động bình thường 21 tiền mã hóa được chấp nhận · Hoan nghênh Monero Chính sách không KYC
ChainVPS

Xuất bản · không KYC

Lưu Trữ Ghost Trên VPS Offshore

Ghost là một nền tảng xuất bản nhanh, hiện đại mà bạn có thể tự lưu trữ chỉ trong vài phút trên một VPS offshore, giữ cho bài viết, người đăng ký và các khoản thanh toán của bạn tách biệt khỏi các dịch vụ đám mây của bên thứ ba.

Đó là gì

Ghost là một CMS mã nguồn mở dựa trên Node.js được xây dựng cho blog, bản tin (newsletter) và các trang thành viên, với tính năng đăng ký nhận email tích hợp sẵn, các gói trả phí và trình soạn thảo Markdown gọn gàng. Ghost được phân phối dưới dạng Docker image chính thức, sử dụng MySQL 8 làm cơ sở dữ liệu và phục vụ trang web của bạn qua cổng riêng phía sau một reverse proxy.

Tại sao nên lưu trữ offshore

Chạy Ghost trên một VPS không-KYC, thanh toán bằng crypto có nghĩa là ấn phẩm của bạn không bị gắn với một tài khoản có thể bị liên kết danh tính, gỡ bỏ khỏi nền tảng, hoặc bàn giao theo yêu cầu. Với các vị trí đặt máy chủ thuộc nhóm privacy offshore và băng thông không giới hạn, bạn giữ toàn quyền kiểm soát nội dung, danh sách thành viên và các khoản thanh toán Stripe mà không có nhà cung cấp hosting nào kiểm duyệt lời nói của bạn.

Triển khai

Một cấu hình mẫu hoạt động thực tế

Sao chép nội dung này vào một instance ChainVPS mới. Thay thế các placeholder, sau đó khởi chạy.

docker-compose.yml
services:
  ghost:
    image: ghost:5-alpine
    restart: always
    ports:
      # Bind to localhost only; terminate TLS in a reverse proxy (nginx/Caddy)
      - "127.0.0.1:2368:2368"
    environment:
      url: https://blog.example.com
      NODE_ENV: production
      database__client: mysql
      database__connection__host: db
      database__connection__port: 3306
      database__connection__user: ghost
      database__connection__password: CHANGE_ME_DB_PASSWORD
      database__connection__database: ghostdb
      # Optional outbound SMTP for member/newsletter email:
      # mail__transport: SMTP
      # mail__options__host: smtp.example.com
      # mail__options__port: 587
      # mail__options__auth__user: [email protected]
      # mail__options__auth__pass: CHANGE_ME_SMTP
    volumes:
      - ghost-content:/var/lib/ghost/content
    depends_on:
      - db

  db:
    image: mysql:8.0
    restart: always
    command: --default-authentication-plugin=caching_sha2_password
    environment:
      MYSQL_ROOT_PASSWORD: CHANGE_ME_ROOT_PASSWORD
      MYSQL_DATABASE: ghostdb
      MYSQL_USER: ghost
      MYSQL_PASSWORD: CHANGE_ME_DB_PASSWORD
    volumes:
      - ghost-db:/var/lib/mysql

volumes:
  ghost-content:
  ghost-db:

# Deploy:
#   apt-get update && apt-get install -y docker.io docker-compose-v2
#   docker compose up -d
# Then point a reverse proxy (Caddy/nginx) at 127.0.0.1:2368 to add HTTPS,
# and set `url:` to your real https:// domain before first boot.

Tường lửa

Các cổng cần mở

CổngGiao thứcMục đích
2368TCPCổng ứng dụng HTTP của Ghost - giữ ở chế độ chỉ lắng nghe trên 127.0.0.1 và đưa qua reverse proxy, không bao giờ để lộ ra công khai
443TCPHTTPS phục vụ công khai thông qua reverse proxy của bạn (Caddy/nginx)
80TCPHTTP dùng để cấp chứng chỉ ACME/Let's Encrypt và chuyển hướng sang cổng 443
3306TCPMySQL - chỉ dùng trong mạng nội bộ Docker, không bao giờ công bố ra host

Chọn đúng cấu hình

Gói nào bạn cần

Nhẹ

VPS Nano/Small (1-2 vCPU, 2 GB RAM)

Blog cá nhân hoặc bản tin quy mô nhỏ. Ghost + MySQL chạy thoải mái; nên thêm 1 GB swap để dự phòng an toàn.

Trung bình

VPS Pro (2-4 vCPU, 4-8 GB RAM)

Ấn phẩm hoạt động tích cực với các gói thành viên trả phí, bài viết nhiều hình ảnh và gửi email thường xuyên. Có dư địa cho cache MySQL và các đợt tăng đột biến lưu lượng truy cập.

Nặng

Dedicated (lõi CPU riêng, 16 GB+ RAM, NVMe)

Trang web lưu lượng cao hoặc mô hình nhiều blog với thư viện media lớn; tách riêng MySQL và phục vụ media qua cache để đảm bảo độ trễ ổn định.

Vị trí tốt nhất: Đối với một ấn phẩm cần duy trì hoạt động bất kể áp lực gỡ bỏ, hãy chọn một vị trí thuộc nhóm privacy-tier của ChainVPS: Iceland (IS), Thụy Sĩ (CH), Romania (RO), Moldova (MD), Hà Lan (NL), hoặc Luxembourg (LU). Thụy Sĩ và Iceland có luật bảo vệ báo chí/ngôn luận và quyền riêng tư mạnh mẽ; Hà Lan và Luxembourg mang lại độ trễ thấp khi tiếp cận độc giả châu Âu, cùng băng thông không giới hạn cho các trang nhiều hình ảnh và bản tin.

Khóa chặt bảo mật

Checklist tăng cường bảo mật

  • Không bao giờ công bố cổng 2368 hoặc 3306 ra 0.0.0.0. Giữ Ghost chỉ lắng nghe trên 127.0.0.1 và MySQL chỉ trong mạng nội bộ Docker; chỉ để lộ trang web thông qua một reverse proxy TLS (Caddy tự động cấp chứng chỉ Let's Encrypt, hoặc dùng nginx + certbot).
  • Đặt biến môi trường `url` thành tên miền https:// thật của bạn trước lần khởi động đầu tiên. Ghost nhúng URL này vào các liên kết tài nguyên, và việc thay đổi sau đó đòi hỏi phải cập nhật cơ sở dữ liệu và xóa cache.
  • Khóa chặt bảng quản trị: bắt buộc dùng mật khẩu dài và duy nhất ngay từ lần thiết lập đầu tiên, đồng thời giới hạn truy cập /ghost/ bằng danh sách IP cho phép hoặc basic-auth ở tầng proxy nếu bạn đăng bài từ các vị trí cố định. Bật tính năng 2FA tích hợp sẵn cho nhân viên của Ghost.
  • Sao lưu cả hai volume theo lịch định kỳ: dump MySQL (`docker compose exec db mysqldump -u ghost -p ghostdb`) và lưu trữ volume content (`/var/lib/ghost/content`, nơi chứa hình ảnh và theme). Gửi các bản sao lưu đã mã hóa đến storage của ChainVPS hoặc ra ngoài máy chủ.
  • Cố định (pin) các tag image (ghost:5-alpine, mysql:8.0) và chỉ cập nhật một cách có chủ đích bằng `docker compose pull && docker compose up -d`; kiểm tra khả năng tương thích của theme/tích hợp trước khi nhảy sang phiên bản Ghost lớn hơn, và luôn giữ tính năng chống DDoS đi kèm gói dịch vụ được bật ở tầng biên (edge).

Câu hỏi

Hosting Ghost — FAQ

Ghost có cần MySQL không, hay tôi có thể dùng SQLite?

Ghost 5 chính thức yêu cầu MySQL 8 cho môi trường production. File compose ở trên đã tự động cấu hình sẵn MySQL 8. SQLite chỉ được hỗ trợ cho môi trường phát triển cục bộ và không được khuyến nghị cho một triển khai offshore đang hoạt động thực tế.

Làm thế nào để thêm HTTPS?

Bản thân Ghost chỉ phục vụ HTTP thuần trên cổng 2368. Hãy đặt một reverse proxy phía trước - Caddy là lựa chọn đơn giản nhất (tự động cấp và gia hạn chứng chỉ Let's Encrypt), hoặc dùng nginx kết hợp certbot. Trỏ nó tới 127.0.0.1:2368 và đặt `url` của Ghost thành tên miền https:// của bạn.

Tôi có thể gửi bản tin (newsletter) mà không để lại dấu vết danh tính qua bên thứ ba không?

Ghost gửi email cho thành viên qua bất kỳ nhà cung cấp SMTP nào hoặc Mailgun. Với một cấu hình chú trọng quyền riêng tư, hãy dùng một SMTP relay chấp nhận thanh toán bằng crypto hoặc đăng ký tối giản, rồi cấu hình qua các biến môi trường mail__. Email giao dịch vẫn cần một tên miền gửi có khả năng gửi tin cậy với SPF/DKIM.

Tôi cần bao nhiêu dung lượng ổ đĩa?

Phần lõi của Ghost cộng với MySQL khá nhỏ (chỉ vài trăm MB). Mức tăng trưởng thực sự đến từ hình ảnh và video được tải lên trong volume content. Một blog nhẹ chạy tốt với 20-40 GB; các trang nhiều hình ảnh hoặc có hệ thống thành viên nên tính đến lưu trữ NVMe và sao lưu định kỳ cho volume content.

Trang web của tôi có chịu được các đợt tăng đột biến lưu lượng hoặc tấn công DDoS không?

Các gói của ChainVPS đều bao gồm bảo vệ chống DDoS ở tầng biên mạng, và băng thông không giới hạn nên một bài viết lan truyền (viral) sẽ không phát sinh phí vượt mức. Đối với các đợt tăng đột biến số lượng request thuần túy, hãy bật cache ở tầng proxy cho lượt xem trang offshore và nâng cấp lên gói VPS Pro hoặc dedicated nếu bạn thường xuyên gặp mức đồng thời cao.

Khởi tạo ngay Ghost
trong 60 giây tới.

Băng thông không giới hạn · Đã bao gồm DDoS · 21 loại tiền điện tử · Không KYC.