[Mono-list] Error 503 on Apache - Failed to connect to mod-mono-server after several attempts to spawn the process

g18c g18c at hotmail.com
Tue Jul 15 15:18:48 EDT 2008


Hi, I have a CentOS 5.2 box running Apache 2.2 (which is tested and serving
plain html ok). I have tried to compile Mono from source, everything
compiled ok and seemed to install into the right paths. However when i try
and run the test scripts (copied from /opt/mono/lib/xsp/test to my httpd
files directory /var/www/html/) i get the following error page when ever I
access the webserver:

Error 503 - Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance
downtime or capacity problems. Please try again later.


--------------------------------------------------------------------------------

Apache/2.2.3 (CentOS) Server at 192.168.2.50 Port 80


The apache error log is as follows:

#cat /var/log/http/error_log
[Tue Jul 15 15:18:08 2008] [notice] Apache/2.2.3 (CentOS) configured --
resuming normal operations
[Tue Jul 15 15:18:41 2008] [error] Failed to connect to mod-mono-server
after several attempts to spawn the process.


To compile the source I performed the following steps:

cd ~

yum install httpd build-essential gcc bzip bison pkgconfig glib-devel
glib2-devel \
   httpd-devel libpng-devel libX11-devel freetype fontconfig pango-devel
ruby ruby-rdoc \
   gtkhtml38-devel wget

export
PKG_CONFIG_PATH=/usr/lib/pkgconfig/:/opt/mono/lib/pkgconfig/:/usr/lib/

wget http://go-mono.com/sources/mono/mono-1.9.tar.bz2
wget http://go-mono.com/sources/libgdiplus/libgdiplus-1.9.tar.bz2
wget http://go-mono.com/sources/xsp/xsp-1.9.tar.bz2
wget http://go-mono.com/sources/mod_mono/mod_mono-1.9.tar.bz2

tar xf mono-1.9.tar.bz2
tar xf xsp-1.9.tar.bz2
tar xf mod_mono-1.2.4.tar.bz2
tar xf libgdiplus-1.9.tar.bz2

cd ~/mono-1.9
./configure --prefix=/opt/mono
make; make install

export PATH=/opt/mono/bin:$PATH
cd ~/xsp-1.9
./configure --prefix=/opt/mono
make; make install

cd ~/mod_mono-1.9
./configure --prefix=/opt/mono --with-mono-prefix=/opt/mono
--with-apr-config=/usr/lib/httpd/modules
make; make install

cd ~/libgdiplus-1.9
./configure
make; make install


Directory contents are as follows:


[root at support httpd]# ls /opt/mono/bin/
al                    mono-api-info
al2                   mono-api-info2
asp-state             monodis
asp-state2            mono-find-provides
caspol                mono-find-requires
cert2spc              monograph
certmgr               monolinker
chktrust              monop
cilc                  monop2
dbsessmgr             mono-service
dbsessmgr2            mono-service2
disco                 mono-shlib-cop
dtd2rng               mono-test-install
dtd2xsd               mono-xmltool
fastcgi-mono-server   mozroots
fastcgi-mono-server2  nunit-console
gacutil               nunit-console2
genxs                 pedump
gmcs                  permview
httpcfg               prj2make
ilasm                 resgen
ilasm2                resgen2
installvst            secutil
jay                   setreg
macpack               sgen
makecert              signcode
mbas                  smcs
mconfig               sn
mcs                   soapsuds
mjs                   sqlsharp
mkbundle              wsdl
mkbundle2             wsdl2
mod-mono-server       xbuild
mod-mono-server2      xsd
mono                  xsp
mono-api-diff         xsp2

[root at support httpd]# ls /opt/mono/lib/
libgdiplus.a             libmono-profiler-aot.so.0
libgdiplus.la            libmono-profiler-aot.so.0.0.0
libgdiplus.so            libmono-profiler-cov.a
libgdiplus.so.0          libmono-profiler-cov.la
libgdiplus.so.0.0.0      libmono-profiler-cov.so
libikvm-native.a         libmono-profiler-cov.so.0
libikvm-native.la        libmono-profiler-cov.so.0.0.0
libikvm-native.so        libmono.so
libmono.a                libmono.so.0
libmono.la               libmono.so.0.0.0
libMonoPosixHelper.a     libMonoSupportW.a
libMonoPosixHelper.la    libMonoSupportW.la
libMonoPosixHelper.so    libMonoSupportW.so
libmono-profiler-aot.a   mono
libmono-profiler-aot.la  pkgconfig
libmono-profiler-aot.so  xsp

[root at support conf]# ls /usr/lib/httpd/modules/
libphp5.so              mod_file_cache.so
mod_actions.so          mod_filter.so
mod_alias.so            mod_headers.so
mod_asis.so             mod_ident.so
mod_auth_basic.so       mod_imagemap.so
mod_auth_digest.so      mod_include.so
mod_authn_alias.so      mod_info.so
mod_authn_anon.so       mod_ldap.so
mod_authn_dbd.so        mod_log_config.so
mod_authn_dbm.so        mod_log_forensic.so
mod_authn_default.so    mod_logio.so
mod_authn_file.so       mod_mem_cache.so
mod_authnz_ldap.so      mod_mime_magic.so
mod_authz_dbm.so        mod_mime.so
mod_authz_default.so    mod_mono.so
mod_authz_groupfile.so  mod_mono.so.0.0.0
mod_authz_host.so       mod_negotiation.so
mod_authz_owner.so      mod_proxy_ajp.so
mod_authz_user.so       mod_proxy_balancer.so
mod_autoindex.so        mod_proxy_connect.so
mod_cache.so            mod_proxy_ftp.so
mod_cern_meta.so        mod_proxy_http.so
mod_cgid.so             mod_proxy.so
mod_cgi.so              mod_rewrite.so
mod_dav_fs.so           mod_setenvif.so
mod_dav.so              mod_speling.so
mod_dbd.so              mod_status.so
mod_deflate.so          mod_suexec.so
mod_dir.so              mod_unique_id.so
mod_disk_cache.so       mod_userdir.so
mod_dumpio.so           mod_usertrack.so
mod_env.so              mod_version.so
mod_expires.so          mod_vhost_alias.so
mod_ext_filter.so



And my configuration files are as follows:


[root at support httpd]# ls /etc/httpd/conf/mod_mono.conf
<IfModule !mod_mono.c>
    LoadModule mono_module /usr/lib/httpd/modules/mod_mono.so

    AddType application/x-asp-net .aspx
    AddType application/x-asp-net .asmx
    AddType application/x-asp-net .ashx
    AddType application/x-asp-net .asax
    AddType application/x-asp-net .ascx
    AddType application/x-asp-net .soap
    AddType application/x-asp-net .rem
    AddType application/x-asp-net .axd
    AddType application/x-asp-net .cs
    AddType application/x-asp-net .config
    AddType application/x-asp-net .Config
    AddType application/x-asp-net .dll
    DirectoryIndex index.aspx
    DirectoryIndex Default.aspx
    DirectoryIndex default.aspx
</IfModule>


[root at support httpd]# ls /etc/httpd/conf/httpd.conf
# This is the main Apache server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
### Section 1: Global Environment

ServerTokens OS
ServerRoot "/etc/httpd"

PidFile run/httpd.pid
Timeout 120
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>

<IfModule worker.c>
StartServers         2
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75 
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

Listen 80

LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule file_cache_module modules/mod_file_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule version_module modules/mod_version.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
#LoadModule asis_module modules/mod_asis.so

# Load config files from the config directory "/etc/httpd/conf.d".
Include conf.d/*.conf
Include /etc/httpd/conf/mod_mono.conf

#ExtendedStatus On


User apache
Group apache

### Section 2: 'Main' server configuration

ServerAdmin root at localhost


ServerName support.mydomain.com:80

UseCanonicalName Off

DocumentRoot "/var/www/html"

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


<IfModule mod_userdir.c>
    UserDir public_html
</IfModule>


DirectoryIndex index.html index.html.var

AccessFileName .htaccess

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>


TypesConfig /etc/mime.types


DefaultType text/plain

<IfModule mod_mime_magic.c>
#   MIMEMagicFile /usr/share/magic.mime
    MIMEMagicFile conf/magic
</IfModule>


HostnameLookups Off

#EnableMMAP off
#EnableSendfile off
ErrorLog logs/error_log
LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent


CustomLog logs/access_log combined

ServerSignature On

Alias /icons/ "/var/www/icons/"

<Directory "/var/www/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

#
# WebDAV module configuration section.
# 
<IfModule mod_dav_fs.c>
    # Location of the WebDAV lock database.
    DAVLockDB /var/lib/dav/lockdb
</IfModule>

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

AddLanguage en .en
ForceLanguagePriority Prefer Fallback
AddDefaultCharset UTF-8


AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz


#AddHandler cgi-script .cgi
#AddHandler send-as-is asis
AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml


Alias /error/ "/var/www/error/"

<IfModule mod_negotiation.c>
<IfModule mod_include.c>
    <Directory "/var/www/error">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority en es de fr
        ForceLanguagePriority Prefer Fallback
    </Directory>
</IfModule>
</IfModule>

# The following directives modify normal HTTP response behavior to
# handle known problems with browser implementations.
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

BrowserMatch "Microsoft Data Access Internet Publishing Provider"
redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully

### Section 3: Virtual Hosts
#NameVirtualHost *:80
#<VirtualHost *:80>
#    ServerAdmin webmaster at dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>



I'm at a loss as to what i have done wrong, spent 4 hours on this and am
pulling my hair out! Is there anything obvious I am missing?

Many thanks in advance,

Chris

PS Sorry for the long post
-- 
View this message in context: http://www.nabble.com/Error-503-on-Apache---Failed-to-connect-to-mod-mono-server-after-several-attempts-to-spawn-the-process-tp18472872p18472872.html
Sent from the Mono - General mailing list archive at Nabble.com.



More information about the Mono-list mailing list