DigitalOcean'da Headless Hashnode'a Başlarken

0 Hisse senetleri
0
0
0
0

giriiş

Hashnode, teknoloji meraklılarının ilgisini canlı tutmak için tasarlanmış, ücretsiz kullanılabilen bir içerik yayınlama platformu ve geliştirici topluluğudur. Kullanıcıların blog yazıları oluşturup paylaşabilecekleri ve çeşitli teknoloji alanları etrafında bir topluluk oluşturabilecekleri bir alan sağlar. HashNode, özel alan adları, yerleşik düzenleyici ve GitHub gibi popüler sürüm kontrol sistemleriyle sorunsuz entegrasyon gibi özellikler sunarak, geliştirici dostu ve SEO optimizasyonlu bir teknik blogun oluşturulmasını ve bakımını basitleştirmeyi hedefler. En yeni ürünleri Headless Hashnode, Hashnode'un yenilikçi GraphQL API'lerini kullanarak sıfırdan bir blog oluşturmanıza olanak tanır. Sıfırdan bir blog oluşturabilir veya Next.js başlangıç kitini kullanabilirsiniz.

Bu eğitimde DigitalOcean Droplets üzerinde Hashnode headless kurulumunu yapacağız.

HeadLess HashNode'a Giriş

Başsız İçerik Yönetim Sistemi (CMS), içerik yönetimi ve sunum katmanlarını ayıran bir mimaridir. Geleneksel bir CMS'de içerik tek bir sistemde oluşturulur, depolanır ve görüntülenir; ancak başsız bir mimaride içerik depolama ve sunum ayrı ayrı gerçekleştirilebilir; bu da tasarımcılara ve geliştiricilere blogun tüketicilere nasıl göründüğü konusunda denemeler yapma olanağı sağlar.

Headless Hashnode, kullanıcıların kişisel veya kurumsal bloglar oluşturmasına yardımcı olan, böylece barındırma sırasında içerik ve analiz takibi konusunda endişelenmeden Hashnode'un WYSIWYG düzenleyicisini, yapay zekayı ve SEO optimizasyon araçlarını kullanarak alan adlarıyla oynayabilmelerini sağlayan özel olarak tasarlanmış bir CMS'dir.

Başlangıç

Ön koşullar:
  1. DigitalOcean'da bir hesap
  2. Hashnode'da bir hesap.

 DigitalOcean Droplets'ı Kullanma

DigitalOcean Droplets, bir dakikadan kısa sürede kolayca dağıtılabilen basit, ölçeklenebilir ve güvenilir sanal makinelerdir.

Başlamak için DigitalOcean kontrol panelinize gidin ve sayfanın sağ üst köşesindeki yeşil "Oluştur" düğmesine tıklayın. Açılır menüden, ilk seçenek olan "Dropletler"i seçin.


Bir sonraki pencerede bölge, resim, boyut ve diğer ayrıntılar için tercihlerinizi belirtmeniz gerekecektir. Veri merkezi sizin için zaten seçilmiş olsa bile, potansiyel okuyucularınıza en yakın bölgeyi seçmeniz şiddetle tavsiye edilir.

"Görüntüler" yazan bir sonraki seçenekte, Marketplace sekmesine gidin ve Ubuntu'da NodeJS'yi arayın. DigitalOcean Marketplace, 1-Click Apps adı verilen kullanıma hazır araç ve kaynaklardan oluşan bir koleksiyon sunar. Tüm bağımlılıkları manuel olarak indirmek yerine, Marketplace'e gidip önceden yapılandırılmış görüntüler ve ayarlar ile projeniz için ihtiyacınız olan tüm paket ve bağımlılıkları içeren bir 1-Click App çalıştırabilirsiniz. Ekranınız şöyle görünmelidir:


Sonraki pencerede droplet boyutunu seçebilirsiniz. Gelecekte yayınlamayı planladığınız blog sayısını göz önünde bulundurarak kendiniz veya şirketiniz için en uygun olanı seçin. İdeal olarak, bu uygulamayı üretim düzeyinde çalıştırmak istiyorsanız, en az 25 GB SSD sabit disk kullanmanızı öneririz. Daha hızlı performans için Intel, AMD işlemcileri ve NVMe SSD'leri destekleyen premium bir droplet seçmenizi öneririz. Standart bir droplet gibi, ihtiyaçlarınıza göre premium bir droplet seçebilirsiniz.


İşlemi tamamladıktan sonra bir kimlik doğrulama yöntemi seçmeniz gerekiyor. Droplet'inize SSH anahtarı veya parola ile giriş yapabilirsiniz. Bu eğitimde parola kullanacağız, bu yüzden istediğiniz dizeyi ekleyin ve not edin. Bir sonraki bölümde, seçeneğin yanındaki kutuyu işaretleyerek gelişmiş ölçüm izleme ve uyarıları ücretsiz olarak ekleyebilirsiniz ve artık hazırsınız. Droplet'iniz için daha basit bir Ana Bilgisayar Adı eklediğinizden ve "Droplet Oluştur"a tıklamadan önce tüm ayrıntılara baktığınızdan emin olun.


Bir Droplet'in sağlanması yaklaşık bir dakika sürer. İşiniz bittiğinde, Marketplace uygulamasına genel bir bakış elde etmek ve neler içerdiğini görmek için "Başlayın" bağlantısına tıklayın.

Damlacık kurulumu

Droplet'inizi başlatmak için gelen bağlantıları kabul edin ve bunları yerel terminalinizdeki uygulamaya yönlendirin:

ssh root@YOUR-DROPLET-IP

«Kontrol panelindeki "Droplet-IP'nizin" yerine Droplet'inizin IP adresini yazın. İstendiğinde parolayı girin.


Bir sonraki adım Droplet'teki paketleri güncellemek ve yükseltmektir ve bunun için aşağıdaki komutları çalıştırın:

sudo apt update && sudo apt upgrade -y
curl -fsSL https://get.pnpm.io/install.sh | sh - to install pnpm.

Droplet'te gösterilen ve 3000 portunu işgal eden varsayılan sayfayı kaldırmak için aşağıdaki komutları kullanın.

cd /var/www
rm -r html
cd ~
cd /etc/nginx/sites-enabled/
rm -r default

Değişiklikler 5 dakika içinde yansımazsa, Droplet'inizi kapatıp tekrar açmanız gerekebilir. Bu durumda, yerel terminalinizde Droplet'inize tekrar SSH bağlantısı kurmanız gerekecektir. Sonraki adımlarda, Droplet'te zaten yüklü olan Node.js, npm ve Nginx'i kullanacağız. Nginx, Next.js uygulamamıza tüm yönlendirmeleri yöneten araçtır.

Nginx yapılandırması

Aşağıdaki komutu kullanarak yeni bir Nginx yapılandırma dosyası oluşturun:

sudo nano /etc/nginx/sites-available/hashnode

Aşağıdaki yapılandırmayı yapıştırın, server_name kısmını Droplet IP adresinizle değiştirin:

server {
listen 80;
server_name YOUR_IP_ADDRESS;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

İşlem tamamlandıktan sonra dosyayı kaydedip kapatın. Şimdi ayarları etkinleştirmek için aşağıdakileri kullanarak sembolik bir bağlantı oluşturmamız gerekiyor:

sudo ln -s /etc/nginx/sites-available/hashnode /etc/nginx/sites-enabled/

Nginx yapılandırmanızı sözdizimi hataları açısından test etmek için aşağıdakileri çalıştırabilirsiniz:

sudo nginx -t

İdeal çıktı şu şekilde olmalıdır:


Artık Nginx'i yeniden başlatmaya hazırız ve bunu şu komutu kullanarak yapabiliriz:

sudo service nginx restart

Headless Hashnode Kurulumu

Sağdaki dizine gidin:

cd /var/www

Headless Hashnode Github deposunu klonlayın:

git clone https://github.com/hashnode/starter-kit

Bir şablon seçin ve dizinine gidin. Bu eğitimde Kişisel temasını kullanacağız:

cd starter-kit/packages/blog-starter-kit/themes/personal

Ortam değişkenleri dosyasını kopyalayın:

cp .env.example .env.local

Daha sonra ortam değişkenleri dosyasını düzenleyin:

nano .env.local

Ortam değişkenlerini Hashnode hesabınıza yönlendirecek şekilde değiştirmeniz gerekiyor. NEXT_PUBLIC_HASHNODE_PUBLICATION_HOST değişkenini uç noktanıza, NEXT_PUBLIC_MODE değişkenini ise üretim ortamına yönlendirin. Dosya şu şekilde görünecektir:


Bağımlılıkları yüklemek için aşağıdakileri çalıştırın:

pnpm install

Ekranınız aşağıdaki gibi görünmelidir:


Her şey hazır olduğuna göre, Headless Hashnode'u Droplet'inize dağıtmak için aşağıdaki komutu çalıştırabilirsiniz. Derlemenin bir dakika süreceğini unutmayın. Terminaliniz aşağıdaki gibi görünmelidir:

pnpm dev


Derleme tamamlandıktan sonra Droplet IP adresinizi ziyaret ederek Headless Hashnode sitenizin çalışır durumda olduğunu görebilirsiniz!


Bununla birlikte, Nginx tarafından sağlanan ters proxy'yi kullanarak Hashnode'u DigitalOcean Droplet'te headless olarak dağıttık!

PM2 işlem yöneticisinin kurulması

Bazen, çalıştırdığımız çalıştırma komutu, sunucu yeniden başlatıldığı veya bir güncelleme yüklenmesi gerektiği için durabilir. Uygulamamızın her zaman çalışır durumda olduğundan emin olmak için PM2 aracını kullanacağız. Uygulama çökse bile PM2 yeniden başlatılacaktır.

Node.js Marketplace Image ile PM2 önceden yüklenmiştir. Uygulamanızın her zaman PM2 kullanarak çalışmasını sağlamak için:

cd /var/www/starter-kit
pm2 start npm --name "hashnode" --start


PM2'nin önyükleme sırasında başlamasını sağlamak için aşağıdaki komutları çalıştırın. Bu komut, PM2'yi önyükleme sırasında başlatmak ve ayarları kaydetmek için terminalinize kopyalayıp yapıştırabileceğiniz bir betik oluşturacaktır.

pm2 startup 
pm2 save

Sonuç

Başsız CMS araçları, kullanıcı arayüzlerini özelleştirmek için harikadır ve Hashnode son derece ölçeklenebilir ve esnek bir araç sunar. Blogunuzun güvenliğini ve SEO'sunu iyileştirmek için Let's Encrypt kullanarak SSL sertifikaları oluşturmayı ve HTTPS bağlantıları uygulamayı düşünebilirsiniz. Kendi alan adınızı eklemek istiyorsanız, DNS ayarlarınızı yapılandırmayı unutmayın. Alan adınızın A kaydını Droplet IP adresinize yönlendirin, böylece uygulamaya alan adınızı kullanarak erişebilirsiniz. Hemen bir hesap oluşturun. DigitalOcean ile bloglarınızı görmeyi sabırsızlıkla bekliyoruz!

Bir yanıt yazın

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

Ayrıca Şunları da Beğenebilirsiniz