DEV Community

Cover image for Node.js Uygulamasını Servis Olarak Eklemek
Battincik
Battincik

Posted on • Originally published at battincik.com

Node.js Uygulamasını Servis Olarak Eklemek

Node.js uygulamasını servis olarak eklemek için genellikle kullanılan yöntem, sistemlerin çalıştığı işletim sistemine bağlıdır. Aşağıda, Windows, Linux ve macOS işletim sistemlerinde Node.js uygulamasını servis olarak nasıl ekleyeceğinizi açıklayan adımlar bulunmaktadır:

1. Windows için:

Windows işletim sisteminde Node.js uygulamasını servis olarak eklemek için "nssm" (Non-Sucking Service Manager) adlı ücretsiz bir araç kullanabiliriz.

Adımlar:

  1. İlk olarak, Node.js uygulamanızın çalıştığından emin olun ve gerekli bağımlılıkları yükleyin.

  2. "nssm" aracını indirin ve yükleyin. (https://nssm.cc/)

  3. Komut istemcisini yönetici olarak açın ve aşağıdaki komutu kullanarak servisi oluşturun:

nssm install <servis-adı> <Node.js-yolu> <Node.js-uygulama-yolu>
Enter fullscreen mode Exit fullscreen mode

Örnek:

nssm install MyNodeApp C:\Program Files\nodejs\node.exe C:\path\to\your\app.js
Enter fullscreen mode Exit fullscreen mode
  1. Servisi başlatmak için şu komutu kullanın:
nssm start <servis-adı>
Enter fullscreen mode Exit fullscreen mode
  1. Servisi durdurmak için şu komutu kullanın:
nssm stop <servis-adı>
Enter fullscreen mode Exit fullscreen mode

2. Linux için:

Linux işletim sistemlerinde genellikle systemd adlı servis yönetim aracı kullanılır.

Adımlar:

  1. Öncelikle, Node.js uygulamanızı çalıştığından emin olun ve gerekli bağımlılıkları yükleyin.

  2. Yeni bir servis dosyası oluşturun. Genellikle my-node-app.service gibi bir dosya adı kullanılır.

sudo nano /etc/systemd/system/my-node-app.service
Enter fullscreen mode Exit fullscreen mode
  1. Aşağıdaki metni servis dosyasına yapıştırın ve uygun şekilde düzenleyin:
[Unit]
Description=My Node.js App
After=network.target

[Service]
User=<kullanıcı-adı>
WorkingDirectory=/path/to/your/app
ExecStart=/usr/bin/node /path/to/your/app.js
Restart=always

[Install]
WantedBy=multi-user.target
Enter fullscreen mode Exit fullscreen mode
  1. Servisi başlatın:
sudo systemctl start my-node-app
Enter fullscreen mode Exit fullscreen mode
  1. Servisi durdurmak için:
sudo systemctl stop my-node-app
Enter fullscreen mode Exit fullscreen mode
  1. Servisin otomatik başlatılmasını sağlamak için:
sudo systemctl enable my-node-app
Enter fullscreen mode Exit fullscreen mode

3. macOS için:

macOS'ta da launchd adlı servis yönetim aracı kullanılır.

Adımlar:

  1. Node.js uygulamanızın çalıştığından emin olun ve gerekli bağımlılıkları yükleyin.

  2. Bir .plist dosyası oluşturun, örneğin com.my-node-app.plist.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.my-node-app</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/node</string>
        <string>/path/to/your/app.js</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
Enter fullscreen mode Exit fullscreen mode
  1. .plist dosyasını ~/Library/LaunchAgents/ dizinine taşıyın.
mv com.my-node-app.plist ~/Library/LaunchAgents/
Enter fullscreen mode Exit fullscreen mode
  1. Servisi başlatmak için:
launchctl load ~/Library/LaunchAgents/com.my-node-app.plist
Enter fullscreen mode Exit fullscreen mode
  1. Servisi durdurmak için:
launchctl unload ~/Library/LaunchAgents/com.my-node-app.plist
Enter fullscreen mode Exit fullscreen mode

Node.js uygulamanızı bu adımları takip ederek servis olarak eklemiş olmalısınız. Her işletim sisteminde servisleri yönetmek için farklı komutlar ve araçlar kullanıldığını unutmayın, bu yüzden uygun araçları seçtiğinizden emin olun.

Top comments (0)