Как заставить ASP.NET работать на Apache на CentOS 7?
Я успешно установил Apache, Mono, XSP Server и MonoDevelop на компьютере с CentOS 7, в основном следуя http://www.mono-project.com/docs/getting-started/install/linux/ (с добавлением yum install -y xsp
, а также yum install -y monodevelop
, Mono Develop работает, и я могу создавать и запускать на нем сайты ASP.NET (через XSP Server).
Но мне нужно интегрировать Mono с Apache. Для этого я установил mod_mono
(yum install -y mod_mono
) и создал конфигурацию для тестового приложения через http://go-mono.com/config-mod-mono/. Я изменил версию моно-сервера на 4 и добавил предоставление открытого доступа:
Alias /mono-test "/srv/www/mono-test"
MonoServerPath mono-test "/usr/bin/mod-mono-server4"
MonoDebug mono-test true
MonoApplications mono-test "/mono-test:/srv/www/mono-test"
<Location "/mono-test">
Allow from all
Order allow,deny
MonoSetServerAlias mono-test
SetHandler mono
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip dont-vary
# Allow open access:
Require all granted
</Location>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
</IfModule>
Я поместил файл в /etc/httpd/confd
с именем x-mono-test.conf
, чтобы быть уверенным, что он загружен после значения по умолчанию mod_mono.conf
(содержание см. в конце этого вопроса).
Проблема заключается в том, что доступ к тестовому файлу aspx в приложении Apache ( http://localhost/mono-test/test.aspx) приводит к HTTP 503 - служба недоступна. Журнал ошибок Apache остается пустым.
Я хотел бы знать, что может быть не так или как я мог найти источник этой проблемы.
Содержание mod_mono.conf
:
<IfModule !mod_mono.c>
LoadModule mono_module /usr/lib64/httpd/modules/mod_mono.so
</IfModule>
<IfModule mod_headers.c>
Header set X-Powered-By "Mono"
</IfModule>
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 .vb
AddType application/x-asp-net .master
AddType application/x-asp-net .sitemap
AddType application/x-asp-net .resources
AddType application/x-asp-net .skin
AddType application/x-asp-net .browser
AddType application/x-asp-net .webinfo
AddType application/x-asp-net .resx
AddType application/x-asp-net .licx
AddType application/x-asp-net .csproj
AddType application/x-asp-net .vbproj
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
1 ответ
Я думаю, что вы пропустите один набор в конфигурации Apache с моно. Я настоятельно рекомендую вам проверить это руководство для Ubuntu. Я пытался, и он отлично работает с XSP и Apache. Я тестирую несколько примеров и отлично работаю для всего, кроме WCF (SVC). Судя по всему, эта поддержка все еще имеет много проблем в моно 2.10.
http://www.bgsoftfactory.net/run-asp-net-mvc-4-with-mysql-on-linux/
Я думаю, что проблема может быть в том, что виртуальный хост не активен. Но это простая догадка.