J'ai 2 serveurs web différents sur une machine Debian Lenny. L'un exécute FastCGI (TRAC) et l'autre serveur Web exécute PHP et quelques scripts CGI. J'ai donc actuellement les 2 modules Apache2 activés (cgi et fcgi) et la configuration de 2 vhosts en conséquence. Je n'ai aucun autre intérêt particulier pour ces deux modules fonctionnant en même temps.Perl CGI ou CGI :: Fast sous Apache 2.2 sur Debian Lenny
Donc, je veux garder le seul module Apache fastcgi en cours d'exécution car il semble être le plus efficace.
Pourriez-vous confirmer que les évaluations suivantes sont correctes ou correctes?
1- Je n'ai rien à faire/changement pour le site TRAC (déjà en cours d'exécution fcgi)
2- Je vais devoir régler l'autre serveur Web vhost à définir avec un gestionnaire de scripts fastcgi
3- Je vais avoir à changer uniquement les modules perl de "utiliser CGI" à "utiliser CGI :: Fast"
4- Je serai capable de garder le reste des scripts CGI existants sans autres changements
5- Je ne sais pas besoin d'utiliser CGI :: Apache, mais CGI :: FastCGI (i/o le module actuel CGI) dans les scripts de serveur Web
J'espère que mon point est clair que tout est un peu étranger à moi ...
Thx
EDIT:
thx pour les conseils à Naveed et J-16,
Voici ce que je l'ai fait pour le faire fonctionner si elle peut aider les autres:
hum, installé CGI :: Fast avec CPAN, alors ça marche mieux ..
Sur Debian avec libperl déjà installéperl -MCPAN -e shell cpan> install CGI::Fast
changé de nom de fichier * .cgi * .fcgi,
- inclus la FastCGI en boucle comme ci-dessous par Naveed conseillé,
- configuration apache concerné vhost avec le gestionnaire de droit fastcgi (Voir fastcgi doc)
- activé le module FastCGI Apache (a2enmod FastCGI) et désactivé le module cgi,
- vérifié le fichier fastcgi.conf dans les paramètres Apache,
- redémarré Apache,
- vérifié FastCGI en cours d'exécution comme un processus sous Apache (ps -afx),
- Correction de quelques problèmes de script, déjà en .. mais nouvellement apparue lors de l'exécution FastCGI, comme conseillé (erreurs détectées en vérifiant les journaux Apache),
EDIT: adapté le code de téléchargement de fichier que le script initial ne fonctionne plus (ne comprends toujours pas pourquoi), donc je devais remplacer la boucle while par une telle personne:
open(FILE,">$upload_dir/$file_name") while ($bytes_count = read($file_query,$buffer,2096)) { $size += $bytes_count; print FILE $buffer; } close(FILE);
fait.
Le monde n'est pas encore parfait mais cela fonctionne finalement.
aussi, si vous relayez des variables globales non initialisées (pouah) dans votre cgi, vous pouvez avoir à réparer .. –
Thx à Vous deux. – hornetbzz