{"id":15638,"date":"2024-06-04T15:39:46","date_gmt":"2024-06-04T12:09:46","guid":{"rendered":"https:\/\/www.itpiran.net\/blog\/?p=15638"},"modified":"2024-06-04T15:39:46","modified_gmt":"2024-06-04T12:09:46","slug":"deploying-a-next-js-application-on-a-digitalocean-droplet","status":"publish","type":"post","link":"https:\/\/www.itpiran.net\/blog\/tr\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/","title":{"rendered":"Next.js uygulamas\u0131n\u0131n DigitalOcean Droplet&#039;e da\u011f\u0131t\u0131lmas\u0131"},"content":{"rendered":"<h2 id=\"%d9%85%d9%82%d8%af%d9%85%d9%87\">girii\u015f<\/h2>\n<p>Next.js, sunucu taraf\u0131nda i\u015flenen React uygulamalar\u0131n\u0131 kolayca olu\u015fturmak i\u00e7in kullan\u0131lan pop\u00fcler bir React \u00e7er\u00e7evesidir. Bu e\u011fitimde, Nginx&#039;i ters proxy olarak kullanarak bir DigitalOcean sunucusuna Next.js uygulamas\u0131n\u0131 nas\u0131l da\u011f\u0131taca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m ele alaca\u011f\u0131z. Bu ad\u0131m ad\u0131m k\u0131lavuz, da\u011f\u0131t\u0131ma haz\u0131r bir Next.js uygulaman\u0131z\u0131n ve bir DigitalOcean hesab\u0131n\u0131z\u0131n oldu\u011funu varsaymaktad\u0131r.<\/p>\n<h5 id=\"%d9%be%db%8c%d8%b4-%d9%86%db%8c%d8%a7%d8%b2%d9%87%d8%a7\">\u00d6n ko\u015fullar<\/h5>\n<ul>\n<li>Bir Next.js uygulamas\u0131<\/li>\n<li>Bir DigitalOcean hesab\u0131<\/li>\n<li>Kay\u0131tl\u0131 alan ad\u0131 (iste\u011fe ba\u011fl\u0131 ancak \u00f6nerilir)<\/li>\n<li>Node.js ve npm veya yarn&#039;\u0131n yerel kurulumu<\/li>\n<\/ul>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-1-%d8%a7%db%8c%d8%ac%d8%a7%d8%af-%db%8c%da%a9-digitalocean-droplet\">Ad\u0131m 1: Bir DigitalOcean Droplet&#039;i olu\u015fturun<\/h2>\n<p>Next.js uygulamam\u0131z\u0131 kendimiz yap\u0131land\u0131raca\u011f\u0131m\u0131z bir DigitalOcean Droplet&#039;inde bar\u0131nd\u0131raca\u011f\u0131z. \u015eimdi droplet&#039;i olu\u015ftural\u0131m.<\/p>\n<ul>\n<li>DigitalOcean hesab\u0131n\u0131za giri\u015f yap\u0131n ve Droplets b\u00f6l\u00fcm\u00fcne gidin.<\/li>\n<li>\u201cDROPLET Olu\u015ftur\u201d se\u00e7ene\u011fine t\u0131klay\u0131n.<\/li>\n<li>Ubuntu imaj\u0131n\u0131 se\u00e7in (tercihen en son LTS s\u00fcr\u00fcm\u00fcn\u00fc).<\/li>\n<li>\u0130htiya\u00e7lar\u0131n\u0131za ve b\u00fct\u00e7enize g\u00f6re istedi\u011finiz damla boyutunu se\u00e7in.<\/li>\n<li>Daha iyi performans i\u00e7in, hedef kitlenize en yak\u0131n veri merkezi b\u00f6lgesini se\u00e7in.<\/li>\n<li>Droplet&#039;inize g\u00fcvenli eri\u015fim i\u00e7in SSH anahtarlar\u0131n\u0131z\u0131 ekleyin.<\/li>\n<li>Droplet&#039;iniz i\u00e7in bir sunucu ad\u0131 se\u00e7in; bu, alan ad\u0131n\u0131z veya tercih etti\u011finiz herhangi bir ad olabilir.<\/li>\n<li>\u201cDROPLET Olu\u015ftur\u201d se\u00e7ene\u011fine t\u0131klay\u0131n.<\/li>\n<li>Damlac\u0131\u011f\u0131 olu\u015fturun<\/li>\n<\/ul>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"1350\"  height=\"1182\"  class=\"aligncenter wp-image-15639 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 1350px) 100vw, 1350px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet.png 1350w, https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet-300x263.png 300w, https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet-1024x897.png 1024w, https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet-768x672.png 768w, https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet-110x96.png 110w, https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet-200x175.png 200w, https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet-380x333.png 380w, https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet-255x223.png 255w, https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet-550x482.png 550w, https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet-800x700.png 800w, https:\/\/cdn.itpiran.net\/2024\/06\/04151644\/create-droplet-1160x1016.png 1160w\" ><\/p>\n<p>Droplet olu\u015fturulduktan sonra, ona atanan IP adresini not edin.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-2-%d8%b1%d8%a7%d9%87-%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-droplet\">Ad\u0131m 2: Damlac\u0131\u011f\u0131 Ba\u015flat\u0131n<\/h2>\n<p>Art\u0131k droplet&#039;i olu\u015fturdu\u011fumuza g\u00f6re, gelen ba\u011flant\u0131lar\u0131 kabul edebilmesi ve bu ba\u011flant\u0131lar\u0131 Next.js uygulamam\u0131za y\u00f6nlendirebilmesi i\u00e7in onu haz\u0131rlamam\u0131z gerekiyor.<\/p>\n<p>Droplet olu\u015fturma s\u0131ras\u0131nda verdi\u011finiz IP adresi ve SSH anahtar\u0131n\u0131 kullanarak droplet&#039;inize SSH ile ba\u011flan\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>ssh root@&lt;DROPLET_IP&gt;\r\n<\/code><\/pre>\n<\/div>\n<p>Droplet&#039;te paketleri g\u00fcncelleme ve y\u00fckseltme:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo apt update &amp;&amp; sudo apt upgrade -y\r\n<\/code><\/pre>\n<\/div>\n<p>Gerekli paketleri y\u00fckleyin:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo apt install -y nodejs npm nginx\r\n<\/code><\/pre>\n<\/div>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-3-%d9%be%db%8c%da%a9%d8%b1%d8%a8%d9%86%d8%af%db%8c-nginx\">3. Ad\u0131m: Nginx&#039;i Yap\u0131land\u0131r\u0131n<\/h2>\n<p>Nginx, Next.js uygulamam\u0131za giden t\u00fcm y\u00f6nlendirmeleri y\u00f6neten ara\u00e7t\u0131r. Next.js uygulaman\u0131z i\u00e7in yeni bir Nginx yap\u0131land\u0131rma dosyas\u0131 olu\u015fturun:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo nano \/etc\/nginx\/sites-available\/nextjs\r\n<\/code><\/pre>\n<\/div>\n<p>A\u015fa\u011f\u0131daki yap\u0131land\u0131rmay\u0131 yap\u0131\u015ft\u0131r\u0131n ve server_name yerine droplet alan ad\u0131n\u0131z\u0131 veya IP adresinizi yaz\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>server {\r\nlisten 80;\r\nserver_name YOUR_IP_ADDRESS;\r\nlocation \/ {\r\nproxy_pass http:\/\/localhost:3000;\r\nproxy_http_version 1.1;\r\nproxy_set_header Upgrade $http_upgrade;\r\nproxy_set_header Connection 'upgrade';\r\nproxy_set_header Host $host;\r\nproxy_cache_bypass $http_upgrade;\r\n}\r\n}<\/code><\/pre>\n<\/div>\n<p>Dosyay\u0131 kaydedip kapat\u0131n. Yap\u0131land\u0131rmay\u0131 etkinle\u015ftirmek i\u00e7in sembolik bir ba\u011flant\u0131 olu\u015fturun:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo ln -s \/etc\/nginx\/sites-available\/nextjs \/etc\/nginx\/sites-enabled\/\r\n<\/code><\/pre>\n<\/div>\n<p>Nginx yap\u0131land\u0131rmas\u0131nda s\u00f6zdizimi hatalar\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo nginx -t\r\n<\/code><\/pre>\n<\/div>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"1686\"  height=\"440\"  class=\"aligncenter wp-image-15640 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 1686px) 100vw, 1686px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config.png 1686w, https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config-300x78.png 300w, https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config-1024x267.png 1024w, https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config-768x200.png 768w, https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config-1536x401.png 1536w, https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config-110x29.png 110w, https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config-200x52.png 200w, https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config-380x99.png 380w, https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config-255x67.png 255w, https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config-550x144.png 550w, https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config-800x209.png 800w, https:\/\/cdn.itpiran.net\/2024\/06\/04152205\/check-nginx-config-1160x303.png 1160w\" ><\/p>\n<p>Yap\u0131land\u0131rma testi ba\u015far\u0131l\u0131ysa, Nginx&#039;i yeniden ba\u015flat\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo service nginx restart\r\n<\/code><\/pre>\n<\/div>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-4-%d8%a7%d8%b3%d8%aa%d9%82%d8%b1%d8%a7%d8%b1-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-next-js\">Ad\u0131m 4: Next.js uygulamas\u0131n\u0131 da\u011f\u0131t\u0131n<\/h2>\n<p>Ard\u0131ndan, Next.js uygulamas\u0131n\u0131 Droplet&#039;e y\u00fckl\u00fcyoruz. Bunu yapman\u0131n bir\u00e7ok yolu var.<\/p>\n<ol>\n<li>Sunucuda bir SSH anahtar\u0131 olu\u015fturun, bunu GitHub hesab\u0131n\u0131za ba\u011flay\u0131n ve deponuzu klonlay\u0131n.<\/li>\n<li>Droplet&#039;te Next.js uygulamas\u0131 olu\u015fturun<\/li>\n<\/ol>\n<p>Bu e\u011fitimde, Droplet&#039;imizde yeni bir Next.js uygulamas\u0131 olu\u015fturaca\u011f\u0131z.<\/p>\n<p>Droplet&#039;inize SSH ile tekrar ba\u011flan\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>ssh root@&lt;DROPLET_IP&gt;\r\n<\/code><\/pre>\n<\/div>\n<p>Yeni bir Next.js uygulamas\u0131 olu\u015fturun ve talimatlar\u0131 izleyin:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cd \/var\/www\r\nnpx create-next-app nextjs<\/code><\/pre>\n<\/div>\n<p>Next.js uygulama dizinine gidin:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cd nextjs\r\n<\/code><\/pre>\n<\/div>\n<p>Program\u0131n ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00fckleyin:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>npm install\r\n<\/code><\/pre>\n<\/div>\n<p>Next.js uygulamas\u0131n\u0131 olu\u015fturun:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>npm run build\r\n<\/code><\/pre>\n<\/div>\n<p>Son olarak, Next.js uygulamas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>npm start\r\n<\/code><\/pre>\n<\/div>\n<p>Next.js uygulaman\u0131z art\u0131k da\u011f\u0131t\u0131ld\u0131 ve droplet alan ad\u0131n\u0131z veya IP adresiniz \u00fczerinden eri\u015filebilir durumda. Uygulaman\u0131z\u0131n arka planda \u00e7al\u0131\u015fmas\u0131n\u0131 ve sunucu \u00e7\u00f6kt\u00fc\u011f\u00fcnde veya yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak yeniden ba\u015flat\u0131lmas\u0131n\u0131 sa\u011flamak i\u00e7in PM2 gibi bir i\u015flem y\u00f6neticisi kullanman\u0131z gerekecektir.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-5-%d8%b1%d8%a7%d9%87-%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-pm2-process-manager\">Ad\u0131m 5: PM2 S\u00fcre\u00e7 Y\u00f6neticisini Ba\u015flat\u0131n<\/h2>\n<p>npm&#039;i Droplet&#039;imiz i\u00e7inden ba\u015flatt\u0131k. Bazen bu komut, sunucu yeniden ba\u015flat\u0131lmas\u0131 veya y\u00fcklenmesi gereken bir g\u00fcncelleme gibi nedenlerle \u00e7al\u0131\u015fmay\u0131 durdurabilir. Next.js uygulamam\u0131z\u0131n her zaman \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in PM2 adl\u0131 bir ara\u00e7 kullanaca\u011f\u0131z. PM2, Next.js uygulamas\u0131 \u00e7\u00f6kse bile yeniden ba\u015flat\u0131lacakt\u0131r.<\/p>\n<p>PM2&#039;yi sunucunuzda global olarak y\u00fcklemek i\u00e7in:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo npm install -g pm2\r\n<\/code><\/pre>\n<\/div>\n<p>Next.js uygulama dizinine gidin (e\u011fer zaten orada de\u011filse):<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cd \/var\/www\/nextjs\r\n<\/code><\/pre>\n<\/div>\n<p>PM2 kullanarak Next.js uygulamas\u0131n\u0131 ba\u015flat\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>pm2 start npm --name \"nextjs\" -- start\r\n<\/code><\/pre>\n<\/div>\n<p>Bu komut, `npm start` komutunu kullanarak \u201cnextjs\u201d adl\u0131 Next.js uygulamas\u0131n\u0131 ba\u015flat\u0131r. PM2, sunucu \u00e7\u00f6kerse veya yeniden ba\u015flat\u0131l\u0131rsa uygulamay\u0131 otomatik olarak yeniden ba\u015flat\u0131r.<\/p>\n<p>PM2&#039;nin \u00f6ny\u00fckleme s\u0131ras\u0131nda ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in \u015funu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>pm2 startup\r\n<\/code><\/pre>\n<\/div>\n<p>Bu komut, terminalinize kopyalay\u0131p yap\u0131\u015ft\u0131rabilece\u011finiz ve PM2&#039;yi \u00f6ny\u00fckleme s\u0131ras\u0131nda ba\u015flatacak bir komut dosyas\u0131 olu\u015fturacakt\u0131r.<\/p>\n<p>Mevcut PM2 i\u015flemlerini kaydedin:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>pm2 save\r\n<\/code><\/pre>\n<\/div>\n<h2 id=\"%d9%86%d8%aa%db%8c%d8%ac%d9%87\">Sonu\u00e7<\/h2>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"2722\"  height=\"1976\"  class=\"aligncenter wp-image-15641 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 2722px) 100vw, 2722px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site.png 2722w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-300x218.png 300w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-1024x743.png 1024w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-768x558.png 768w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-1536x1115.png 1536w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-2048x1487.png 2048w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-110x80.png 110w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-200x145.png 200w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-380x276.png 380w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-255x185.png 255w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-550x399.png 550w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-800x581.png 800w, https:\/\/cdn.itpiran.net\/2024\/06\/04153049\/nextjs-site-1160x842.png 1160w\" ><\/p>\n<p>Nginx&#039;i ters proxy ve PM2&#039;yi i\u015flem y\u00f6neticisi olarak kullanarak DigitalOcean droplet&#039;inizde Next.js uygulamas\u0131n\u0131 ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131rd\u0131n\u0131z. Uygulaman\u0131za droplet&#039;inizin alan ad\u0131 veya IP adresi \u00fczerinden eri\u015filebilmelidir.<\/p>\n<p>Alan ad\u0131 kullan\u0131yorsan\u0131z, DNS ayarlar\u0131n\u0131z\u0131 yap\u0131land\u0131rmay\u0131 unutmay\u0131n. Uygulamaya alan ad\u0131n\u0131z\u0131 kullanarak eri\u015febilmek i\u00e7in alan ad\u0131n\u0131z\u0131n A kayd\u0131n\u0131 sunucunuzun IP adresine y\u00f6nlendirin.<\/p>\n<p>G\u00fcvenli\u011fi ve SEO&#039;yu iyile\u015ftirmek i\u00e7in Let&#039;s Encrypt kullanarak SSL sertifikalar\u0131 kurmay\u0131 ve HTTPS ba\u011flant\u0131lar\u0131 uygulamay\u0131 d\u00fc\u015f\u00fcnebilirsiniz. Ayr\u0131ca, Next.js uygulaman\u0131z\u0131 \u00f6nbellekleme ve di\u011fer performans iyile\u015ftirmeleriyle optimize etmeyi de deneyebilirsiniz.<\/p>","protected":false},"excerpt":{"rendered":"Sunucu tabanl\u0131 React uygulamalar\u0131n\u0131 kolayca olu\u015fturmak i\u00e7in pop\u00fcler bir React framework&#039;\u00fc olan Next.js&#039;e giri\u015f...","protected":false},"author":1,"featured_media":15642,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Next.js \u062f\u0631 DigitalOcean Droplet","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_opengraph-image":"","_yoast_wpseo_twitter-description":"","_yoast_wpseo_twitter-image":"","_yoast_wpseo_focuskeywords":"","_yoast_wpseo_primary_category":"193","footnotes":""},"categories":[193,363],"tags":[401,428],"class_list":{"0":"post-15638","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tutorials","8":"category-programming","9":"tag-digitalocean","10":"tag-next-js"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Next.js \u062f\u0631 DigitalOcean Droplet - \u0628\u0644\u0627\u06af ITPiran<\/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:\/\/www.itpiran.net\/blog\/tr\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Next.js \u062f\u0631 DigitalOcean Droplet - \u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"og:description\" content=\"\u0645\u0642\u062f\u0645\u0647 Next.js \u06cc\u06a9 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0645\u062d\u0628\u0648\u0628 React \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc React \u0631\u0646\u062f\u0631 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u0633\u0631\u0648\u0631 \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itpiran.net\/blog\/tr\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-04T12:09:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.itpiran.net\/2024\/06\/04153808\/Dgdrop.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1793\" \/>\n\t<meta property=\"og:image:height\" content=\"1110\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\"},\"headline\":\"\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Next.js \u062f\u0631 DigitalOcean Droplet\",\"datePublished\":\"2024-06-04T12:09:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/\"},\"wordCount\":123,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/06\\\/04153808\\\/Dgdrop.jpg\",\"keywords\":[\"Digitalocean\",\"next.js\"],\"articleSection\":[\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/\",\"name\":\"\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Next.js \u062f\u0631 DigitalOcean Droplet - \u0628\u0644\u0627\u06af ITPiran\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/06\\\/04153808\\\/Dgdrop.jpg\",\"datePublished\":\"2024-06-04T12:09:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/06\\\/04153808\\\/Dgdrop.jpg\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/06\\\/04153808\\\/Dgdrop.jpg\",\"width\":1793,\"height\":1110},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploying-a-next-js-application-on-a-digitalocean-droplet\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/category\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Next.js \u062f\u0631 DigitalOcean Droplet\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"name\":\"\u0628\u0644\u0627\u06af ITPiran\",\"description\":\"\u0627\u062e\u0628\u0627\u0631 \u0648 \u0645\u0642\u0627\u0644\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\",\"name\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"alternateName\":\"ITPIran Blog\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"width\":512,\"height\":512,\"caption\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\",\"name\":\"admin\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tr\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DigitalOcean Droplet&#039;ine Next.js Uygulamas\u0131 Da\u011f\u0131tma - ITPiran Blog","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:\/\/www.itpiran.net\/blog\/tr\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/","og_locale":"tr_TR","og_type":"article","og_title":"\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Next.js \u062f\u0631 DigitalOcean Droplet - \u0628\u0644\u0627\u06af ITPiran","og_description":"\u0645\u0642\u062f\u0645\u0647 Next.js \u06cc\u06a9 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0645\u062d\u0628\u0648\u0628 React \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc React \u0631\u0646\u062f\u0631 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u0633\u0631\u0648\u0631 \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc&hellip;","og_url":"https:\/\/www.itpiran.net\/blog\/tr\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/","og_site_name":"\u0628\u0644\u0627\u06af ITPiran","article_published_time":"2024-06-04T12:09:46+00:00","og_image":[{"width":1793,"height":1110,"url":"https:\/\/cdn.itpiran.net\/2024\/06\/04153808\/Dgdrop.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"admin","Tahmini okuma s\u00fcresi":"1 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/#article","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/"},"author":{"name":"admin","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81"},"headline":"\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Next.js \u062f\u0631 DigitalOcean Droplet","datePublished":"2024-06-04T12:09:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/"},"wordCount":123,"commentCount":0,"publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/06\/04153808\/Dgdrop.jpg","keywords":["Digitalocean","next.js"],"articleSection":["\u0622\u0645\u0648\u0632\u0634\u06cc","\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/","url":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/","name":"DigitalOcean Droplet&#039;ine Next.js Uygulamas\u0131 Da\u011f\u0131tma - ITPiran Blog","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/#primaryimage"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/06\/04153808\/Dgdrop.jpg","datePublished":"2024-06-04T12:09:46+00:00","breadcrumb":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/"]}]},{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/#primaryimage","url":"https:\/\/cdn.itpiran.net\/2024\/06\/04153808\/Dgdrop.jpg","contentUrl":"https:\/\/cdn.itpiran.net\/2024\/06\/04153808\/Dgdrop.jpg","width":1793,"height":1110},{"@type":"BreadcrumbList","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploying-a-next-js-application-on-a-digitalocean-droplet\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itpiran.net\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0622\u0645\u0648\u0632\u0634\u06cc","item":"https:\/\/www.itpiran.net\/blog\/category\/tutorials\/"},{"@type":"ListItem","position":3,"name":"\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Next.js \u062f\u0631 DigitalOcean Droplet"}]},{"@type":"WebSite","@id":"https:\/\/www.itpiran.net\/blog\/#website","url":"https:\/\/www.itpiran.net\/blog\/","name":"ITPiran Blog","description":"\u0130ran S\u00fcrd\u00fcr\u00fclebilir Ticaret Haberleri ve Makaleleri","publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itpiran.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":"Organization","@id":"https:\/\/www.itpiran.net\/blog\/#organization","name":"S\u00fcrd\u00fcr\u00fclebilir \u0130ran \u0130\u015fletmeleri Blogu","alternateName":"ITPIran Blog","url":"https:\/\/www.itpiran.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","contentUrl":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","width":512,"height":512,"caption":"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81","name":"y\u00f6netici","url":"https:\/\/www.itpiran.net\/blog\/tr\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/posts\/15638","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/comments?post=15638"}],"version-history":[{"count":1,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/posts\/15638\/revisions"}],"predecessor-version":[{"id":15643,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/posts\/15638\/revisions\/15643"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/media\/15642"}],"wp:attachment":[{"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/media?parent=15638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/categories?post=15638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/tags?post=15638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}