一、参考了《Ubuntu(Linux) + mono + xsp4 + nginx +asp.net MVC3 部署》
大体可以按照里面的操作,但有些地方要稍作修改才行,另pcre g++ zlib 等依赖我也没有安装
1、安装mono要改成这样
apt install mono-devel
2、nginx安装好后会自动启动,所以修改完配置后要用restart使其生效
sudo /etc/init.d/nginx restart
3、mono-fastcgi-server4是fastcgi服务器,并非xsp4,但如果sessionState设置为StateServer模式或者数据库模式,可以安装xsp4,里面带了两个Session的管理工具,其中asp_state4.exe用来管理StateServer模式,dbsessmgr4.exe管理数据库模式。详见
Mono0.29中的ASP.NET: Feature complete
4、到第三步启动mono-fastcgi-server4后,已经可以正常运行aspx网页,mvc我就没有去测试了
5、配置https,nginx默认是安装了ssl模块,只需要安装好证书文件,并配置/etc/nginx/sites-available/default 文件,添加如下内容:
listen 443 ssl; #ssl证书的pem文件或者crt文件路径 ssl_certificate /var/www/server.crt; #ssl证书的key文件路径 ssl_certificate_key /var/www/server.key;
二、后来去Mono的官网看了一下,发现安装mono-xsp4模块可以作为web服务器,这样配置起来就更简单,不需要再经过nginx代理。
1、安装mono及xsp4,我参考了官网20.04版本的安装(注:前面四句如果省略掉直接安装mono的话,运行xsp4时会报错无法执行)
sudo apt install ca-certificates gnupg sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/mono-official-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb [signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt update
sudo apt install mono-devel
sudo apt install mono-xsp4
2、命令行运行:xsp4,把aspx页面放到指定路径,在浏览器打开即可看到效果
3、xsp4可通过命令行配置端口,路径等,但新版不支持https