Base de connaissances

Comment séparer les journaux de NodeJS / Python / Ruby Selectors Passenger du fichier Apache error.log ?

Pour séparer les journaux des applications NodeJS, Python et Ruby lors de l'utilisation de Passenger avec Apache, vous devrez configurer Passenger pour utiliser des fichiers de journaux distincts pour chaque application. Cela peut être réalisé en configurant des Virtual Hosts pour chaque application et en spécifiant des chemins de fichiers de journaux personnalisés.

Voici un guide étape par étape :

Créer des Virtual Hosts séparés :

Ouvrez votre fichier de configuration Apache (généralement situé dans /etc/httpd/conf/httpd.conf sur Linux ou httpd.conf sous Windows). Créez des blocs VirtualHost séparés pour chaque application comme suit :

<VirtualHost *:80>
    ServerName nodejs.example.com
    DocumentRoot /path/to/your/nodejs/app
    PassengerAppType node
    PassengerStartupFile app.js
    PassengerLogFile /var/log/nodejs/passenger.log
</VirtualHost>

<VirtualHost *:80>
    ServerName python.example.com
    DocumentRoot /path/to/your/python/app
    PassengerAppType wsgi
    PassengerStartupFile your_wsgi_file.py
    PassengerLogFile /var/log/python/passenger.log
</VirtualHost>

<VirtualHost *:80>
    ServerName ruby.example.com
    DocumentRoot /path/to/your/ruby/app
    PassengerAppType rack
    PassengerStartupFile config.ru
    PassengerLogFile /var/log/ruby/passenger.log
</VirtualHost>

Remplacez /path/to/your/nodejs/app, /path/to/your/python/app et /path/to/your/ruby/app par les chemins réels vers vos applications.

Créer les répertoires de journaux :

Créez des répertoires pour les journaux :

sudo mkdir /var/log/nodejs
sudo mkdir /var/log/python
sudo mkdir /var/log/ruby

Assurez-vous que ces répertoires ont les permissions nécessaires pour permettre au processus Apache d'y écrire.

Redémarrer Apache :

Après avoir effectué ces modifications, redémarrez Apache pour que les changements prennent effet :

sudo systemctl restart apache2  # Pour les systèmes basés sur systemd

Ou

sudo service httpd restart  # Pour les systèmes non basés sur systemd

À partir de maintenant, Passenger créera des fichiers de journaux distincts pour chaque application. Les fichiers journaux seront situés aux emplacements suivants :

  • /var/log/nodejs/passenger.log
  • /var/log/python/passenger.log
  • /var/log/ruby/passenger.log

Ces journaux contiendront des sorties spécifiques à chaque type d'application (Node.js, Python ou Ruby). Le fichier error.log d'Apache continuera de contenir les erreurs et les journaux généraux d'Apache.

  • 0 Utilisateurs l'ont trouvée utile
Cette réponse était-elle pertinente?