Ứng dụng Nginx Proxy Manager làm giao diện quản trị Nginx Proxy

30/12/2020

Nginx Proxy manager là công cụ hỗ trợ quản trị Nginx thông qua giao diện đồ họa. Nginx proxy manager cho phép các bạn cấu hình nhanh Nginx Server qua giao diện thân thiện bắt mắt.

Tổng quan

Nginx (phát âm engine-ex) là bộ mã nguồn mở nối tiếng, được sử dụng như Web Server (HTTP Server) hoặc reverse proxy, hay làm proxy server cho các dịch vụ IMAP/POP3, ngoài ra nginx còn được sử dụng làm HTTP Cache server, Load balancer. Nginx được thiết kế với hiệu năng xử lý cao, ổn định, nhiều tính năng, cấu hình đơn giản, sử dụng ít tài nguyên hệ thống. Nginx xuất bản năm 2011 và được phát triển bởi Igor Sysoev.

Nginx Proxy manager là công cụ hỗ trợ quản trị Nginx thông qua giao diện đồ họa. Nginx proxy manager cho phép các bạn cấu hình nhanh Nginx Server qua giao diện thân thiện bắt mắt.

Chuẩn bị

Phân hoạch địa chỉ

Mô hình triển khai

Triển khai

Phần 1: Thực hiện trên node Apache Web Server

Tắt SELinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config init 6

Bước 1: Cài đặt Apache Web Server

yum install httpd -y echo '<h1>Chào mừng tới Blog Sandclock</h1>' > /var/www/html/index.html 

Bước 2: Khởi động dịch vụ

systemctl start httpd systemctl enable httpd

Bước 3: Kiểm tra

curl -I 33.5.6.15 curl 33.5.6.15 

Kết quả

[[email protected] ~]# curl -I 33.5.6.15HTTP/1.1 200 OKDate: Wed, 14 Aug 2019 16:51:26 GMTServer: Apache/2.4.6 (CentOS)Last-Modified: Tue, 13 Aug 2019 17:11:35 GMTETag: "2a-59002bb97fe20"Accept-Ranges: bytesContent-Length: 42Content-Type: text/html; charset=UTF-8  [[email protected] ~]# curl 33.5.6.15 Chào mừng tới Blog Sandclock

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

firewall-cmd --zone=public --add-service=http firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --reload

Kiểm tra

firewall-cmd --list-all

Kểt quả

[[email protected] ~]# firewall-cmd --list-all  public    target: default    icmp-block-inversion: no    interfaces:    sources:    services: ssh dhcpv6-client http    ports:    protocols:    masquerade: no    forward-ports:    source-ports:    icmp-blocks:    rich rules:

Phần 2: Thực hiện trên node Nginx Proxy Manager

Lưu ý: - Mình sẽ triển khai Nginx Proxy Manager qua phiên bản đã được đóng gói thành Container. Đồng thời sẽ sử dụng Docker và Docker Compose để khởi tạo dịch vụ

Bước 1: Cài đặt Docker

sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo  sudo yum install -y docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker

Kiểm tra dịch vụ Docker

sudo systemctl status docker sudo docker run hello-world

Kết quả

[[email protected] ~]# sudo systemctl status docker ● docker.service - Docker Application Container Engine    Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)    Active: active (running) since Tue 2019-08-13 22:44:26 +07; 3min 11s ago      Docs: https://docs.docker.com Main PID: 5272 (dockerd)    CGroup: /system.slice/docker.service            └─5272 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock  Hint: Some lines were ellipsized, use -l to show in full.  [[email protected] ~]# sudo docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 1b930d010525: Pull complete Digest: sha256:6540fc08ee6e6b7b63468dc3317e3303aae178cb8a45ed3123180328bcc1d20f Status: Downloaded newer image for hello-world:latest   Hello from Docker! This message shows that your installation appears to be working correctly.   To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.     (amd64) 3. The Docker daemon created a new container from that image which runs the     executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it     to your terminal.   To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash   Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/   For more examples and ideas, visit: https://docs.docker.com/get-started/ 

Bước 2: Cài đặt Docker Compose

curl -O https://raw.githubusercontent.com/sitespeedio/sitespeed.io/master/docker/docker-compose.yml  sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose  sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose docker-compose --version

Kết quả

[[email protected] ~]# docker-compose --version docker-compose version 1.24.1, build 4667896b

Bước 3: Cài đặt Nginx Proxy Manager

Bước 3.1: Cài đặt Git

yum install git -y

Bước 3.2: Clone repo Nginx Proxy Manager

git clone https://github.com/jc21/nginx-proxy-manager.git

Kết quả

[[email protected] ~]# git clone https://github.com/jc21/nginx-proxy-manager.git Cloning into 'nginx-proxy-manager'… remote: Enumerating objects: 14, done. remote: Counting objects: 100% (14/14), done. remote: Compressing objects: 100% (14/14), done. remote: Total 3446 (delta 1), reused 4 (delta 0), pack-reused 3432 Receiving objects: 100% (3446/3446), 1.39 MiB | 956.00 KiB/s, done. Resolving deltas: 100% (2161/2161), done.

Bước 3.3: Khởi động Nginx Proxy Manager bằng docker compose

cd nginx-proxy-manager/doc/example/ docker-compose up -d

Kết quả

[[email protected] example]# docker-compose up -d  Creating example_db_1 ... done Creating example_app_1 ... done 

Bước 3.4: Kiểm tra

docker ps 

Kết quả

[[email protected] example]# docker ps  CONTAINER ID        IMAGE                             COMMAND                  CREATED              STATUS                          PORTS                                                      NAMES  f5c6ab12d2be        jc21/nginx-proxy-manager:latest   "/init"                  About a minute ago   Up About a minute (unhealthy)   0.0.0.0:80-81->80-81/tcp, 0.0.0.0:443->443/tcp, 9876/tcp   example_app_1  6ae6119c1d5d        mariadb:latest                    "docker-entrypoint.s…"   About a minute ago   Up About a minute               3306/tcp                                                   example_db_1

Kiểm tra giao diện Web

Để kiểm tra, mình sẽ truy cập vào Port 80 và 81. Trong đó Port 80 là Port của Nginx Proxy Server, Port 81 là Port của Nginx Proxy Manager

Kiểm tra Port 80, truy cập http://10.10.11.64/

Kiểm tra Port 81, mình sẽ truy cập http://10.10.11.64:81/. Tiếp theo mình sẽ truy cập trang quản trị của Nginx Proxy Manager và cấu hình dịch vụ.

Truy cập với mật khẩu mặc định

Email:    [email protected] Password: changeme 

Sau khi đăng nhập thành công, chúng ta thực hiện thao tác cập nhật thông tin

Tiếp tục cập nhật mật khẩu

Màn quản trị tài khoản

Truy cập màn tạo mới Proxy Host

Tiếp theo, chọn “Add Proxy Host”, thêm mới thông tin máy chủ Apache Web Server.

Phần 3: Thực hiện trên node Ubuntu 18.04

Cấu hình file /etc/host (Sử dụng quyền root)

echo '10.10.11.64 proxy.lab.com' > /etc/hosts

Kểt quả

Truy cập Web với đường dẫn proxy.lab.com

Tổng kết

Tới đây, mình đã hướng dẫn các bạn triển khai Nginx Proxy Manager để quản trị, cấu hình Proxy cho dịch vụ Nginx thông qua giao diện thân thiện, dễ sử dụng. Cám ơn các bạn đã quan tâm. Ngoài ra bạn có thể tham khảo bài viết tổng quan về Nginx Proxy Manager bên dưới.

Thân ái và hẹn gặp lại.

Tham khảo

Sandclock IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, Sandclock IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

[DirectAdmin] Giới thiệu và cài đặt Direct Admin (phần 1)

Direct Admin được giới thiệu là phần mềm control panel mạnh mẽ và dễ sử dụng để quản trị...
30/12/2020

Hướng dẫn monitor Tomcat trên Zabbix 5.0

Cài đặt và cấu hình I. Cấu hình trên Zabbix server 1. Cài đặt và cấu hình Zabbix Java gateway Để...
25/12/2020

Hướng dẫn cấu hình Rclone kết nối với Dropbox

Ở bài trước, chúng ta đã tìm hiểu cách cấu hình rclone kết nối qua tài khoản ftp. Bài viết này...
30/12/2020
Bài Viết

Bài Viết Mới Cập Nhật

Hướng dẫn chuyển đổi windows server windows evaluation to standard và active windows server 2008 + 2012 + 2016 + 2019
26/10/2021

How to Update Ubuntu Linux
24/10/2021

Squid Proxy Manager cài đặt và quản lý Proxy Squid tự động trên ubuntu
20/10/2021

Hướng dẫn cài đặt Apache CloudStack 4.15.2.0
19/10/2021

Hướng dẫn ký file PDF bằng chữ ký số (chữ ký điện tử) và sửa lỗi mới nhất 2021 foxit reader
19/10/2021