Archivio Domande

Come separare i log di NodeJS / Python / Ruby Selectors Passenger dal file Apache error.log?

Per separare i log delle applicazioni NodeJS, Python e Ruby quando si utilizza Passenger con Apache, dovrai configurare Passenger per utilizzare file di log separati per ogni applicazione. Questo può essere ottenuto configurando Virtual Hosts per ogni applicazione e specificando i percorsi personalizzati dei file di log.

Ecco una guida passo-passo:

Creare Virtual Hosts separati:

Apri il file di configurazione di Apache (solitamente situato in /etc/httpd/conf/httpd.conf su Linux o httpd.conf su Windows). Crea blocchi VirtualHost separati per ogni applicazione come segue:

<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>

Sostituisci /path/to/your/nodejs/app, /path/to/your/python/app e /path/to/your/ruby/app con i percorsi effettivi delle tue applicazioni.

Creare le directory dei log:

Crea le directory per i log:

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

Assicurati che le directory abbiano i permessi necessari affinché il processo Apache possa scrivere su di esse.

Riavviare Apache:

Dopo aver apportato queste modifiche, riavvia Apache per applicarle:

sudo systemctl restart apache2  # Per sistemi basati su systemd

Oppure

sudo service httpd restart  # Per sistemi non basati su systemd

Da ora, Passenger creerà file di log separati per ogni applicazione. I file di log saranno situati nei seguenti percorsi:

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

Questi log conterranno output specifici per il rispettivo tipo di applicazione (Node.js, Python o Ruby). Il file error.log di Apache continuerà a contenere gli errori generali di Apache e i log.

  • 0 Utenti hanno trovato utile questa risposta
Hai trovato utile questa risposta?