> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mehrere Anwendungen auf einem Host ausführen

## Das Problem

Wenn mehrere Anwendungen auf einem Host ausgeführt werden, kann ein merkwürdiges Verhalten auftreten. Ein häufiges Problem, das wir gesehen haben, ist, dass Anwendungen beginnen, unter unterschiedlichen Namen und/oder Umgebungen zu melden. Etwa eine Anwendung, die nach einem Deployment oder Neustart eines Anwendungsprozesses oder Workers zwischen Staging- und Produktionsumgebung wechselt.

## Hintergrund

Der AppSignal-Agent startet mit einer Anwendungskonfiguration. Er verwendet diese Konfiguration, um die Daten an die AppSignal-Server zu senden und als diese App auf AppSignal.com zu melden.

Standardmäßig ist AppSignal so konfiguriert, dass es davon ausgeht, dass eine Anwendung auf einem Host läuft. Wenn Sie mehr als eine Anwendung auf einem Host ausführen, ist eine gewisse Konfiguration erforderlich, um zu vermeiden, dass das AppSignal-Arbeitsverzeichnis zwischen mehreren Anwendungen geteilt wird. Auf diese Weise können mehrere AppSignal-Agenten gleichzeitig mit unterschiedlicher Anwendungskonfiguration laufen.

<Tip>
  Lesen Sie mehr über das AppSignal-[Arbeitsverzeichnis](/appsignal/how-appsignal-operates#working-directory).
</Tip>

## Konfiguration

Damit AppSignal für mehrere Anwendungen auf einem Host verwendet werden kann, müssen wir die Konfigurationsoption "Arbeitsverzeichnis-Pfad" setzen. Mit dieser Konfigurationsoption müssen wir pro Anwendung einen eindeutigen Arbeitsverzeichnis-Pfad festlegen, in dem AppSignal seine (temporären) Dateien speichert. Auf diese Weise teilt der AppSignal-Agent das Arbeitsverzeichnis nicht zwischen mehreren Anwendungen.

### Ruby

Um den Arbeitsverzeichnis-Pfad in der Ruby-Integration festzulegen, fügen Sie Folgendes zu Ihrer AppSignal-Konfigurationsdatei hinzu. Der [`working_directory_path`][ruby working_directory_path]-Wert ist ein Pfad zu einem vorhandenen Verzeichnis auf Ihrem Host-System.

<CodeGroup>
  ```ruby Ruby theme={null}
  Appsignal.configure do |config|
    config.working_directory_path = "/tmp/project_1/"
  end
  ```

  ```yaml YAML theme={null}
  production:
    working_directory_path: "/tmp/project_1/"
  ```
</CodeGroup>

#### Mehr lesen {/* id: ruby-read-more */}

* [Details zur Ruby-Integrations-Konfigurationsoption `working_directory_path`][ruby working_directory_path]

[ruby working_directory_path]: /ruby/configuration/options.html#option-working_directory_path

### Elixir

Um den Arbeitsverzeichnis-Pfad in der Elixir-Integration festzulegen, fügen Sie Folgendes zu Ihrer AppSignal-Konfigurationsdatei hinzu. Der [`working_directory_path`][elixir working_directory_path]-Wert ist ein Pfad zu einem vorhandenen Verzeichnis auf Ihrem Host-System.

<CodeGroup>
  ```elixir Elixir theme={null}
  config :appsignal, :config,
    working_directory_path: "/tmp/project_1/"
  ```
</CodeGroup>

#### Mehr lesen {/* id: elixir-read-more */}

* [Details zur Elixir-Integrations-Konfigurationsoption `working_directory_path`][elixir working_directory_path]

[elixir working_directory_path]: /elixir/configuration/options.html#option-working_directory_path

### Node.js

Um den Arbeitsverzeichnis-Pfad in der Node.js-Integration festzulegen, fügen Sie Folgendes zu Ihrer AppSignal-Konfigurationsdatei hinzu. Der [`workingDirectoryPath`][nodejs working_directory_path]-Wert ist ein Pfad zu einem vorhandenen Verzeichnis auf Ihrem Host-System.

<CodeGroup>
  ```javascript Node.js theme={null}
  const { Appsignal } = require("@appsignal/nodejs");

  const appsignal = new Appsignal({
    // Andere Konfiguration
    workingDirectoryPath: "/tmp/project_1",
  });

  module.exports = { appsignal };
  ```
</CodeGroup>

#### Mehr lesen {/* id: nodejs-read-more */}

* [Details zur Node.js-Integrations-Konfigurationsoption `workingDirectoryPath`][nodejs working_directory_path]

[nodejs working_directory_path]: /nodejs/3.x/configuration/options.html#option-workingdirectorypath

### Python

Für die Python-Integration müssen zwei Konfigurationsoptionen geändert werden. Die erste ist die Konfigurationsoption `working_directory_path` und die andere die Konfigurationsoption `opentelemetry_port`.

Um diese Konfigurationsoptionen in der Python-Integration festzulegen, fügen Sie Folgendes zu Ihrer AppSignal-Konfigurationsdatei hinzu. Der [`opentelemetry_port`][python opentelemetry_port]-Wert ist die Nummer eines verfügbaren Ports und der [`working_directory_path`][python working_directory_path]-Wert ist ein Pfad zu einem vorhandenen Verzeichnis auf Ihrem Host-System. Diese Werte sollten pro App eindeutig sein.

<CodeGroup>
  ```python Python theme={null}
  from appsignal import Appsignal

  appsignal = Appsignal(
    # Andere Konfiguration
    opentelemetry_port: 9001,
    working_directory_path: "/tmp/project_1"
  )
  ```
</CodeGroup>

#### Mehr lesen {/* id: python-read-more */}

* [Details zur Python-Integrations-Konfigurationsoption `opentelemetry_port`][python opentelemetry_port]
* [Details zur Python-Integrations-Konfigurationsoption `working_directory_path`][python working_directory_path]

[python opentelemetry_port]: /python/configuration/options.html#option-opentelemetry_port

[python working_directory_path]: /python/configuration/options.html#option-working_directory_path

### Front-end JavaScript

Für Front-end-JavaScript-Anwendungen kann kein Arbeitsverzeichnis konfiguriert werden, da diese nicht auf den AppSignal-Agent-Prozess angewiesen sind. Wenn Daten für die falsche Anwendung gemeldet werden, stellen Sie bitte sicher, dass die Anwendung den korrekten [Push-API-Schlüssel](/appsignal/terminology#push-api-key) verwendet.

## Siehe auch

* [Anwendungsthema](/application/)
* [Leitfaden-Index](/guides/)
