我正在运行 centos 7,并且已经使用 centos 官方网站上的指南安装了 monohttp://www.mono-project.com/docs/getting-started/install/linux/。这似乎运行良好,因为我可以从编译 .cs 文件中获得输出。我非常有信心这部分运行良好。
我遇到的问题是让它与 Apache 一起工作。我已经设置了一个 VPS 来测试一切。Apache 处于活动状态,我可以访问 html 文件http://79.137.86.234/index.html,但是当我尝试访问 ASP 项目时出现错误。http://79.137.86.234/asptest/
最初,当我尝试访问 .cs 文件时,apache 只是返回其内容。我使用 mono 网站上的指南安装了 mod_mono,它似乎可以正常工作,因为当我运行命令查看加载的内容时,mono 显示在模块列表中。我没有对 apache conf 或 htaccess 文件进行任何其他更改。我只是使用一个基本的 hello world asp.net MVC 4 项目。我在 VS 2017 中构建了它,没有对默认生成的内容进行任何更改。
当我访问上面链接的页面时,以下内容会输出到 apaches 错误日志
[Fri Apr 14 14:09:40.974689 2017] [:error] [pid 2675] Failed running '/usr/bin/mod-mono-server2 --filename /tmp/mod_mono_server_global --nonstop --master (null) (null) (null) (null) (null) (null) (null) (null)'. Reason: No such file or directory
[Fri Apr 14 14:09:42.979830 2017] [:error] [pid 2677] Failed running '/usr/bin/mod-mono-server2 --filename /tmp/mod_mono_server_global --nonstop --master (null) (null) (null) (null) (null) (null) (null) (null)'. Reason: No such file or directory
[Fri Apr 14 14:09:44.985495 2017] [:error] [pid 2679] Failed running '/usr/bin/mod-mono-server2 --filename /tmp/mod_mono_server_global --nonstop --master (null) (null) (null) (null) (null) (null) (null) (null)'. Reason: No such file or directory
[Fri Apr 14 14:09:46.987239 2017] [:error] [pid 2602] Failed to connect to mod-mono-server after several attempts to spawn the process.
我注意到的错误之一是,我检查了目录“/usr/bin/mod-mono-server2”,文件是/usr/bin/mod-mono-server4。但我不知道如何更改它。
答案1
这与这个问题非常相似在 Apache2/Ubuntu 上设置 Mono/ASP.NET 4.0:虚拟主机?
按照其中一个答案中提供的链接,我能够通过编辑“/etc/apache2/mods-enabled/mod_mono_auto.conf”并在文件末尾附加“Include /etc/mono-server4/mono-server4-hosts.conf”来解决系统上的此问题。在以下链接的步骤 #2 中找到:
http://r2d2.cc/2014/03/25/asp-net-mvc-under-linux-with-mono/
就我而言,不需要进一步配置,只需确保重新启动 apache。