Я использую centos 7, и я установил моно, используя руководство на официальном сайте для centos http://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/
Первоначально apache просто возвращал содержимое файла .cs, когда я пытался получить к нему доступ. Я установил mod_mono, используя руководство с веб-сайта mono, и похоже, что он работает, поскольку mono отображается в списке модулей, когда я запускаю команду, чтобы увидеть, что загружено. Я не вносил никаких других изменений в apache conf или в файл htaccess. Я просто использую базовый проект hello world asp.net MVC 4. Я построил его в VS 2017 и не внес изменений в то, что создается по умолчанию.
Когда я посещаю страницу, указанную выше, в журнал ошибок apache выводится следующее:
[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. Я не знаю, как это изменить.
Это очень похоже на этот вопрос Настройка Mono / ASP.NET 4.0 на Apache2 / Ubuntu: виртуальные хосты?
Следуя ссылке, указанной в одном из ответов, я смог решить эту проблему в своей системе, отредактировав "/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.