VPS'de Node.js Uygulaması Yayınlama: Adım Adım Kurulum
Node.js, sunucu tarafında JavaScript çalıştırmanıza olanak tanıyan güçlü ve popüler bir platformdur. Uygulamalarınızı internete açmak için, bir VPS (Sanal Özel Sunucu) kullanmak ideal bir çözümdür. Bu makalede, Node.js uygulamanızı bir VPS'ye nasıl yayınlayacağınızı adım adım anlatacağız.
İlk adım, ihtiyaçlarınıza uygun bir VPS sağlayıcısı seçmektir. Piyasada birçok seçenek bulunmaktadır: DigitalOcean, Linode, Vultr, AWS (Amazon Web Services), Google Cloud Platform gibi. Her birinin farklı fiyatlandırma planları, özellikler ve coğrafi konumları vardır. Projenizin büyüklüğüne, beklenen trafiğe ve bütçenize göre bir seçim yapın.
VPS'nizi seçtikten sonra, bir işletim sistemi seçmeniz gerekecektir. Ubuntu, CentOS, Debian gibi popüler Linux dağıtımları Node.js uygulamaları için yaygın olarak kullanılır. Ubuntu, yeni başlayanlar için genellikle daha kullanıcı dostu olarak kabul edilir.
VPS'nizi oluşturduktan sonra, SSH (Secure Shell) kullanarak sunucunuza bağlanmanız gerekecektir. SSH, sunucunuza güvenli bir şekilde erişmenizi ve komutlar çalıştırmanızı sağlar. Terminalinizde şu komutu kullanarak sunucunuza bağlanabilirsiniz:
ssh kullanıcıadı@sunucu_ip_adresi
Örneğin:
ssh [email protected]
Sunucunuza ilk kez bağlanıyorsanız, bir parola girmeniz veya bir SSH anahtarı kullanmanız istenecektir. SSH anahtarları, parolalardan daha güvenlidir ve şiddetle tavsiye edilir.
Sunucunuzun güvenliğini sağlamak önemlidir. İlk olarak, varsayılan SSH portunu (22) değiştirmeyi düşünebilirsiniz. Bunun için /etc/ssh/sshd_config
dosyasını düzenleyin ve Port
satırını değiştirin. Değişiklikleri uyguladıktan sonra SSH servisini yeniden başlatmanız gerekecektir:
sudo systemctl restart sshd
Ayrıca, bir güvenlik duvarı (firewall) yapılandırmak da önemlidir. UFW (Uncomplicated Firewall) Ubuntu'da yaygın olarak kullanılan bir güvenlik duvarıdır. UFW'yi kurmak ve etkinleştirmek için şu komutları kullanabilirsiniz:
sudo apt update
sudo apt install ufw
sudo ufw allow OpenSSH
sudo ufw enable
Uygulamanızın kullandığı portu da UFW'ye eklemeyi unutmayın. Örneğin, uygulamanız 3000 portunu kullanıyorsa:
sudo ufw allow 3000
VPS'nize bağlandıktan sonra, Node.js ve uygulamanızın ihtiyaç duyduğu diğer araçları kurmanız gerekecektir. Node.js'yi kurmanın en iyi yolu, Node Version Manager (NVM) kullanmaktır. NVM, farklı Node.js sürümlerini kolayca yönetmenize olanak tanır.
NVM'yi kurmak için şu komutları kullanabilirsiniz:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
Kurulumdan sonra, terminalinizi yeniden başlatmanız veya source ~/.nvm/nvm.sh
komutunu çalıştırmanız gerekebilir.
NVM kurulduktan sonra, istediğiniz Node.js sürümünü kurabilirsiniz. En son LTS (Long Term Support) sürümünü kurmak için:
nvm install --lts
Ardından, bu sürümü kullanmak için:
nvm use --lts
Node.js ile birlikte, npm (Node Package Manager) de kurulacaktır. npm, Node.js paketlerini kurmanıza ve yönetmenize olanak tanır. Uygulamanızın bağımlılıklarını kurmak için, uygulamanızın kök dizinine gidin ve şu komutu çalıştırın:
npm install
Uygulamanızın global olarak erişilebilir olmasını gerektiren paketler varsa, bunları -g
parametresiyle kurabilirsiniz. Örneğin, PM2'yi global olarak kurmak için:
npm install -g pm2
Uygulama dosyalarınızı VPS'ye aktarmanın birkaç yolu vardır: Git, SCP (Secure Copy) veya FTP (File Transfer Protocol). Git, versiyon kontrolü için kullanılıyorsa en iyi seçenektir.
Uygulamanız bir Git deposunda bulunuyorsa, VPS'nizde Git'i kurun:
sudo apt update
sudo apt install git
Ardından, uygulamanızın deposunu VPS'nize klonlayın:
git clone
SCP, dosyaları güvenli bir şekilde bir sunucudan diğerine kopyalamanıza olanak tanır. Yerel makinenizden VPS'nize dosya kopyalamak için şu komutu kullanabilirsiniz:
scp -r yerel_dizin kullanıcıadı@sunucu_ip_adresi:hedef_dizin
Örneğin:
scp -r /home/kullanici/uygulama [email protected]:/var/www/
Uygulama dosyalarınızı VPS'ye aktardıktan sonra, uygulamayı çalıştırmanız gerekecektir. Ancak, SSH bağlantınız koptuğunda uygulamanın durmasını istemezsiniz. Bu nedenle, PM2 gibi bir süreç yöneticisi kullanmak önemlidir.
PM2, Node.js uygulamalarını yönetmek ve çalıştırmak için popüler bir araçtır. Uygulamanızı otomatik olarak yeniden başlatır, logları yönetir ve daha birçok kullanışlı özellik sunar.
PM2'yi kurduktan sonra, uygulamanızı çalıştırmak için şu komutu kullanabilirsiniz:
pm2 start app.js
Burada app.js
uygulamanızın ana dosyasıdır. Uygulamanız farklı bir dosyada başlatılıyorsa, o dosyanın adını kullanın.
PM2, uygulamanızı otomatik olarak başlatacak ve yeniden başlatacaktır. Uygulamanızın durumunu kontrol etmek için:
pm2 status
Uygulamanızın loglarını görmek için:
pm2 logs
Uygulamanızı başlatma sırasında otomatik olarak başlatmak için:
pm2 startup systemd
pm2 save
Uygulamanızın 3000 gibi bir portta çalıştığını varsayalım. Kullanıcıların uygulamanıza example.com
gibi bir alan adı üzerinden erişmesini istiyorsanız, bir ters proxy (reverse proxy) kurmanız gerekecektir. Nginx, popüler ve güçlü bir ters proxy sunucusudur.
Nginx'i kurmak için:
sudo apt update
sudo apt install nginx
Nginx kurulduktan sonra, uygulamanız için bir sanal sunucu (virtual host) yapılandırmanız gerekecektir. Yeni bir yapılandırma dosyası oluşturun: /etc/nginx/sites-available/example.com
(example.com
alan adınızla değiştirin) ve aşağıdaki içeriği ekleyin:
server {
listen 80;
server_name example.com www.example.com;
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;
}
}
Bu yapılandırma, gelen tüm istekleri example.com
ve www.example.com
adreslerinden localhost:3000
'e yönlendirecektir.
Yapılandırma dosyasını etkinleştirmek için:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Varsayılan yapılandırmayı devre dışı bırakmak için (isteğe bağlı):
sudo rm /etc/nginx/sites-enabled/default
Nginx'i yeniden başlatın:
sudo systemctl restart nginx
Artık example.com
adresini ziyaret ettiğinizde, Node.js uygulamanızın çalıştığını görmelisiniz.
Web sitenizin güvenliğini sağlamak için bir SSL sertifikası kurmanız önemlidir. Let's Encrypt, ücretsiz ve otomatik bir SSL sertifika sağlayıcısıdır. Certbot, Let's Encrypt sertifikalarını kolayca kurmanıza olanak tanıyan bir araçtır.
Certbot'u kurmak için:
sudo apt update
sudo apt install certbot python3-certbot-nginx
Certbot'u çalıştırmak ve SSL sertifikasını otomatik olarak kurmak için:
sudo certbot --nginx -d example.com -d www.example.com
Certbot, Nginx yapılandırmanızı otomatik olarak güncelleyecek ve SSL sertifikasını kuracaktır. Ayrıca, sertifikaların otomatik olarak yenilenmesini de yapılandıracaktır.
Bu makalede, Node.js uygulamanızı bir VPS'ye nasıl yayınlayacağınızı adım adım anlattık. VPS seçimi, Node.js ve gerekli araçların kurulumu, uygulama dosyalarının aktarılması, uygulamanın çalıştırılması ve yönetilmesi, ters proxy kurulumu ve SSL sertifikası kurulumu gibi konuları ele aldık. Bu adımları izleyerek, Node.js uygulamanızı başarıyla internete açabilirsiniz.
Unutmayın, güvenlik her zaman öncelikli olmalıdır. VPS'nizin güvenliğini sağlamak için güvenlik duvarı yapılandırması, SSH portunu değiştirme ve düzenli güncellemeler yapma gibi önlemler almayı unutmayın. Başarılar dileriz!
Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,
Bir Destek Talebi Oluşturun.Web siteniz için uygun fiyatlı Ucuz Hosting Paketleri ile yüksek performanslı barındırma hizmeti sunuyoruz.
Dijital varlığınızı güçlendirmek için profesyonel Sosyal Medya Hesap Yönetimi hizmeti sağlıyoruz.
Görsellerinizi sıkıştırmak için kullanışlı PNG to WebP dönüştürücümüzü deneyin.
Resim boyutlarını küçültmek isteyenler için JPG to WebP aracı idealdir.
SEO uyumu için Robots.txt Oluşturucu aracımızı kullanabilirsiniz.
Htaccess Oluşturucu ile yönlendirme ve erişim ayarlarınızı kolayca yapın.
Kullanıcı deneyimini artırmak için özgün UI/UX Tasarım çözümleri sunuyoruz.
Hızlı ve güvenli kurulum için WordPress hizmetimizden faydalanın.
Sitenizi arama motorlarında yükseltmek için Google Optimizasyon hizmeti sunuyoruz.
Markanızı tanıtmak için Tanıtım Yazısı içerikleri üretiyoruz.
UGC ile içerik gücünüzü artırın: UGC İçerik.
Profesyonel Yazılım Kurulum hizmetleri sunuyoruz.
Kaliteli içerik arayanlara özel Hazır Makale & İçerik Satışları.
Sıra Bulucu ile arama motoru sıralamanızı takip edin.
Google Haritalara Kayıt ile konumunuzu haritada gösterin.
Alan adı otoritenizi öğrenin: DA PA Sorgula.
Dış bağlantılarınızı analiz edin: Dış Link Aracı.
Dahili link yapınızı inceleyin: İç Link Aracı.
Arama motoru başarınızı artırmak için SEO Danışmanlığı alın.
Organik trafiğinizi artırmak için SEO çözümleri geliştirin.
Özel çözümler için Mobil Uygulama geliştirme hizmeti sunuyoruz.
Markanız için Logo tasarlıyoruz.
İşinize özel Web Yazılım çözümleri sunuyoruz.
Kurumsal imajınızı yansıtan Kurumsal Web Tasarım hizmeti.
Süreçlerinizi hızlandırmak için Bot Program geliştiriyoruz.
Online satışlarınız için Sanal POS sistemleri sunuyoruz.
Entegrasyonlar için Pazaryeri ve Kargo Entegrasyonu.
Kullanıcı deneyimi testleri için Son Kullanıcı Testleri.
İçerik indirimi için TikTok Video İndir aracı.
Görsellerinizi kolayca küçültün: Resim Boyutlandırma.
Yararlı kod örnekleri için Site Kodları rehberine göz atın.
Kodları online inceleyin: HTML Viewer.
IP adresinizi öğrenmek için IP Adresim Nedir aracını kullanın.
Bağlantı hızınızı test etmek için Hız Testi.
DNS önbellek sorunları için DNS Cache Problemi sayfasını inceleyin.
DNS değişikliklerini görmek için DNS Önizleme aracı.
IDN dönüştürme için IDN Çevirme kullanın.
Sunuculara ping atmak için Ping Gönder özelliğini deneyin.
Web sitenizin yanıt süresini test etmek için Web Site Ping aracımızı kullanın.