Проект mono позволяет реализовать платформу .NET Framework на системах Linux. В данной инструкции мы разберем процесс его установки на Ubuntu.
Установка и запуск сервера mono
Mono + веб-сервер
NGINX
Apache
Примеры некоторых настроек
Добавить новое приложение
Поменять порт прослушивания
Установку выполняем командой:
apt-get install mono-complete mono-xsp4 asp.net-examples
* пакет mono-complete содержит все возможности Mono; mono-xsp4 предоставляет поддержку ASP.NET; asp.net-examples — содержит примеры скриптов ASP и скрипт для автоматической конфигурации веб-приложения.
Разрешаем автозапуск и стартуем сервис:
systemctl enable mono-xsp4
systemctl start mono-xsp4
Если мы используем брандмауэр, добавим правило:
iptables -I INPUT 1 -p tcp -m tcp —dport 8084 -j ACCEPT
* где 8084 — порт, по умолчанию для mono-xsp4.
Сохраняем правила iptables любым способом, например:
netfilter-persistent save
* если данная команда вернет ошибку, устанавливаем iptables-persistent командой apt-get install iptables-persistent .
Для проверки работы сервиса открываем браузер и переходим по адресу http://<IP-адрес сервера>:8084/samples/ — мы должны увидеть страницу «Welcome to Mono XSP»:
* не обращаем внимания на некрасивый вид страницы и отсутствующее изображение — это происходит по причине того, что демо верстка немного не коррелирует с настройкой веб-приложения.
Рассмотрим процесс настройки mono с веб-серверами NGINX и Apache2 путем проксирования запросов.
Открываем файл настройки виртуального домена по умолчанию:
vi /etc/nginx/sites-enabled/default
Находим опцию location / и приводим ее к виду:
location / {
proxy_pass http://127.0.0.1:8084/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
* где proxy_pass перенаправляет все запросы на внутренний сервер mono-xsp4.
Проверяем корректность настроек:
nginx -t
… и перезапускаем nginx:
systemctl restart nginx
Теперь открываем браузер и заходим по адресу http://<IP-адрес сервера>/samples/ (без указания порта). Мы должны увидеть веб-приложение, настроенное на mono.
Включаем модули для проксирования:
a2enmod proxy proxy_http
* где proxy — главный модель для перенаправления запросов; proxy_http — проксирование HTTP.
Настраиваем виртуальный домен с сайтом — в данном примере для сайта по умолчанию:
vi /etc/apache2/sites-enabled/000-default.conf
Добавляем строки внутри VirtualHost:
<VirtualHost *:80>
…
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8084/
ProxyPassReverse / http://127.0.0.1:8084/
…
</VirtualHost>
* где опция ProxyPreserveHost включаем проксирование для виртуального домена; ProxyPass позволяет перенаправить все запросы на данный сервер (в данном примере, на локальный mono-xsp4); ProxyPassReverse задает правило для возврата ответа — при такой настройке ответ будет возвращаться обратно веб-серверу.
Проверяем корректность настроек:
apachectl configtest
… и перезапускаем веб-сервер:
systemctl restart apache2
Теперь открываем браузер и переходим по адресу без указания порта — http://<IP-адрес сервера>/samples/ . Мы должны увидеть веб-приложение, настроенное на mono.
Разберем некоторые настройки, которые могут пригодится при конфигурировании сервера.
Открываем файл webapp:
vi /etc/xsp4/debian.webapp
Добавим веб-приложение:
<apps>
…
<web-application>
<name>api</name>
<vpath>/api</vpath>
<path>/var/www/api</path>
</web-application>
</apps>
* где:
… также можно использовать дополнительные опции:
Перезапускаем mono-xsp4:
systemctl restart mono-xsp4
Открываем настройки mono-xsp4:
vi /etc/default/mono-xsp4
Ищем опцию port= и меняем ее значение на порт, на котором должен работать сервис:
…
port=8080
…
После перезапускаем mono-xsp4:
systemctl restart mono-xsp4
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…