Я сам столкнулся с той же проблемой и смог ее исправить:)
Переменная окружения MONO_OPTIONS
может содержать дополнительные параметры, которые передаются в монофонический исполняемый файл.Поэтому, если вы сделаете:
export MONO_OPTIONS="--debug"
fastcgi-mono-server-4 /applications="/:/srv/www/htdocs/mywebapp" /socket=tcp:127.0.0.1:9000
Вы должны получить отладочную информацию (белье и файлы) при ошибке, при условии, конечно, что вы также развернули файлы * .mdb, которые содержат отладочную информацию.
Я лично использую модифицированную версию сценария инициализации, найденную здесь , которая выглядит следующим образом:
#!/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
Но ОБРАТИТЕ ВНИМАНИЕ : Если вы используете этот сценарий инициализации дляЗапустите демон fastcgi, НЕ ИСПОЛЬЗУЙТЕ никаких инструментов инициализации, таких как «запуск службы monoserve» (RHEL / CentOS) или «запуск rcMonoserve».Для меня это не сработает, я подозреваю, что система init будет порождать другой процесс с другими переменными окружения.Чтобы быть в безопасности, вызывайте только скрипт напрямую, т.е. /etc/init.d/monoserve start и вставьте в /etc/rc.local или что-то подобное.