Hướng dẫn cài đặt Nginx Proxy Manager

Điểm nổi bật của Nginx Proxy Manager

  • Giao diện quản trị đẹp và an toàn dựa trên Tabler
  • Dễ dàng tạo miền chuyển tiếp , chuyển hướng, luồng và máy chủ 404 mà không cần biết gì về Nginx
  • SSL miễn phí, sử dụng Let’s Encrypt hoặc cung cấp chứng chỉ SSL tùy chỉnh của riêng bạn
  • Danh sách truy cập và Xác thực HTTP cơ bản cho máy chủ của bạn
  • Cấu hình Nginx nâng cao có sẵn cho người dùng chuyên sâu
  • Quản lý người dùng, quyền và nhật ký.

Túm lại: Nginx Proxy Manager giúp bạn kết nối tên miền với docker một cách dễ dàng, bao gồm SSL. Đồng thời, nó cũng có thể phân phối tệp tĩnh.

Bắt đầu thôi. Hướng dẫn dưới đây có thể sử dụng với VPS hoặc WSL2.

:whale: Yêu cầu: Đã cài đặt Docker, Docker Compose

1. Thiết lập file docker-compose.yml

Trước tiên, hãy tạo thư mục nginxproxymanager. Sau đó tạo tệp docker-compose.yml trong thư mục vừa tạo với nội dung sau:

version: '3.9'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: always
    networks:
      - nginxproxy
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
      
networks:
  nginxproxy:
    external: true
    name: nginx-proxy-man

Trên đây là cấu hình cơ bản nhưng đủ dùng.

Đặc biệt ghi nhớ cho mình 2 đoạn này, nó sẽ được sủ dụng trong các tệp docker-compose.yaml khác:

    ...
    networks:
      - nginxproxy
    ...

networks:
  nginxproxy:
    external: true
    name: nginx-proxy-man

2. Tạo mạng docker dùng chung

docker network create nginx-proxy-man

Đây chính là mạng được kê khai trong tệp docker-compose.yml. Các container được khai báo mạng này đều có thể giao tiếp được với nhau.

3. Chạy lệnh sau để cài đặt:

(trong thư mục nginxproxymanager)

docker compose up -d

4. Đăng nhập trang quản trị Nginx Proxy Manager

Truy cập: http://localhost:81 và sử dụng thông tin đăng nhập sau:

Email address: admin@example.com
Password: changeme

Có thể thay đổi Email và Mật khẩu.

5. Kết luận

Đó là cách cài đặt Nginx Proxy Manager cơ bản nhưng đầy đủ. Ở bài sau chúng ta sẽ tìm hiểu cách kết nối Tên miền với ứng dụng docker, cụ thể là Django. Đặc biệt là cách phân phối tệp tĩnh như hình ảnh. Sẽ có nhiều điều thú vị mà mình chưa thấy website nào đề cập đến.