知识的荒漠

不积跬步无以至千里,不积小流无以成江海;千里之行,始于足下!

用户工具

站点工具


服务器:nas:asp.net

mod_mono是一个Apache 2.0/2.2/2.4.3模块,该模块为Apache提供ASP.NET支持。
官网mono开发环境安装教程(.net开发环境):https://www.mono-project.com/download/stable/#download-lin-ubuntu
官网mod_mono说明文档:https://www.mono-project.com/docs/web/mod_mono/
其他参考:博客园 | CSDN | 参考3

安装mono

在Ubuntu18.04下安装方法如下:

sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp:#keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update #添加密钥及官方存储库
sudo apt install mono-devel mono-xsp4 #mono-devel编译器,mono-xsp4运行ASP.NET应用程序
sudo apt install mono-complete mono-dbg referenceassemblies-pcl ca-certificates-mono #mod_mono好像非必须,
#测试,参考https://www.mono-project.com/docs/getting-started/mono-basics
mkdir projectname #建一个项目文件夹
nano hello.aspx #新建一个hello.aspx页面
#复制内容如下
<%@ Page Language="C#" %>
<html>
<head>
   <title>Sample Calendar</title>
</head>
<asp:calendar showtitle="true" runat="server">
</asp:calendar>
#然后在当前目录运行以下命令
xsp4 --port 9000
#然后就可以访问这个页面了,会显示一个日历:http://localhost:9000/hello.aspx

如果只是ASPX网页,可以采用自动配置:
https://www.mono-project.com/docs/web/mod_mono-autoconfiguration/
只要启用Apache2模块,不需要其他任何配置:

sudo a2enmod mod_mono_auto

在conf文件<VirtualHost *:9000></VirtualHost>中指定项目地址就可以。

ASP.NET

使用XSP4

xsp4 --port 9000

参考页面:https://www.mono-project.com/docs/web/aspnet/

使用Apache2

sudo apt-get install mono-devel mono-xsp4 mono-apache-server4 #注意mono-apache-server*最后一个代表的是.netframework的版本号
sudo a2enmod mod_mono
suo nano /etc/apache2/mods-available/mod_mono.conf
#启用
Include /etc/mono-server4/mono-server4-hosts.conf
#修改ports.conf加入Listen 9000
sudo nano /etc/apache2/ports.conf
cat /var/log/apache2/error.log #查看错误
sudo nano /etc/apache2/sites-available/000-default.conf
#在网站的conf文件配置如下:参考https://www.mono-project.com/docs/web/mod_mono/
<VirtualHost *:9000>
ServerName IP地址:9000
DocumentRoot /home/username/www
MonoAutoApplication disabled
AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd
MonoApplications "/:/home/username/www"
  <Directory />
Allow from all
SetHandler mono
Require all granted
  </Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
#最后,启动运行
a2ensite 000-default.conf
service apache2 restart
cat /var/log/apache2/error.log #查看error

使用Nginx,FastCGI

服务器/nas/asp.net.txt · 最后更改: 2020/09/25 21:04 由 caiweizhi