Para separar los registros de las aplicaciones NodeJS, Python y Ruby al usar Passenger con Apache, necesitarás configurar Passenger para utilizar archivos de registro individuales para cada aplicación. Esto se puede lograr configurando Hosts Virtuales para cada aplicación y especificando rutas personalizadas para los archivos de registro.
Aquí tienes una guía paso a paso:
Crear Hosts Virtuales Separados:
Abre el archivo de configuración de Apache (generalmente ubicado en /etc/httpd/conf/httpd.conf
en Linux o httpd.conf
en Windows). Crea bloques VirtualHost
separados para cada aplicación, de la siguiente manera:
<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>
Reemplaza /path/to/your/nodejs/app
, /path/to/your/python/app
y /path/to/your/ruby/app
con las rutas reales de tus aplicaciones.
Crear Directorios para los Registros:
Crea los directorios para los registros:
sudo mkdir /var/log/nodejs
sudo mkdir /var/log/python
sudo mkdir /var/log/ruby
Asegúrate de que los directorios tengan los permisos necesarios para que el proceso de Apache pueda escribir en ellos.
Reiniciar Apache:
Después de realizar estos cambios, reinicia Apache para que los cambios surtan efecto:
sudo systemctl restart apache2 # Para sistemas basados en systemd
O
sudo service httpd restart # Para sistemas no basados en systemd
Ahora, Passenger creará archivos de registro separados para cada aplicación. Los archivos de registro estarán ubicados en:
/var/log/nodejs/passenger.log
/var/log/python/passenger.log
/var/log/ruby/passenger.log
Estos registros contendrán salidas específicas para cada tipo de aplicación (Node.js, Python o Ruby). El archivo error.log
de Apache continuará conteniendo errores y registros generales de Apache.