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.