Forum
Selamlar herkese,
Amatör olarak öğrenmek için MERN Stack bir yapıda proje geliştirmeye çalıştırdım. kısaca 1 app 1 tanede react tabanlı bir frontend'im mevcut.
App'im PORT : 5000'de çalışıyor , React'im PORT:3000'de çalışıyor. Rest API yapısı mevcut. client'tan server'a request atarak serverdan aldığım response'u frontend'de gösteriyorum. Klasik Rest API yapısı.
Projeyi Lokalden çıkarıp kendi fiziksel sunucuma atarak ağdaki tüm bilgisayarlardan erişebilir hale getirmek istiyorum. Araştırdığımda NGINX, Apache vb. yazılımlarla Reverse proxy yapısı ile çözebileceğim söyleniyor. Fakat ne kadar uğraştıysam başarılı olamadım. Bir yerlerde eksik bir şeyler yapıyorum muhtemelen. Aşama aşama en baştan anlatan bir kaynakta bulamadım açıkçası her şey havada kalıyor. Kısaca ne yapmam gerektiği konusunda yardımcı olabilecek biri var mıdır ?
Merhaba, ne yazık ki böyle bir kaynak bulamazsınız, bu çok normal çünkü bu bir proje olmuş. Kimse de oturup bunu size adım adım yazmaz malum zaman çok değerli.
kabaca şöyle,öncelikle sunucunuza MERN Stack uygulamanızı yükleyin. MongoDB veritabanınızı kurmak, express sunucusunu çalıştırmak ve react uygulamanızı sunucuya dağıtacaksınız yani. Uygulamanızı sunucunuza yükledikten sonra her iki uygulama da aynı sunucuda çalışacaktır.
İkinci adımda NGINX veya Apache kurun, örnek bunun için bir çok kaynak var, bunu öğrenmeniz gerekli. Yani burada temel yapılandırmayı yapmanız lazım. Sonra NGINX veya Apache üzerinde reverse proxy yapılandırması yapmanız gerekecek. Bu web sunucusunun belirli bir URL'yi dinleyerek gelen istekleri MERN Stack uygulamanıza yönlendirmesini sağlar. Bu adımı gerçekleştirirken web sunucunuzun yapılandırma dosyalarını düzenlemeniz gerekecek. Örneğin NGINX için nginx.conf dosyasını veya Apache için httpd.conf dosyasını düzenleyeceksiniz.
Örnek bir NGINX reverse proxy yapılandırması (google dan bulabilirsiniz)
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:3000; # React uygulamanızın çalıştığı port
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;
}
location /api {
proxy_pass http://localhost:5000; # Express sunucunuzun çalıştığı port
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;
}
}
Kolaylıklar
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
@hakanuzuner Hocam öncelikle ilginiz için teşekkür ederim. Anlattığınız şekilde tekrar deneyeceğim. Yapamazsam umudu kesip devops konuları üzerine daha çok yoğunlaşacağım gibi görünüyor 🙂 Tekrar teşekkür ederim.
Anlaştık, kolaylıklar diliyorum.
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************