本文共 2200 字,大约阅读时间需要 7 分钟。
在 CentOS 6上部署 Mono,首先需要安装一些依赖项:
yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel cairo-devel
然后下载并安装最新版本的 Mono:
wget http://download.mono-project.com/sources/mono/mono-3.2.1.tar.bz2tar -jxvf mono-3.2.1.tar.bz2cd mono-3.2.1./configure --prefix=/usrmakemake install
安装完成后,输入 mono --V
检查版本是否正确。
要部署 ASP.NET 应用,我们需要一个 web 服务器。我推荐使用 Jexus,它是 Mono 生态的选项之一:
cd /tmpwget https://github.com/l87/jexus/releases/download/5.6.4/jexus-5.6.4.tar.gztar -zxvf jexus-5.6.4.tar.gzcd jexus-5.6.4sudo ./install
安装完成后,配置 Jexus,以便它能正常处理 ASP.NET 请求。
在 Linux 上部署 SQLite 应用可以有几种方式:
我会选择 SQLite.NET 因为它的 API 更接近微软的 ADO.NET,开发体验更熟悉。
public class PrimeKeyUser{ [PrimaryKey, AutoIncrement] public int Id { get; set; } public string Username { get; set; } public string Password { get; set; } public DateTime CreatedTime { get; set; }}
protected void Page_Load(object sender, EventArgs e){ var DbPath = Server.MapPath("~/App_Data/Demo.db"); if (!SqliteConnection cone == null) cone = new SqliteConnection(DbPath); if (Request["id"] != null && !string.IsNullOrEmpty(Request["id"])) { cone.Delete(new PrimeKeyUser => p/entities/{id}=Request["id"]); Response.Redirect("Default.aspx"); } var Users = cone.Query("SELECT * FROM PrimeKeyUser"); Users.DataBind();}
protected void ButtonAdd_Click(object sender, EventArgs e){ var UserId = random.Generate between 100 and 999; var newUser = new PrimeKeyUser { Username = $"test{UserId}", Password = $"password{UserId}", CreatedTime = DateTime.Now }; cone.Insert(newUser); Response.Redirect("Default.aspx");}
部署 ASP.NET 应用到 Linux 的过程充满挑战,但通过仔细配置 Mono 和 Jexus 环境,结合适当的 SQLite.NET 库,我成功完成了开发任务。以下几点值得注意:
希望我这篇文章能为你的部署之旅提供帮助!
转载地址:http://qrwfk.baihongyu.com/