【问题标题】:mod mono server 4 constantly crashes with soap requestsmod mono server 4 不断因肥皂请求而崩溃
【发布时间】:2012-08-30 19:22:55
【问题描述】:

我有一个在我的 Linux Suse 12.1 VPS 服务器上运行的 c# Soap 服务。在我对肥皂服务进行了小改动并将其复制到我的 VPS 之前,这一直运行良好且没有问题。我认为这一定是我的更改有问题,所以我回滚了我的更改,但仍然无法正常工作。甚至一些没有被触及的方法也失败了。

但是,我已经在我的开发机器上进行了测试,该机器在 Windows 上运行良好,并且还将soap 界面复制到了与我的 VPS 完全相同的方式设置的 linux 开发机器上,即 OpenSuse 12.1 和与我的 VPS Web 服务器具有所有相同的东西。两者都工作得很好,从来没有遇到任何问题。

然而,在VPS主机上,mod-mono-server一直在崩溃,即使它启动了,也无法读取asmx文件,只是显示服务器错误,我需要运行rcapache2 restart才能得到测试页面加载。

在 apache 错误日志文件中,我有以下内容:

[2012 年 8 月 30 日星期四 20:10:19] [错误] (70014)找到文件结尾:read_data 失败 [2012 年 8 月 30 日星期四 20:10:19] [错误] 命令流损坏, 最后一个命令是 1 [Thu Aug 30 20:08:47 2012] [error] 命令流 已损坏,最后一个命令是 7

我不知道可能是什么问题,我已经尝试重新启动 VPS,但没有任何区别。

我正在使用 ASP.net 4 版本的 mod-mono-server。

感谢您提供的任何帮助。

更新 1 我刚刚注意到apache错误中的其他内容。日志文件包含以下内容

[Thu Aug 30 20:46:31 2012] [notice] caught SIGTERM, shutting down
[Thu Aug 30 20:46:32 2012] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Thu Aug 30 20:46:32 2012] [error] Not running mod-mono-server.exe because no MonoApplications, MonoApplicationsConfigFile or MonoApplicationConfigDir specified.

更新 2 刚刚发现,不完全确定是否有帮助。只要不需要访问 mysql 数据库,soap 服务就可以在服务器上正常工作。如果它执行查询,它会在测试页面中显示an internal server error 500。但如果从 PHP 调用它会导致它崩溃单声道。数据库是mysql数据库,是本地数据库。有 34% 的 RAM 可用,所以我不认为这是内存问题。我还清空了数据库表以确定是否修复了它,如果它与数据量有关,但这也没有修复它。

【问题讨论】:

  • 它的版本 Mono JIT 编译器版本 2.10.6
  • 我不确定,已经安装了,版本2.10.2但我不确定我是否在使用它,有没有办法找出来
  • 看来您不了解什么是 xsp(当然您没有使用它,但是在使用 mod-mono 进行测试之前,最好先测试一下您的软件是否与它一起运行)。请阅读stackoverflow.com/questions/12188356/…中的答案
  • 从我读到的关于 xsp 的内容来看,它是一个与 mod-mono-server 相关的模块,在 gonzalo.name/blog/files/mod_mono.html 处解释过
  • 它们共享一些代码,是的,但它们仍然不同。测试不会受到伤害。如果事实证明它适用于 XSP 而不是 Apache,那么您已经缩小了很多错误范围。

标签: apache soap mono mod-mono


【解决方案1】:

感谢@knocte 的建议,我设法找出了问题所在。

当 Soap 服务访问数据库时,它会读取 config.xml 以确定用于访问数据库的用户名和密码,我猜这个配置文件在传输过程中被损坏了。虽然我可以在 vi 中读取它,但可能是文件有问题,阻止了 soap 服务读取配置。

我所做的只是删除文件并手动将内容复制并粘贴到文件中。

由于某种原因,当 mod-mono 无法访问数据库时,它会崩溃 mono,即使 soap 服务中的所有 MySQL 内容都具有 MySQL 异常处理。 @knocte 测试soap 服务的建议被证明是有用的,因为当它用于从soap 服务访问数据库时,xsp4 将停止但显示错误,指出它没有访问数据库的权限,即使它具有正确的用户名和配置文件中的密码。

一旦我重新创建了配置文件,soap 服务就会再次正常工作。

感谢您的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多