Je viens de rencontrer le même problème et j'ai pu le résoudre :)
Les MONO_OPTIONS
peut contenir des paramètres supplémentaires qui sont transmis à l'exécutable mono. Ainsi, si vous faites :
export MONO_OPTIONS="--debug"
fastcgi-mono-server-4 /applications="/:/srv/www/htdocs/mywebapp" /socket=tcp:127.0.0.1:9000
Vous devriez obtenir des informations de débogage (numéros de lin et fichiers) en cas d'erreur, à condition bien sûr que vous ayez également déployé les fichiers *.mdb qui contiennent les informations de débogage.
J'utilise personnellement une version modifiée de le script init script trouvé ici qui se présente comme suit :
#!/bin/sh
### BEGIN INIT INFO
# Provides: monoserve.sh
# Required-Start: $local_fs $syslog $remote_fs
# Required-Stop: $local_fs $syslog $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start fastcgi mono server with hosts
### END INIT INFO
source /etc/mono-addon-env
NAME=monoserver
DESC=monoserver
MONO_OPTIONS="--debug"
MONOSERVER=$(which fastcgi-mono-server4)
MONOSERVER_PID=$(ps auxf | grep fastcgi-mono-server4.exe | grep -v grep | awk '{print $2}')
WEBAPPS="/:/srv/www/htdocs/mywebapp/"
case "$1" in
start)
if [ -z "${MONOSERVER_PID}" ]; then
echo "starting mono server"
${MONOSERVER} /applications=${WEBAPPS} /socket=tcp:127.0.0.1:9000 &
echo "mono server started"
else
echo ${WEBAPPS}
echo "mono server is running"
fi
;;
stop)
if [ -n "${MONOSERVER_PID}" ]; then
kill ${MONOSERVER_PID}
echo "mono server stopped"
else
echo "mono server is not running"
fi
;;
esac
exit 0
Mais ATTENTION : Si vous utilisez ce init script pour démarrer le démon fastcgi, N'UTILISEZ PAS d'outils init comme "service monoserve start" (RHEL/CentOS) ou "rcMonoserve start". Pour moi, cela ne fonctionnera pas, je soupçonne le système d'initialisation d'engendrer un autre processus avec des variables d'environnement différentes. Pour être sûr, n'appelez le script que directement, c'est-à-dire /etc/init.d/monoserve start et le mettre dans /etc/rc.local ou autre.