Nginx Proxy Manager (NPM) yra galinga ir patogi sąsaja, skirta atvirkštiniams proxy serveriams valdyti naudojant Nginx. Tai puikus sprendimas savarankiškai paslaugas talpinantiems naudotojams ir sistemų administratoriams, norintiems paprasčiau valdyti SSL sertifikatus bei domenų nukreipimą. NPM leidžia saugiai talpinti kelias paslaugas už vieno IP adreso, naudojantis tvarkinga valdymo panele ir automatiniu Let's Encrypt palaikymu.
0. Reikalavimai
Prieš tęsdami įsitikinkite, kad turite:
Minimaliai įdiegtą AlmaLinux arba Rocky Linux 8 ar 9 versiją;
Root arba sudo naudotojo prieigą;
Įdiegtus Docker ir Docker Compose;
Domeno vardą, nukreiptą į jūsų serverio IP adresą;
Atidarytus 80 ir 443 ugniasienės prievadus.
Bazines CLI ir DNS įrašų žinias.
1. Diegimas
1.1. Sistemos atnaujinimas
Pradėkite nuo sistemos paketų indekso atnaujinimo, kad visi esami paketai būtų naujausių versijų:
sudo dnf update -y && sudo dnf install -y epel-release
1.2. Docker ir Docker Compose diegimas
AlmaLinux 9 pagal numatytuosius nustatymus Docker paketo saugykloje neturi. Todėl pirmiausia reikia pridėti Docker saugyklą prie sistemos ir įdiegti Docker variklį naudojant šias komandas:
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
Įdiekite Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Įsitikinkite, kad Docker ir Compose įdiegti teisingai.
docker --version
docker-compose --version
1.3. NPM Docker Compose katalogo sukūrimas
Tai bus jūsų darbinis katalogas konfigūracijai ir išliekamiesiems duomenims saugoti.
mkdir -p ~/npm && cd ~/npm
1.4. „docker-compose.yml“ failo sukūrimas
Sukurkite failą naudodami pasirinktą redaktorių, pavyzdžiui, Nano arba Vim. Ši konfigūracija apibrėžia NPM programą, jos MariaDB duomenų bazę, reikalingus prisijungimo duomenis ir prievadus.
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81'
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
db:
image: 'jc21/mariadb-aria:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
MARIADB_AUTO_UPGRADE: '1'
volumes:
- ./mysql:/var/lib/mysql
Pakeiskite slaptažodžius stipriais ir saugiais.
1.5. NPM paleidimas
Ši komanda atsisiunčia atvaizdus ir paleidžia NPM bei jo duomenų bazę fone.
docker compose up -d
2. Prisijungimas prie web sąsajos
Valdymo panelėje galite pilnai valdyti proxy įrašus, sertifikatus ir naudotojų nustatymus.
Atidarykite naršyklę ir eikite į http://<your-server-ip>:81
Prisijunkite naudodami numatytuosius prisijungimo duomenis:
Email: [email protected]
Password: changeme
Iškart po prisijungimo sistema paprašys juos pakeisti.
Dabar galite kurti pirmąjį proxy įrašą. Pakeiskite prisijungimo duomenis ir eikite į “Dashboard” -> “Add Proxy Host”:
Įrašykite domeno vardą, pasirinkite schemą, pagal kurią veikia jūsų dabartinė web aplikacija, nurodykite serverio IP adresą ir jo prievadą. Pažymėkite “Block Common Exploits” ir nustatykite, kad būtų išduotas SSL sertifikatas. Atminkite, kad domenas turi būti nukreiptas į jūsų serverio IP adresą!
