Nginx Proxy Yöneticisi için basit kurulum kılavuzu

0 Hisse senetleri
0
0
0
0

giriiş

Nginx web sunucusunu kullanıcı arayüzü üzerinden kullanmayı kolaylaştırmak için geliştirilmiş açık kaynaklı bir yazılım olan Nginx Proxy Manager'ı kuracağız. Nginx Proxy Manager ile proxy sunucuları oluşturabilir, sunucuları yönlendirebilir, akışlar ve 404 sunucuları oluşturabilirsiniz.

Ön koşullar
  • Özel IPv4 adresine sahip bir sunucu
  • Linux ve terminal hakkında temel bilgi
  • 80, 81, 443 portları mevcuttur.

Adım 1 – Yeni bir sunucu oluşturun

Örneğin Hotsnr ile yeni bir sunucu oluşturun

Sunucunuzu oluştururken, Docker tarafından desteklenen bir işletim sistemi seçtiğinizden emin olun. Bu eğitimde Ubuntu 24.04 kullanılacaktır. Ayrıca, çok fazla trafiği olmayan bir ters proxy için standart bir plan yeterli olacaktır.

Ayrıca bir SSH anahtarı eklemeniz de önerilir.

Güvenlik nedeniyle kök kullanıcı kullanmanız önerilmez. Bunun yerine yeni bir kullanıcı oluşturmalı ve bu kullanıcıyı sudo grubuna eklemelisiniz.

Adım 2 – Docker ve Nginx Proxy Yöneticisini yükleyin

  • Sunucunuza bağlanılıyor

Öncelikle yeni sunucunuza SSH üzerinden bağlanarak başlayabilirsiniz.

ssh holu@<server_ip>
  • Docker Kurulumu

Ubuntu'ya Docker yüklemek için aşağıdaki komutları çalıştırın. Sunucunuzda farklı bir işletim sistemi varsa, doğru komutları aradığınızdan emin olun (bkz. Docker Yükleme - Desteklenen Platformlar).

GPG anahtarını ve Docker deposunu ekleyin:

# Uninstall old versions
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# Install prerequisites
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
# Add Docker’s official GPG key
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Set up stable repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Docker Engine ve Docker Compose'u yükleyin:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Test the installation
docker --version
docker compose version

Docker ve Docker Compose'u başarıyla kurduk.

Kullanıcınızı Docker grubuna ekleyin:

sudo usermod -aG docker <user>

Kullanıcı gruplarınızı güncellemek için oturumunuzu kapatıp tekrar oturum açın.

Şimdi Nginx Proxy Manager'ı kurmamız gerekiyor.

  • Nginx Proxy Yöneticisini yükleyin

Nginx proxy yöneticisi için yeni bir dizin oluşturun:

mkdir -p npm
cd npm

Aşağıda listelenen komutları çalıştırın.

# Create a docker-compose configuration file
touch docker-compose.yml
# Editing the file
nano docker-compose.yml

Aşağıdaki içerikleri aşağıda listelenen dosyaya yerleştirin.

version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
# network_mode: 'host'

network_mode hakkında not:

  • Eğer genel IP'lere sahip harici sunuculara proxy yapmayı planlıyorsanız network_mode'a ihtiyacınız yoktur.
  • Yerel Docker kapsayıcılarını proxy'lemeyi planlıyorsanız ve 127.0.0.1'e işaret etmek istiyorsanız: , network_mode'a ihtiyacınız var ve satırın başındaki karma sembolünü kaldırmanız gerekiyor.

Şimdi aşağıdaki komutu çalıştırarak yığını yukarı getirmemiz gerekiyor.

docker compose up -d

Artık aşağıdaki bilgilerle yönetici arayüzüne erişebilmeliyiz.

203.0.113.1 adresini genel IPv4 adresinizle değiştirin

Yönetim Kullanıcı Arayüzü: http://203.0.113.1:81

Varsayılan yönetici kullanıcısı:

Email: [email protected]
Password: changeme

Adım 3 – Yönetici arayüzüne erişin

Varsayılan kullanıcı ile giriş yaptıktan hemen sonra profilinizi düzenlemeli ve şifrenizi değiştirmelisiniz.

Yönetici giriş sayfası aşağıdaki görseldeki gibi görünmelidir.

Giriş yaptıktan ve tüm varsayılan ayrıntıları değiştirdikten sonra “Pano”yu görüntüleyebilirsiniz.

İlk proxy sunucunuzu oluşturmak nispeten basittir. "Pano"da "0 Proxy Sunucusu" “ "Proxy Sunucusu Ekle"ye tıklayın. Aşağıda, bir alan adından (proxy.example.com) yönetici arayüzüne erişim için temel bir yapılandırmanın ekran görüntüsü bulunmaktadır. Alan adının, sunucunun genel IPv4 adresine yönlendiren bir DNS kaydına sahip olduğundan emin olun.

Bundan sonra, her şeyin güvenliğini sağlamak için büyük olasılıkla bir SSL sertifikasına ihtiyacınız olacak. Aşağıda, SSL seçeneklerinin nasıl görünebileceğine dair ilk yapılandırmanın ekran görüntüsü bulunmaktadır.

"SSL'yi Zorla" vb. gibi diğer seçenekleri dilediğiniz gibi işaretleyebilirsiniz. Bu eğitim videosunu okuyan okuyucuların kafalarının karışmaması ve işaretlemeleri gerektiğini düşünmemeleri için görselde bu seçenekler işaretlenmemiştir.

Yeni girişi kaydettikten sonra, kurduğunuz etki alanından (bu örnekte proxy.example.com) yönetici arayüzüne erişebilirsiniz.

Nginx proxy yöneticisi artık hazır ve proxy sunucularınızı ekleyebilirsiniz.

Yukarıdaki Docker Compose dosyasına network_mode eklediyseniz, tüm yerel kapsayıcılar için "İletilen Ana Bilgisayar Adı/IP" değerini 127.0.0.1 olarak ayarlayabilmelisiniz. Örneğin, yerel bir WordPress Docker kapsayıcısı için:

holu@tutorial:~/npm$ docker run -p 8080:80 -d wordpress
holu@tutorial:~/npm$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23bcbfe55c53 jc21/nginx-proxy-manager "/init" 31 minutes ago Up 31 minutes npm-app-1
e9853acea394 wordpress "docker-entrypoint.s…" 22 minutes ago Up 22 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp thirsty_greider

Hedefi http://127.0.0.1:8080 olarak ayarlayabilirsiniz:

Docker Compose dosyanızda network_mode: 'host' yoksa, hedefi genel bir IP adresine ayarlamanız gerekir; bu örnekte 203.0.113.1:8080.

Sonuç

Şimdi bir Nginx Proxy Yöneticisi kurmanız gerekiyor.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ayrıca Şunları da Beğenebilirsiniz