Hier ist ein Beispiel von meinem dev PC zu Hause. Es ist ein C++ Web-Service, der unter 127.0.0.1:90 ausgeführt wird. Ich teste/debugge. Das "FcgidIOTimeout" ist auf 3600 gesetzt, so dass mod_fcgid nicht auf eine Antwort wartet, während ich den fcgi-Prozess mit gdb (dem Debugger) durchtrete. Wenn beim Debuggen eine Zeitüberschreitung auftritt, wird die fcgi-App gelöscht. Ein wenig weiter unten gibt es ein ScriptAlias und ein Verzeichnis, das Apache mitteilt, wo der CGI-Ordner ... "/ home/dgnorton/prj/dfi/build/src /" ... ist, was der Build-Ausgabeordner für mein Projekt ist. Sie müssen auch die Berechtigungen dieses Verzeichnisses überprüfen.
Ich verwende dies nur auf meinem Home-System zum Debuggen. Lesen Sie die Apache- und mod_fcgid-Dokumentation, bevor Sie diese in freier Wildbahn verwenden.
Listen 90
NameVirtualHost 127.0.0.1:90
<VirtualHost 127.0.0.1:90>
ServerName www.example1.com
DocumentRoot /var/www/dfi
<IfModule fcgid_module>
FcgidIOTimeout 3600
</IfModule>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi/ /home/dgnorton/prj/dfi/build/src/
<Directory "/home/dgnorton/src/dfi/build/src">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Können Sie Ihre Quelle, Konfigurationsdateien und wie Sie versucht haben, Ihr Programm zu starten? Dies ist eine sehr verwirrende und schwer zu beantwortende Frage ohne diese Information. –