{"id":37717,"date":"2026-01-13T13:40:54","date_gmt":"2026-01-13T10:40:54","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37717"},"modified":"2026-01-13T13:40:54","modified_gmt":"2026-01-13T10:40:54","slug":"centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/","title":{"rendered":"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi<\/h2>\n<p>Bu kapsaml\u0131 rehber, CentOS 8 i\u015fletim sistemi \u00fczerine Node.js&#8217;yi nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r. Node.js, modern web uygulamalar\u0131 geli\u015ftirmek i\u00e7in pop\u00fcler bir sunucu taraf\u0131 JavaScript \u00e7al\u0131\u015fma zaman\u0131d\u0131r. CentOS 8 ise kurumsal d\u00fczeyde sunucu ortamlar\u0131 i\u00e7in g\u00fcvenilir ve istikrarl\u0131 bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Bu iki teknolojinin birle\u015fimi, g\u00fc\u00e7l\u00fc ve performansl\u0131 web uygulamalar\u0131 olu\u015fturman\u0131z i\u00e7in sa\u011flam bir temel sunar.<\/p>\n<p>Node.js, Google Chrome&#8217;un V8 JavaScript motoru \u00fczerine in\u015fa edilmi\u015f a\u00e7\u0131k kaynakl\u0131, \u00e7apraz platformlu bir \u00e7al\u0131\u015fma zaman\u0131 ortam\u0131d\u0131r. Genellikle sunucu taraf\u0131 a\u011f uygulamalar\u0131 olu\u015fturmak i\u00e7in kullan\u0131l\u0131r ve \u00f6zellikle ger\u00e7ek zamanl\u0131, veri yo\u011fun uygulamalar i\u00e7in idealdir. Asenkron, olay odakl\u0131 mimarisi sayesinde y\u00fcksek performans ve \u00f6l\u00e7eklenebilirlik sunar. NPM (Node Package Manager) ile birlikte gelir, bu da geli\u015ftiricilerin binlerce a\u00e7\u0131k kaynakl\u0131 paketi kolayca kullanmas\u0131n\u0131 ve y\u00f6netmesini sa\u011flar.<\/p>\n<p>CentOS 8 (ve genel olarak RHEL tabanl\u0131 sistemler), kararl\u0131l\u0131\u011f\u0131, g\u00fcvenli\u011fi ve geni\u015f topluluk deste\u011fi ile bilinir. Kurumsal ortamlarda sunucu olarak tercih edilen bir i\u015fletim sistemidir. Node.js&#8217;yi CentOS 8 \u00fczerine kurmak, bu g\u00fc\u00e7l\u00fc platformun avantajlar\u0131n\u0131 kullanarak Node.js uygulamalar\u0131n\u0131z\u0131 da\u011f\u0131tman\u0131za olanak tan\u0131r.<\/p>\n<p>Bu rehberde, Node.js&#8217;yi CentOS 8&#8217;e kurmak i\u00e7in birka\u00e7 farkl\u0131 y\u00f6ntemi ele alaca\u011f\u0131z:<\/p>\n<p>*   <strong>CentOS DNF Mod\u00fclleri Arac\u0131l\u0131\u011f\u0131yla Kurulum:<\/strong> CentOS 8&#8217;in varsay\u0131lan paket y\u00f6neticisi DNF&#8217;nin sundu\u011fu mod\u00fcl sistemi \u00fczerinden resmi Node.js paketlerini kullanma. Bu y\u00f6ntem \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in en basit ve \u00f6nerilen yakla\u015f\u0131md\u0131r.<br \/>\n*   <strong>NVM (Node Version Manager) Kullanarak Kurulum:<\/strong> Birden fazla Node.js s\u00fcr\u00fcm\u00fcn\u00fc ayn\u0131 sistemde y\u00f6netmek ve kolayca aralar\u0131nda ge\u00e7i\u015f yapmak isteyen geli\u015ftiriciler i\u00e7in idealdir.<br \/>\n*   <strong>NodeSource Deposunu Kullanarak Kurulum:<\/strong> Resmi Node.js paketlerinin farkl\u0131 s\u00fcr\u00fcmlerini sunan \u00fc\u00e7\u00fcnc\u00fc taraf bir depo arac\u0131l\u0131\u011f\u0131yla kurulum.<br \/>\n*   <strong>Kaynak Koddan Derleyerek Kurulum:<\/strong> En g\u00fcncel s\u00fcr\u00fcmleri veya \u00f6zel derleme se\u00e7eneklerini kullanmak isteyen ileri d\u00fczey kullan\u0131c\u0131lar i\u00e7in bir se\u00e7enek.<\/p>\n<p>Her y\u00f6ntemin avantajlar\u0131 ve dezavantajlar\u0131 vard\u0131r. \u0130htiya\u00e7lar\u0131n\u0131za ve kullan\u0131m senaryonuza en uygun olan\u0131 se\u00e7ebilirsiniz. Ba\u015flamadan \u00f6nce, sisteminizde root ayr\u0131cal\u0131klar\u0131na sahip bir kullan\u0131c\u0131ya (veya <code>sudo<\/code> yetkisine sahip bir kullan\u0131c\u0131ya) ve aktif bir internet ba\u011flant\u0131s\u0131na sahip oldu\u011funuzdan emin olun.<\/p>\n<h3>Sistem Haz\u0131rl\u0131\u011f\u0131<\/h3>\n<p>Node.js kurulumuna ba\u015flamadan \u00f6nce, CentOS 8 sisteminizi g\u00fcncel tutmak ve gerekli temel ara\u00e7lar\u0131 y\u00fcklemek her zaman iyi bir uygulamad\u0131r. Bu ad\u0131mlar, olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h4>Sistemi G\u00fcncelleme<\/h4>\n<p>\u0130lk olarak, sisteminizdeki mevcut t\u00fcm paketleri en son s\u00fcr\u00fcmlerine g\u00fcncelleyelim. Bu i\u015flem, g\u00fcvenlik yamalar\u0131n\u0131 ve en son \u00f6zellik g\u00fcncellemelerini alman\u0131z\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo dnf update -y<\/code><\/pre>\n<p>Bu komut, DNF paket y\u00f6neticisini kullanarak t\u00fcm y\u00fckl\u00fc paketleri g\u00fcnceller ve <code>-y<\/code> bayra\u011f\u0131, t\u00fcm onay istemlerine otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 verir. Bu i\u015flem biraz zaman alabilir.<\/p>\n<h4>Gerekli Geli\u015ftirme Ara\u00e7lar\u0131n\u0131 Y\u00fckleme<\/h4>\n<p>Baz\u0131 Node.js mod\u00fclleri, kurulum s\u0131ras\u0131nda derleme gerektirebilir. Bu nedenle, gerekli derleme ara\u00e7lar\u0131n\u0131 \u00f6nceden y\u00fcklemek iyi bir fikirdir. Bu ara\u00e7lar, \u00f6zellikle NVM veya kaynak koddan derleme y\u00f6ntemlerini kullan\u0131rken faydal\u0131 olacakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo dnf groupinstall \"Development Tools\" -y<\/code><\/pre>\n<p>Bu komut, <code>gcc<\/code>, <code>g++<\/code>, <code>make<\/code> gibi temel geli\u015ftirme ara\u00e7lar\u0131n\u0131 i\u00e7eren &#8220;Development Tools&#8221; grubunu y\u00fckler. Bu grup, C\/C++ derleyicilerini ve ilgili yard\u0131mc\u0131 programlar\u0131 i\u00e7erir.<\/p>\n<p>Alternatif olarak, yaln\u0131zca belirli ara\u00e7lar\u0131 y\u00fcklemek isterseniz:<\/p>\n<pre><code class=\"language-bash\">sudo dnf install -y gcc-c++ make<\/code><\/pre>\n<p>Bu haz\u0131rl\u0131k ad\u0131mlar\u0131 tamamland\u0131ktan sonra, Node.js&#8217;yi kurmaya haz\u0131rs\u0131n\u0131z.<\/p>\n<h3>Y\u00f6ntem 1: CentOS DNF Mod\u00fclleri Arac\u0131l\u0131\u011f\u0131yla Node.js Kurulumu (\u00d6nerilen)<\/h3>\n<p>CentOS 8, DNF mod\u00fclleri ad\u0131 verilen yeni bir \u00f6zellik sunar. Bu mod\u00fcller, ayn\u0131 yaz\u0131l\u0131m\u0131n farkl\u0131 s\u00fcr\u00fcmlerini (\u00f6rne\u011fin, Node.js 14, Node.js 16, Node.js 18) kolayca y\u00f6netmenize olanak tan\u0131r. Bu, \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in Node.js kurman\u0131n en basit ve \u00f6nerilen yoludur, \u00e7\u00fcnk\u00fc resmi CentOS depolar\u0131ndan gelir ve sisteminizle iyi entegre olur.<\/p>\n<h4>Mevcut Node.js Mod\u00fcllerini Listeleme<\/h4>\n<p>Kurulumdan \u00f6nce, DNF mod\u00fclleri arac\u0131l\u0131\u011f\u0131yla hangi Node.js s\u00fcr\u00fcmlerinin mevcut oldu\u011funu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo dnf module list nodejs<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131, mevcut Node.js ak\u0131\u015flar\u0131n\u0131 (s\u00fcr\u00fcmlerini) g\u00f6sterecektir. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-\">CentOS Stream 8 - AppStream\nName       Stream      Profiles                               Summary\nnodejs     10          default [d], development, minimal      Javascript runtime\nnodejs     12          default [d], development, minimal      Javascript runtime\nnodejs     14          default [d], development, minimal      Javascript runtime\nnodejs     16          default [d], development, minimal      Javascript runtime\nnodejs     18          default [d], development, minimal      Javascript runtime\nnodejs     20          default [d], development, minimal      Javascript runtime\n\nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled<\/code><\/pre>\n<p>Burada <code>[d]<\/code> ile i\u015faretlenmi\u015f olanlar varsay\u0131lan ak\u0131\u015flard\u0131r. Genellikle en son LTS (Uzun S\u00fcreli Destek) s\u00fcr\u00fcm\u00fc varsay\u0131lan olarak gelir veya en g\u00fcncel stabil s\u00fcr\u00fcm.<\/p>\n<h4>Node.js Mod\u00fcl\u00fcn\u00fc Etkinle\u015ftirme<\/h4>\n<p>Kurmak istedi\u011finiz Node.js s\u00fcr\u00fcm\u00fcn\u00fc se\u00e7meniz gerekir. \u00c7o\u011fu durumda, en son LTS s\u00fcr\u00fcm\u00fcn\u00fc veya projenizin gerektirdi\u011fi belirli bir s\u00fcr\u00fcm\u00fc tercih edersiniz. \u00d6rne\u011fin, Node.js 18&#8217;i kurmak istedi\u011finizi varsayal\u0131m. Bu mod\u00fcl\u00fc etkinle\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo dnf module enable nodejs:18 -y<\/code><\/pre>\n<p>E\u011fer varsay\u0131lan s\u00fcr\u00fcm\u00fc (\u00f6rne\u011fin, <code>nodejs:20<\/code> veya <code>nodejs:current<\/code> gibi bir varsay\u0131lan varsa) etkinle\u015ftirmek isterseniz, sadece <code>nodejs<\/code> yazabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo dnf module enable nodejs -y<\/code><\/pre>\n<p>Bu komut, DNF&#8217;ye Node.js paketlerini y\u00fcklerken <code>nodejs:18<\/code> ak\u0131\u015f\u0131n\u0131 kullanmas\u0131n\u0131 s\u00f6yler. Zaten etkin bir Node.js mod\u00fcl\u00fc varsa ve farkl\u0131 bir s\u00fcr\u00fcme ge\u00e7mek isterseniz, \u00f6nce mevcut mod\u00fcl\u00fc s\u0131f\u0131rlaman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo dnf module reset nodejs -y\nsudo dnf module enable nodejs:18 -y<\/code><\/pre>\n<h4>Node.js ve NPM Kurulumu<\/h4>\n<p>Mod\u00fcl etkinle\u015ftirildikten sonra, Node.js ve NPM&#8217;yi y\u00fcklemek art\u0131k \u00e7ok basittir:<\/p>\n<pre><code class=\"language-bash\">sudo dnf install -y nodejs<\/code><\/pre>\n<p>Bu komut, etkinle\u015ftirdi\u011finiz Node.js s\u00fcr\u00fcm\u00fcn\u00fc ve onunla birlikte gelen NPM&#8217;yi kuracakt\u0131r.<\/p>\n<h4>Kurulumu Do\u011frulama<\/h4>\n<p>Kurulum tamamland\u0131ktan sonra, Node.js ve NPM&#8217;nin do\u011fru bir \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">node -v\nnpm -v<\/code><\/pre>\n<p>Bu komutlar, s\u0131ras\u0131yla y\u00fckl\u00fc Node.js ve NPM s\u00fcr\u00fcmlerini d\u00f6nd\u00fcrmelidir. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-\">v18.17.1\n9.6.7<\/code><\/pre>\n<p>Bu y\u00f6ntem, CentOS 8 \u00fczerinde Node.js kurman\u0131n en temiz ve en \u00e7ok tavsiye edilen yoludur. Sisteminizle iyi entegre olur ve g\u00fcncellemeleri DNF arac\u0131l\u0131\u011f\u0131yla kolayca y\u00f6netmenizi sa\u011flar.<\/p>\n<h3>Y\u00f6ntem 2: NVM (Node Version Manager) Kullanarak Node.js Kurulumu<\/h3>\n<p>NVM (Node Version Manager), birden fazla Node.js s\u00fcr\u00fcm\u00fcn\u00fc ayn\u0131 sistemde kurman\u0131za ve aralar\u0131nda kolayca ge\u00e7i\u015f yapman\u0131za olanak tan\u0131yan bir komut dosyas\u0131d\u0131r. Bu, \u00f6zellikle farkl\u0131 projelerin farkl\u0131 Node.js s\u00fcr\u00fcmleri gerektirdi\u011fi geli\u015ftirme ortamlar\u0131 i\u00e7in son derece kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<h4>NVM Kurulumu<\/h4>\n<p>NVM&#8217;yi kurmak i\u00e7in, genellikle GitHub deposundan gelen kurulum komut dosyas\u0131n\u0131 kullan\u0131r\u0131z. Kurulum komut dosyas\u0131n\u0131 indirmek ve \u00e7al\u0131\u015ft\u0131rmak i\u00e7in <code>curl<\/code> komutunu kullanabilirsiniz. En g\u00fcncel s\u00fcr\u00fcm\u00fc i\u00e7in NVM&#8217;nin GitHub sayfas\u0131n\u0131 kontrol etmeniz \u00f6nerilir.<\/p>\n<pre><code class=\"language-bash\">curl -o- https:\/\/raw.githubusercontent.com\/nvm-sh\/nvm\/v0.39.5\/install.sh | bash<\/code><\/pre>\n<p><em>Not: <code>v0.39.5<\/code> yerine en g\u00fcncel NVM s\u00fcr\u00fcm\u00fcn\u00fc kullanman\u0131z \u00f6nerilir. NVM GitHub sayfas\u0131ndan kontrol edebilirsiniz.<\/em><\/p>\n<p>Bu komut, NVM deposunu <code>~\/.nvm<\/code> dizinine klonlar ve NVM&#8217;yi kabuk ortam\u0131n\u0131za y\u00fcklemek i\u00e7in gerekli sat\u0131rlar\u0131 <code>~\/.bashrc<\/code>, <code>~\/.profile<\/code> veya <code>~\/.zshrc<\/code> dosyan\u0131za ekler.<\/p>\n<p>Kurulumdan sonra, NVM&#8217;yi kabu\u011funuzda kullan\u0131labilir hale getirmek i\u00e7in oturumunuzu yeniden ba\u015flatman\u0131z veya yap\u0131land\u0131rma dosyan\u0131z\u0131 kaynak g\u00f6stermeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">source ~\/.bashrc\n<h2>veya<\/h2>\nsource ~\/.profile\n<h2>veya kulland\u0131\u011f\u0131n\u0131z kabu\u011fa g\u00f6re<\/h2>\nsource ~\/.zshrc<\/code><\/pre>\n<h4>NVM Kurulumunu Do\u011frulama<\/h4>\n<p>NVM&#8217;nin do\u011fru bir \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in s\u00fcr\u00fcm\u00fcn\u00fc sorgulayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">nvm --version<\/code><\/pre>\n<p>E\u011fer bir s\u00fcr\u00fcm numaras\u0131 g\u00f6r\u00fcyorsan\u0131z, NVM ba\u015far\u0131yla kurulmu\u015ftur.<\/p>\n<h4>Node.js S\u00fcr\u00fcmlerini NVM ile Kurma<\/h4>\n<p>NVM kurulduktan sonra, art\u0131k istedi\u011finiz Node.js s\u00fcr\u00fcmlerini kurabilirsiniz.<\/p>\n<h5>Mevcut Node.js S\u00fcr\u00fcmlerini Listeleme<\/h5>\n<p>NVM ile kurabilece\u011finiz t\u00fcm Node.js s\u00fcr\u00fcmlerini listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">nvm ls-remote<\/code><\/pre>\n<p>Bu komut, Node.js&#8217;nin mevcut t\u00fcm kararl\u0131 s\u00fcr\u00fcmlerini listeler.<\/p>\n<h5>Belirli Bir S\u00fcr\u00fcm\u00fc Kurma<\/h5>\n<p>\u00d6rne\u011fin, Node.js&#8217;nin en son LTS s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin, 18.x) kurmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">nvm install 18<\/code><\/pre>\n<p>Veya en g\u00fcncel Node.js s\u00fcr\u00fcm\u00fcn\u00fc kurmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">nvm install node<\/code><\/pre>\n<p>Belirli bir s\u00fcr\u00fcm\u00fc (\u00f6rne\u011fin, 16.17.0) kurmak isterseniz:<\/p>\n<pre><code class=\"language-bash\">nvm install 16.17.0<\/code><\/pre>\n<h5>Varsay\u0131lan S\u00fcr\u00fcm\u00fc Ayarlama<\/h5>\n<p>Kurdu\u011funuz s\u00fcr\u00fcmlerden birini varsay\u0131lan olarak ayarlamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">nvm alias default 18<\/code><\/pre>\n<p>Bu, her yeni kabuk oturumu a\u00e7t\u0131\u011f\u0131n\u0131zda Node.js 18&#8217;in otomatik olarak kullan\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<h5>S\u00fcr\u00fcmler Aras\u0131nda Ge\u00e7i\u015f Yapma<\/h5>\n<p>Mevcut kabuk oturumunuzda farkl\u0131 bir Node.js s\u00fcr\u00fcm\u00fcne ge\u00e7mek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">nvm use 16<\/code><\/pre>\n<h5>Y\u00fckl\u00fc S\u00fcr\u00fcmleri Listeleme<\/h5>\n<p>NVM ile sisteminizde y\u00fckl\u00fc olan t\u00fcm Node.js s\u00fcr\u00fcmlerini g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">nvm ls<\/code><\/pre>\n<p>Bu komut, mevcut oturumda hangi s\u00fcr\u00fcm\u00fcn kullan\u0131ld\u0131\u011f\u0131n\u0131 da g\u00f6sterir.<\/p>\n<h4>Kurulumu Do\u011frulama<\/h4>\n<p>Bir Node.js s\u00fcr\u00fcm\u00fc y\u00fcklendikten ve kullan\u0131ld\u0131ktan sonra, <code>node<\/code> ve <code>npm<\/code> komutlar\u0131n\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">node -v\nnpm -v<\/code><\/pre>\n<p>NVM, geli\u015ftiriciler i\u00e7in esneklik ve kontrol sa\u011flayan m\u00fckemmel bir ara\u00e7t\u0131r. \u00d6zellikle birden fazla projeyle u\u011fra\u015f\u0131yorsan\u0131z veya farkl\u0131 Node.js s\u00fcr\u00fcmlerini test etmeniz gerekiyorsa \u015fiddetle tavsiye edilir.<\/p>\n<h3>Y\u00f6ntem 3: NodeSource Deposunu Kullanarak Node.js Kurulumu<\/h3>\n<p>NodeSource, Node.js&#8217;nin en g\u00fcncel s\u00fcr\u00fcmlerini ve LTS s\u00fcr\u00fcmlerini \u00e7e\u015fitli Linux da\u011f\u0131t\u0131mlar\u0131 i\u00e7in paketler halinde sunan pop\u00fcler bir \u00fc\u00e7\u00fcnc\u00fc taraf deposudur. E\u011fer DNF mod\u00fclleri size uygun de\u011filse veya belirli bir Node.js s\u00fcr\u00fcm\u00fcne daha h\u0131zl\u0131 eri\u015fim sa\u011flamak istiyorsan\u0131z bu y\u00f6ntem iyi bir alternatiftir.<\/p>\n<h4>NodeSource Deposunu Eklemek<\/h4>\n<p>NodeSource deposunu sisteminize eklemek i\u00e7in, NodeSource taraf\u0131ndan sa\u011flanan kurulum komut dosyas\u0131n\u0131 kullanman\u0131z gerekir. Bu komut dosyas\u0131, sisteminize uygun depoyu yap\u0131land\u0131r\u0131r.<\/p>\n<p>\u00d6rne\u011fin, Node.js&#8217;nin en son LTS s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin, Node.js 18.x) eklemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">curl -fsSL https:\/\/rpm.nodesource.com\/setup_18.x | sudo bash -<\/code><\/pre>\n<p>E\u011fer Node.js&#8217;nin en g\u00fcncel &#8220;Current&#8221; s\u00fcr\u00fcm\u00fcn\u00fc (LTS olmayan en son s\u00fcr\u00fcm) kurmak isterseniz:<\/p>\n<pre><code class=\"language-bash\">curl -fsSL https:\/\/rpm.nodesource.com\/setup_current.x | sudo bash -<\/code><\/pre>\n<p>Belirli bir Node.js s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin, 16.x) kurmak isterseniz, URL&#8217;yi buna g\u00f6re de\u011fi\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">curl -fsSL https:\/\/rpm.nodesource.com\/setup_16.x | sudo bash -<\/code><\/pre>\n<p>Bu komutlar, NodeSource deposunu sisteminizin DNF yap\u0131land\u0131rmas\u0131na ekler ve DNF \u00f6nbelle\u011fini otomatik olarak g\u00fcnceller.<\/p>\n<h4>Node.js ve NPM Kurulumu<\/h4>\n<p>Depo eklendikten sonra, Node.js ve NPM&#8217;yi y\u00fcklemek i\u00e7in standart DNF komutunu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo dnf install -y nodejs<\/code><\/pre>\n<p>Bu komut, NodeSource deposundan Node.js ve NPM&#8217;yi indirip kuracakt\u0131r.<\/p>\n<h4>Kurulumu Do\u011frulama<\/h4>\n<p>Kurulum tamamland\u0131ktan sonra, Node.js ve NPM&#8217;nin do\u011fru bir \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">node -v\nnpm -v<\/code><\/pre>\n<p>Bu komutlar, NodeSource deposundan y\u00fckledi\u011finiz Node.js ve NPM s\u00fcr\u00fcmlerini g\u00f6stermelidir.<\/p>\n<p>NodeSource deposu, DNF mod\u00fcllerine g\u00f6re daha h\u0131zl\u0131 g\u00fcncellemeler sunabilir ve belirli s\u00fcr\u00fcmleri hedeflemek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r. Ancak, \u00fc\u00e7\u00fcnc\u00fc taraf bir depo oldu\u011fu i\u00e7in, CentOS DNF mod\u00fcllerine k\u0131yasla potansiyel olarak daha az &#8220;resmi&#8221; bir y\u00f6ntem olarak g\u00f6r\u00fclebilir.<\/p>\n<h3>Y\u00f6ntem 4: Kaynak Koddan Node.js Derleyerek Kurulum<\/h3>\n<p>Kaynak koddan derleme, Node.js&#8217;nin en g\u00fcncel s\u00fcr\u00fcm\u00fcn\u00fc y\u00fcklemenize, \u00f6zel derleme se\u00e7eneklerini kullanman\u0131za veya \u00f6nceden derlenmi\u015f bir ikili paketin mevcut olmad\u0131\u011f\u0131 durumlarda Node.js&#8217;yi kurman\u0131za olanak tan\u0131r. Ancak, bu y\u00f6ntem di\u011ferlerine g\u00f6re daha karma\u015f\u0131k ve zaman al\u0131c\u0131d\u0131r ve \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in genellikle \u00f6nerilmez. Genellikle yaln\u0131zca \u00e7ok \u00f6zel ihtiya\u00e7lar\u0131n\u0131z varsa bu y\u00f6ntemi d\u00fc\u015f\u00fcnmelisiniz.<\/p>\n<h4>\u00d6nko\u015fullar\u0131 Y\u00fckleme<\/h4>\n<p>Kaynak koddan derlemek i\u00e7in bir dizi geli\u015ftirme arac\u0131na ihtiyac\u0131n\u0131z olacakt\u0131r. Bu ara\u00e7lar\u0131 sistem haz\u0131rl\u0131\u011f\u0131 b\u00f6l\u00fcm\u00fcnde zaten y\u00fcklemi\u015f olmal\u0131s\u0131n\u0131z (<code>Development Tools<\/code> veya <code>gcc-c++ make<\/code>).<\/p>\n<pre><code class=\"language-bash\">sudo dnf install -y gcc-c++ make python3<\/code><\/pre>\n<h4>Node.js Kaynak Kodunu \u0130ndirme<\/h4>\n<p>Node.js&#8217;nin resmi web sitesinden (nodejs.org) istedi\u011finiz s\u00fcr\u00fcm\u00fcn kaynak kodunu indirin. Genellikle <code>.tar.gz<\/code> uzant\u0131l\u0131 bir ar\u015fiv dosyas\u0131d\u0131r. En son LTS s\u00fcr\u00fcm\u00fcn\u00fc indirmek i\u00e7in \u00f6rnek:<\/p>\n<pre><code class=\"language-bash\">wget https:\/\/nodejs.org\/dist\/v18.17.1\/node-v18.17.1.tar.gz<\/code><\/pre>\n<p><em>Not: <code>v18.17.1<\/code> yerine kurmak istedi\u011finiz Node.js s\u00fcr\u00fcm\u00fcn\u00fc kullan\u0131n. En g\u00fcncel s\u00fcr\u00fcmleri Node.js indirme sayfas\u0131ndan kontrol edebilirsiniz.<\/em><\/p>\n<h4>Kaynak Kodu \u00c7\u0131karma ve Derleme<\/h4>\n<p>\u0130ndirdi\u011finiz ar\u015fiv dosyas\u0131n\u0131 \u00e7\u0131kar\u0131n ve dizinine gidin:<\/p>\n<pre><code class=\"language-bash\">tar -xzf node-v18.17.1.tar.gz\ncd node-v18.17.1<\/code><\/pre>\n<p>\u015eimdi, Node.js&#8217;yi derlemek ve kurmak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">.\/configure\nmake -j$(nproc)\nsudo make install<\/code><\/pre>\n<p>*   <code>.\/configure<\/code>: Derleme i\u015flemi i\u00e7in gerekli ortam\u0131 ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 kontrol eder ve ayarlar.<br \/>\n*   <code>make -j$(nproc)<\/code>: Kaynak kodunu derler. <code>-j$(nproc)<\/code> bayra\u011f\u0131, derleme i\u015flemini CPU \u00e7ekirde\u011fi say\u0131n\u0131z kadar paralel i\u015flemle h\u0131zland\u0131r\u0131r. Bu i\u015flem, sisteminizin donan\u0131m\u0131na ba\u011fl\u0131 olarak olduk\u00e7a uzun s\u00fcrebilir.<br \/>\n*   <code>sudo make install<\/code>: Derlenmi\u015f Node.js ikili dosyalar\u0131n\u0131 sisteminize y\u00fckler. Varsay\u0131lan olarak <code>\/usr\/local\/bin<\/code>, <code>\/usr\/local\/lib<\/code> gibi dizinlere y\u00fcklenir.<\/p>\n<h4>Kurulumu Do\u011frulama<\/h4>\n<p>Derleme ve kurulum tamamland\u0131ktan sonra, Node.js ve NPM&#8217;nin do\u011fru bir \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">node -v\nnpm -v<\/code><\/pre>\n<p>Bu komutlar, derledi\u011finiz Node.js ve NPM s\u00fcr\u00fcmlerini g\u00f6stermelidir.<\/p>\n<p>Kaynak koddan derleme, Node.js \u00fczerinde en y\u00fcksek d\u00fczeyde kontrol sa\u011flar ancak bak\u0131m ve g\u00fcncelleme a\u00e7\u0131s\u0131ndan daha fazla \u00e7aba gerektirir. \u00c7o\u011fu durumda, paket y\u00f6neticisi veya NVM gibi daha kolay y\u00f6ntemler tercih edilmelidir.<\/p>\n<h3>Node.js Post-Kurulum ve Temel Kullan\u0131m<\/h3>\n<p>Node.js&#8217;yi kurduktan sonra, baz\u0131 temel i\u015flemleri ve ek yap\u0131land\u0131rmalar\u0131 g\u00f6zden ge\u00e7irmek faydal\u0131 olacakt\u0131r.<\/p>\n<h4>Basit Bir Node.js Uygulamas\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h4>\n<p>Node.js kurulumunuzun \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in basit bir &#8220;Merhaba D\u00fcnya&#8221; uygulamas\u0131 olu\u015ftural\u0131m.<\/p>\n<p>1.  <code>app.js<\/code> ad\u0131nda bir dosya olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">nano app.js<\/code><\/pre>\n<p>2.  Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki kodu yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-javascript\">console.log(\"Merhaba, Node.js CentOS 8 \u00fczerinde \u00e7al\u0131\u015f\u0131yor!\");\n\n    const http = require('http');\n\n    const hostname = '0.0.0.0'; \/\/ T\u00fcm a\u011f aray\u00fczlerinden eri\u015filebilir\n    const port = 3000;\n\n    const server = http.createServer((req, res) => {\n      res.statusCode = 200;\n      res.setHeader('Content-Type', 'text\/plain');\n      res.end('Node.js sunucusu CentOS 8\\'de calisiyor!\\n');\n    });\n\n    server.listen(port, hostname, () => {\n      console.log(<code>Sunucu http:\/\/${hostname}:${port}\/ adresinde \u00e7al\u0131\u015f\u0131yor.<\/code>);\n    });<\/code><\/pre>\n<p>3.  Dosyay\u0131 kaydedin ve kapat\u0131n (nano&#8217;da <code>Ctrl+X<\/code>, <code>Y<\/code>, <code>Enter<\/code>).<\/p>\n<p>4.  Uygulamay\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">node app.js<\/code><\/pre>\n<p>    Konsolda &#8220;Merhaba, Node.js CentOS 8 \u00fczerinde \u00e7al\u0131\u015f\u0131yor!&#8221; ve &#8220;Sunucu http:\/\/0.0.0.0:3000\/ adresinde \u00e7al\u0131\u015f\u0131yor.&#8221; mesajlar\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<p>5.  Web sunucusuna eri\u015fmek i\u00e7in, CentOS 8 sunucunuzun IP adresini veya alan ad\u0131n\u0131 kullanarak bir web taray\u0131c\u0131s\u0131ndan <code>http:\/\/SUNUCU_IP_ADRES\u0130:3000<\/code> adresine gidin. &#8220;Node.js sunucusu CentOS 8&#8217;de calisiyor!&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h4>NPM (Node Package Manager) Kullan\u0131m\u0131<\/h4>\n<p>NPM, Node.js paketlerini y\u00f6netmek i\u00e7in kullan\u0131lan birincil ara\u00e7t\u0131r.<\/p>\n<p>*   <strong>Yeni bir Node.js projesi ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">mkdir my-node-app\n    cd my-node-app\n    npm init -y<\/code><\/pre>\n<p>    Bu komutlar, yeni bir dizin olu\u015fturur ve varsay\u0131lan de\u011ferlerle bir <code>package.json<\/code> dosyas\u0131 ba\u015flat\u0131r.<\/p>\n<p>*   <strong>Bir paketi y\u00fckleme:<\/strong><\/p>\n<p>    \u00d6rne\u011fin, pop\u00fcler Express.js web \u00e7er\u00e7evesini y\u00fcklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">npm install express<\/code><\/pre>\n<p>    Bu komut, <code>express<\/code> paketini projenizin <code>node_modules<\/code> dizinine indirir ve <code>package.json<\/code> dosyan\u0131za bir ba\u011f\u0131ml\u0131l\u0131k olarak ekler.<\/p>\n<p>*   <strong>Genel bir paketi y\u00fckleme:<\/strong><\/p>\n<p>    Baz\u0131 ara\u00e7lar (\u00f6rne\u011fin, PM2 gibi s\u00fcre\u00e7 y\u00f6neticileri) sistem genelinde kullan\u0131lmak \u00fczere tasarlanm\u0131\u015ft\u0131r. Bunlar\u0131 genel olarak y\u00fcklemek i\u00e7in <code>-g<\/code> bayra\u011f\u0131n\u0131 kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">npm install -g pm2<\/code><\/pre>\n<h4>Firewall Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>E\u011fer Node.js uygulaman\u0131z bir web sunucusu gibi a\u011f \u00fczerinden eri\u015filebilir bir servis \u00e7al\u0131\u015ft\u0131r\u0131yorsa, CentOS 8&#8217;in g\u00fcvenlik duvar\u0131nda ilgili portu a\u00e7man\u0131z gerekebilir. Yukar\u0131daki \u00f6rnekte 3000 numaral\u0131 portu kulland\u0131k.<\/p>\n<pre><code class=\"language-bash\">sudo firewall-cmd --permanent --add-port=3000\/tcp\nsudo firewall-cmd --reload<\/code><\/pre>\n<p>Bu komutlar, 3000 numaral\u0131 TCP portunu kal\u0131c\u0131 olarak a\u00e7ar ve g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131 yeniden y\u00fckler.<\/p>\n<h4>Node.js Uygulamalar\u0131n\u0131 S\u00fcre\u00e7 Y\u00f6neticisi ile \u00c7al\u0131\u015ft\u0131rma (PM2)<\/h4>\n<p>\u00dcretim ortamlar\u0131nda Node.js uygulamalar\u0131n\u0131 do\u011frudan <code>node app.js<\/code> komutuyla \u00e7al\u0131\u015ft\u0131rmak tavsiye edilmez. Uygulaman\u0131z \u00e7\u00f6kerse veya sunucu yeniden ba\u015flat\u0131l\u0131rsa, manuel olarak yeniden ba\u015flat\u0131lmas\u0131 gerekir. PM2 gibi bir s\u00fcre\u00e7 y\u00f6neticisi, uygulamalar\u0131n\u0131z\u0131 arka planda \u00e7al\u0131\u015ft\u0131rman\u0131za, \u00e7\u00f6kmeleri durumunda otomatik olarak yeniden ba\u015flatman\u0131za ve sistem yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak ba\u015flamalar\u0131n\u0131 sa\u011flaman\u0131za olanak tan\u0131r.<\/p>\n<p>1.  <strong>PM2&#8217;yi genel olarak y\u00fckleyin:<\/strong><\/p>\n<pre><code class=\"language-bash\">npm install pm2 -g<\/code><\/pre>\n<p>2.  <strong>Uygulaman\u0131z\u0131 PM2 ile ba\u015flat\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">pm2 start app.js<\/code><\/pre>\n<p>3.  <strong>PM2 ile \u00e7al\u0131\u015fan uygulamalar\u0131n\u0131z\u0131 listeleyin:<\/strong><\/p>\n<pre><code class=\"language-bash\">pm2 list<\/code><\/pre>\n<p>4.  <strong>Sistem yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda PM2&#8217;nin uygulamalar\u0131n\u0131z\u0131 otomatik olarak ba\u015flatmas\u0131n\u0131 sa\u011flay\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">pm2 startup systemd\n    pm2 save<\/code><\/pre>\n<p>    <code>pm2 startup systemd<\/code> komutu, PM2&#8217;nin systemd servisi olarak ba\u015flamas\u0131 i\u00e7in gerekli komutu verir. Bu komutun \u00e7\u0131kt\u0131s\u0131 size bir komut sat\u0131r\u0131 verecektir; bu komutu root olarak \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir. \u00d6rne\u011fin: <code>sudo systemctl enable pm2-root<\/code>. Daha sonra <code>pm2 save<\/code> komutu, mevcut \u00e7al\u0131\u015fan PM2 s\u00fcre\u00e7lerini kaydeder, b\u00f6ylece systemd yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda bunlar\u0131 tekrar ba\u015flatabilir.<\/p>\n<p>PM2, Node.js uygulamalar\u0131n\u0131z\u0131 \u00fcretimde y\u00f6netmek i\u00e7in \u00e7ok g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r ve kullan\u0131lmas\u0131 \u015fiddetle tavsiye edilir.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Node.js kurulumu s\u0131ras\u0131nda veya sonras\u0131nda baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte baz\u0131lar\u0131 ve olas\u0131 \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong><code>node: command not found<\/code> veya <code>npm: command not found<\/code>:<\/strong><br \/>\n    *   <strong>Neden:<\/strong> Node.js veya NPM, sisteminizin PATH de\u011fi\u015fkeninde bulunmuyor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n        *   DNF mod\u00fclleri veya NodeSource ile kurduysan\u0131z, kurulumun ba\u015far\u0131l\u0131 oldu\u011fundan ve PATH&#8217;inizin do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olun (genellikle <code>\/usr\/local\/bin<\/code> veya <code>\/usr\/bin<\/code> PATH&#8217;te olmal\u0131d\u0131r).<br \/>\n        *   NVM ile kurduysan\u0131z, NVM&#8217;nin kabuk yap\u0131land\u0131rma dosyan\u0131zda (\u00f6rn. <code>~\/.bashrc<\/code>) do\u011fru bir \u015fekilde kaynakland\u0131\u011f\u0131ndan emin olun ve oturumunuzu yeniden ba\u015flat\u0131n veya <code>source ~\/.bashrc<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n.<br \/>\n        *   Kaynak koddan derlediyseniz, <code>sudo make install<\/code> komutunun hatas\u0131z \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan ve ikili dosyalar\u0131n PATH&#8217;te olan bir dizine y\u00fcklendi\u011finden emin olun.<\/p>\n<p>*   <strong>\u0130zin Hatalar\u0131 (EACCES):<\/strong><br \/>\n    *   <strong>Neden:<\/strong> NPM paketlerini genel olarak y\u00fcklemeye \u00e7al\u0131\u015f\u0131rken veya belirli dizinlere yazmaya \u00e7al\u0131\u015f\u0131rken yetersiz izinler.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n        *   Genel paketleri y\u00fcklerken <code>sudo npm install -g <package><\/code> kullanmaktan ka\u00e7\u0131n\u0131n. Bu, bazen izin sorunlar\u0131na yol a\u00e7abilir ve NPM&#8217;nin kendi dizinini sahiplenmesini bozabilir. NPM&#8217;nin \u00f6nerilen yolu, genel paketleri kullan\u0131c\u0131 dizininize y\u00fcklemek i\u00e7in NPM&#8217;nin kendi yap\u0131land\u0131rmas\u0131n\u0131 kullanmakt\u0131r.<br \/>\n        *   <code>npm config set prefix ~\/.npm-global<\/code> komutuyla genel paketlerin kurulaca\u011f\u0131 dizini kullan\u0131c\u0131 dizininiz i\u00e7inde bir yere ayarlayabilirsiniz. Ard\u0131ndan bu dizini PATH&#8217;inize eklemeniz gerekir.<br \/>\n        *   Alternatif olarak, NVM kullanmak bu t\u00fcr izin sorunlar\u0131n\u0131 otomatik olarak \u00e7\u00f6zer, \u00e7\u00fcnk\u00fc NVM Node.js ve NPM&#8217;yi kullan\u0131c\u0131 dizininize kurar ve y\u00f6netir.<\/p>\n<p>*   <strong><code>dnf install nodejs<\/code> komutu yanl\u0131\u015f s\u00fcr\u00fcm\u00fc y\u00fckl\u00fcyor:<\/strong><br \/>\n    *   <strong>Neden:<\/strong> DNF mod\u00fcllerini kullan\u0131yorsan\u0131z, do\u011fru Node.js ak\u0131\u015f\u0131n\u0131 etkinle\u015ftirmemi\u015f olabilirsiniz.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>sudo dnf module reset nodejs -y<\/code> komutuyla mevcut Node.js mod\u00fcl\u00fcn\u00fc s\u0131f\u0131rlay\u0131n ve ard\u0131ndan <code>sudo dnf module enable nodejs:XX -y<\/code> (XX istedi\u011finiz s\u00fcr\u00fcm) ile do\u011fru ak\u0131\u015f\u0131 etkinle\u015ftirin.<\/p>\n<p>*   <strong>A\u011f Ba\u011flant\u0131s\u0131 Sorunlar\u0131:<\/strong><br \/>\n    *   <strong>Neden:<\/strong> Node.js veya NPM paketlerini indirirken a\u011f ba\u011flant\u0131s\u0131 sorunlar\u0131 veya proxy yap\u0131land\u0131rmas\u0131.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> \u0130nternet ba\u011flant\u0131n\u0131z\u0131 kontrol edin. Bir proxy arkas\u0131ndaysan\u0131z, <code>npm config set proxy http:\/\/proxy.example.com:8080<\/code> ve <code>npm config set https-proxy http:\/\/proxy.example.com:8080<\/code> komutlar\u0131yla NPM&#8217;yi proxy kullanacak \u015fekilde yap\u0131land\u0131rman\u0131z gerekebilir.<\/p>\n<p>*   <strong>Derleme Hatalar\u0131 (Kaynak Koddan Kurulumda):<\/strong><br \/>\n    *   <strong>Neden:<\/strong> Gerekli geli\u015ftirme ara\u00e7lar\u0131 eksik, ba\u011f\u0131ml\u0131l\u0131klar kar\u015f\u0131lanm\u0131yor veya sisteminizde uyumsuz bir derleyici var.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>sudo dnf groupinstall \"Development Tools\" -y<\/code> veya <code>sudo dnf install -y gcc-c++ make python3<\/code> komutlar\u0131yla gerekli t\u00fcm geli\u015ftirme ara\u00e7lar\u0131n\u0131n y\u00fckl\u00fc oldu\u011fundan emin olun. Hata mesajlar\u0131n\u0131 dikkatlice okuyarak eksik ba\u011f\u0131ml\u0131l\u0131klar\u0131 belirlemeye \u00e7al\u0131\u015f\u0131n.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu rehberde, CentOS 8 i\u015fletim sistemi \u00fczerine Node.js kurmak i\u00e7in d\u00f6rt farkl\u0131 y\u00f6ntemi detayl\u0131 bir \u015fekilde ele ald\u0131k: DNF mod\u00fclleri, NVM, NodeSource deposu ve kaynak koddan derleme. Her y\u00f6ntemin kendine \u00f6zg\u00fc avantajlar\u0131 ve kullan\u0131m senaryolar\u0131 bulunmaktad\u0131r.<\/p>\n<p>*   <strong>CentOS DNF Mod\u00fclleri:<\/strong> \u00c7o\u011fu kullan\u0131c\u0131 i\u00e7in en basit, en kararl\u0131 ve \u00f6nerilen y\u00f6ntemdir. CentOS&#8217;un resmi depolar\u0131ndan gelir ve sistemle iyi entegre olur.<br \/>\n*   <strong>NVM (Node Version Manager):<\/strong> Birden fazla Node.js s\u00fcr\u00fcm\u00fcn\u00fc y\u00f6netmek isteyen geli\u015ftiriciler i\u00e7in m\u00fckemmel bir se\u00e7imdir. Geli\u015ftirme ortamlar\u0131nda esneklik sa\u011flar.<br \/>\n*   <strong>NodeSource Deposu:<\/strong> Belirli Node.js s\u00fcr\u00fcmlerine h\u0131zl\u0131 eri\u015fim sa\u011flamak veya DNF mod\u00fcllerine alternatif arayanlar i\u00e7in iyi bir se\u00e7enektir.<br \/>\n*   <strong>Kaynak Koddan Derleme:<\/strong> En y\u00fcksek d\u00fczeyde kontrol ve \u00f6zelle\u015ftirme gerektiren ileri d\u00fczey kullan\u0131c\u0131lar i\u00e7in uygundur, ancak daha fazla \u00e7aba ve teknik bilgi gerektirir.<\/p>\n<p>Kurulum y\u00f6ntemini se\u00e7erken projenizin gereksinimlerini, bak\u0131m kolayl\u0131\u011f\u0131n\u0131 ve sistem kararl\u0131l\u0131\u011f\u0131n\u0131 g\u00f6z \u00f6n\u00fcnde bulundurman\u0131z \u00f6nemlidir. Her y\u00f6ntemin sonunda, Node.js ve NPM kurulumunu do\u011frulama ad\u0131mlar\u0131n\u0131 ve basit bir &#8220;Merhaba D\u00fcnya&#8221; uygulamas\u0131n\u0131 nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 g\u00f6sterdik. Ayr\u0131ca, \u00fcretim ortam\u0131nda Node.js uygulamalar\u0131n\u0131 y\u00f6netmek i\u00e7in PM2 gibi bir s\u00fcre\u00e7 y\u00f6neticisi kullanman\u0131n \u00f6nemine de\u011findik ve temel firewall yap\u0131land\u0131rmas\u0131n\u0131 a\u00e7\u0131klad\u0131k.<\/p>\n<p>Node.js, CentOS 8 \u00fczerinde \u00e7al\u0131\u015f\u0131rken g\u00fc\u00e7l\u00fc ve \u00f6l\u00e7eklenebilir web uygulamalar\u0131 ve API&#8217;ler olu\u015fturman\u0131z i\u00e7in sa\u011flam bir temel sunar. Bu rehberdeki ad\u0131mlar\u0131 takip ederek, Node.js geli\u015ftirme ortam\u0131n\u0131z\u0131 ba\u015far\u0131yla kurmu\u015f olacaks\u0131n\u0131z. Art\u0131k Node.js d\u00fcnyas\u0131na dalmaya ve harika uygulamalar geli\u015ftirmeye haz\u0131rs\u0131n\u0131z!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi\nBu kapsaml\u0131 rehber, CentOS 8 i\u015fletim sistemi \u00fczerine Node.js&#8217;yi nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-37717","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi\" \/>\n<meta property=\"og:description\" content=\"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi Bu kapsaml\u0131 rehber, CentOS 8 i\u015fletim sistemi \u00fczerine Node.js&#039;yi nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-13T10:40:54+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi\",\"datePublished\":\"2026-01-13T10:40:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/\"},\"wordCount\":3395,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/\",\"name\":\"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-13T10:40:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi","og_description":"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi Bu kapsaml\u0131 rehber, CentOS 8 i\u015fletim sistemi \u00fczerine Node.js'yi nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m","og_url":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-13T10:40:54+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi","datePublished":"2026-01-13T10:40:54+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/"},"wordCount":3395,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/","name":"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-13T10:40:54+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerine-node-js-kurulumu-kapsamli-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CentOS 8 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37717"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37717\/revisions"}],"predecessor-version":[{"id":37718,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37717\/revisions\/37718"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}