Nginx adalah server populer dan proksi terbalik yang digunakan untuk merutekan dan mengarahkan lalu lintas web. Menyiapkan Nginx sebagai reverse proxy dapat memakan waktu dan rentan terhadap kesalahan dan kesalahan konfigurasi.
Nginx Proxy Manager (NPM) adalah sistem manajemen proksi terbalik yang berjalan di Docker. NPM didasarkan pada server Nginx dan menyediakan antarmuka web yang bersih, efisien, dan indah kepada pengguna untuk pengelolaan yang lebih mudah. Alat ini mudah diatur dan tidak mengharuskan pengguna mengetahui cara bekerja dengan server Nginx atau sertifikat SSL. NPM adalah alat sumber terbuka yang dikelola oleh pengembang dari seluruh dunia. Ini sangat cocok untuk lingkungan server kecil dan lingkungan laboratorium pribadi. Tutorial ini akan fokus untuk menunjukkan kepada Anda cara menerapkan manajer proxy Nginx:
Disini saya mencoba menjelaskan cara install Nginx Proxy Manager dengan bantuan Docker dan Docker-Compose.
Apa yang perlu Anda lakukan sebelum kita mulai:
- Server linux diinstal dengan Docker dan Docker-Compose
- Izin Root (Izin Sudo)
Jika Anda memerlukan bantuan tentang cara menginstal Docker dan Docker-Compose, Anda dapat merujuk ke dokumentasi resmi.
Setelah Anda menyiapkannya, mari kita mulai.
Buat direktori dan file yang diperlukan
mkdir proxy
cd proxy
nano docker-compose.yml
Anda dapat menyalin dan menempelkan kode di bawah ini untuk docker-compose.yml
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
container_name: proxy-manager
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./config.json:/app/config/production.json
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- proxydb
networks:
- nginx-proxy
proxydb:
image: 'yobasystems/alpine-mariadb:latest'
container_name: proxy-manager-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'somestrongrootpassword'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'user-from-config.json'
MYSQL_PASSWORD: 'password-from=config.json'
volumes:
- ./data/mysql:/var/lib/mysql
networks:
- nginx-proxy
volumes:
mysql:
data:
letsencrypt:
networks:
nginx-proxy:
external:
name: nginx-proxy-network
Buat file lain bernama config.json di direktori yang sama
nano config.json
Salin konten di bawah ini ke file.
{
"database": {
"engine": "mysql",
"host": "proxy-manager-db",
"name": "npm",
"user": "someusername",
"password": "somestrongpassword",
"port": 3306
}
}
Kita hampir selesai dengan konfigurasinya, sekarang kita perlu menjalankan perintah di bawah ini untuk mengaktifkan buruh pelabuhan
docker-compose up -d
Masuk dengan pengguna administrator default
navigasikan ke http://"Server-IP":81 untuk mengakses proxy. login dengan nama pengguna dan kata sandi default di bawah ini.
Email: [email protected]
Password: changeme
Sekarang Anda memiliki Nginx Proxy Manager yang berfungsi penuh;)