19

每次启动 apache 时,我的 apache 错误日志中都会出现三个不同的错误消息。我已经多次阅读 mod_mono 配置部分,所以请给我一个提示如何摆脱这些消息。应用程序(3 asp.net 项目)虽然运行良好。

第一的:

Listening on: /tmp/mod_mono_server_global
Root directory: /
Error: Address already in use

第二:

Error: There's already a server listening on /tmp/mod_mono_server_global

第三:

Listening on: /tmp/mod_mono_server_example.com
Root directory: /srv/www/vhosts/example.com
Error: There's already a server listening on /tmp/mod_mono_server_example.com

虚拟主机配置

MonoServerPath example.com "/usr/bin/mod-mono-server4"
MonoDebug example.com false
MonoSetEnv example.com MONO_IOMAP=all

MonoApplications example.com "/:/srv/www/vhosts/example.com"

 <Directory "/srv/www/vhosts/example.com">
     MonoSetServerAlias example.com
     SetHandler mono
 </Directory>

OpenSuse 11.4,单声道 2.10.2

4

2 回答 2

1

第一:监听:/tmp/mod_mono_server_global 根目录:/错误:地址已经在使用中

这听起来像是没有使用该格式加载(然后它会连接到/tmp/mod_mono_server_example_com

MonoApplications example.com "/:/srv/www/vhosts/example.com" 

难道你有更多的虚拟主机描述问题,与 mod_mono 无关:-/

试试看(如果在不同的虚拟主机名上):

MonoAutoApplication disabled
AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd

<VirtualHost *:80>
    ServerName example1.com
    ServerAlias www.example1.com
    DocumentRoot /srv/www/vhosts/example1.com

    MonoServerPath app1 "/usr/bin/mod-mono-server4"
    MonoDebug app1 false
    MonoSetEnv app1 MONO_IOMAP=all
    AddMonoApplications app1 "/:/srv/www/vhosts/example1.com"

    <Location />
        SetHandler mono
        MonoSetServerAlias app1
    </Location>
</VirtualHost>
<VirtualHost *:80>
    ServerName example2.com
    ServerAlias www.example2.com
    DocumentRoot /srv/www/vhosts/example2.com

    MonoServerPath app2 "/usr/bin/mod-mono-server4"
    MonoDebug app2 false
    MonoSetEnv app2 MONO_IOMAP=all
    AddMonoApplications app2 "/:/srv/www/vhosts/example2.com"

    <Location />
        SetHandler mono
        MonoSetServerAlias app2
    </Location>
</VirtualHost>

或者那个(如果只是在同一个虚拟主机上的不同文件夹中)

MonoAutoApplication disabled
AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd

MonoServerPath app1 "/usr/bin/mod-mono-server4"
MonoDebug app1 false
MonoSetEnv app1 MONO_IOMAP=all
AddMonoApplications app1 "/app1:/srv/www/vhosts/example.com/app1"

MonoServerPath app2 "/usr/bin/mod-mono-server4"
MonoDebug app2 false
MonoSetEnv app2 MONO_IOMAP=all
AddMonoApplications app2 "/app2:/srv/www/vhosts/example.com/app2"

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAlias 192.168.0.1
    # note that it this is the conf of first vhost read by apache,
    # it will be used as default, any call not having a matching
    # vhost will fall into that vhost.
    <Location /app1>
        SetHandler mono
        MonoSetServerAlias app1
    </Location>
    <Location /app2>
        SetHandler mono
        MonoSetServerAlias app2
    </Location>
</VirtualHost>

我猜你看过这里http://www.mono-project.com/Mod_mono 检查你没有AddMonoApplications使用MonoApplications

祝你好运

于 2013-09-11T04:06:50.093 回答
0

您的 Apache 配置中可能有冲突的 Listen 指令。如果这没有帮助,请尝试 strace Apache 并查看错误弹出的套接字或文件。我写了一篇关于 strace 的教程,你可能想看看

于 2013-05-14T17:37:47.277 回答