在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验

准备工作

本篇文章采用Mono+CentOS+Jexus的方式实现部署.Net的Web应用程序(实战,上线项目).

不懂Mono的请移步张善友大神的:国内 Mono 相关文章汇总

不懂Jexus为何物的请移步:Jexus - ASP.NET跨平台从这里开始!

该项目采用标准的MVC5+EF6.1.3+Jquery UI的形式实现,目前运行稳定,略有小瑕疵积极修复中(文章最后会提到).

文章中的Linux系统为:腾讯云 CentOS 7.1 64位

数据库为SQL Server 2008R2(注意:数据库并不在Linux上部署而是在一台Windows Server上)

效果如下:

下面开始正文

正文

1.更新系统

yum –y update

2.安装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

3.安装Mono需要的GDI+兼容API的库Libgdiplus

cd /usr/local/src/

wget http://download.mono-project.com/sources/libgdiplus/(这里是版本号,各位请直接访问此连接查看最新版本并下载,本文编写时最新版本为:libgdiplus-4.2.tar.gz)

tar -jxvf libgdiplus-4.2.tar.gz (根据你上面下载的版本号来解压对应的文件,此处以4.2为试例)

cd libgdiplus-4.2 (根据版本号进入相应的解压后的文件夹,此处以4.2为试例)

./configure --prefix=/usr

make

make install

4.安装Mono

cd /usr/local/src/

wget http://download.mono-project.com/sources/mono/(这里是版本号,各位请直接访问此连接查看最新版本并下载,本文编写时最新版本为:mono-4.3.2.467.tar.bz2)

tar -jxvf mono-4.3.2.467.tar.bz2同理,解压您下载的最新版本.

./configure --prefix=/usr

make

make install

输入 mono -V 如有mono版本信息,则安装成功.

5.安装Jeuxs

cd /tmp wget linuxdot.net/down/jexus-5.8.1.tar.gz (请自行去官网查找最新版本安装,本文以5.8.1为实例.) tar -zxvf jexus-5.8.1.tar.gz  cd jexus-5.8.1 sudo ./install

安装完成后执行

sudo /usr/jexus/jws start

在游览器中输入你服务器的外网IP地址如:127.0.0.1/info,会看到

至此,安装环境已经全部准备OK

下面开始讲解如何部署我们的Web程序到jexus上.

部署项目

首先在你的开发机上下载WinSCP (当然不局限于WinSCP,只是为了与Linux交互文件,大家可以随意选择顺手的)

打开服务器上打开/usr/jexus/siteconf文件夹如图:

打开default文件,修改其中的的文字:

port=8080   (网站的端口) root=/ /var/wwww (网站的文件夹位置) hosts=* #OR your.com,*.your.com (你的域名)

基本配置解释如下:

网站配置的基本内容: port=80                          # jexus WEB服务器侦听端口(必填。当然可以是其它端口) root=/ /var/www/mysite           # 网站URL根路径(虚拟目录)和对应的物理路径,两个路径字串之间必须用空格分开(必填。既使这个网站是一个纯粹的反向代理站,也得填)

#可选项 hosts=mysite.cn,www.mysite.cn    # 网站域名(建议填写),可以用泛域名,比如:*.mysite.cn(不填此项或只填一个“*”号表示这是默认网站,一个端口只能有一个默认站) indexs=index.aspx,index.htm      # 首页文件名,可以写多个,用英文逗号分开(可以不填。因为JWS系统含有常用首页名) aspnet_exts=mspx,ttt             # 添加新出现的或自定义的ASP.NET扩展名(不建议填。多个扩展名用英文逗号分开,不加点号。系统含有常用扩展名)

更加详细Jexus的配置信息请参考:

http://www.linuxdot.net/bbsfile-3084

然后我们通过WinSCP将Web应用拷贝到我们刚刚填写的/var/wwww文件夹中.

然后在服务器中输入:

sudo /usr/jexus/jws restart (重启你的Jexus)

大功告成.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏容器云生态

企业级Docker Registry开源工具Harbor的介绍以及使用指南

#Harbor 的简介以及基本架构 Harbor简介 基本架构 Harbor安装和配置指导 Harbor 可以使用以下三种方式进行安装部署: 在线安装: 使用...

2326
来自专栏编程坑太多

『中级篇』Vagrant在本地搭建多节点K8S集群(65)

https://github.com/limingios/docker/tree/master/No.9

2368
来自专栏技术专栏

eclipse/che 命令 -ubuntu

访问che的webide,点击左侧stacks,在右侧的列表中选择自己需要的运行时环境点进进入详情界面

1352
来自专栏北京马哥教育

搭建python数据分析平台

基本结构 其实没什么高深的东西,无非是常用的那一套: pandas, numpy, matplotlib… 但是为了更方便使用,加持了 jupyter note...

3456
来自专栏Hadoop实操

如何在CDH5.15中安装CDSW1.4

3186
来自专栏Jacklin攻城狮

让Git不再难学

在团队做过软件开发的,版本控制必是不可或缺的一项。目前,版本控制主要分为集中式版本控制系统和分布式版本控制系统 ,即大家熟知的SVN和Git。Git是当下最流行...

1083
来自专栏闵开慧

WINDOWS下使用虚拟机安装ubuntu及其上网设置的安装说明

LINUX是个好东西,可是如果是新手.而且是想多系统共存的话,安装就会有点难。建议初装LINUX的朋友试试用虚拟机VMware workstation安装...

40711
来自专栏Zachary46

Android直接用手机打包apk!

本人用的是Mac,以下操作都是在Mac环境下配置的,Windows环境的配置移步到Android使用Jenkins自动化构建测试打包apk

1323
来自专栏云计算教程系列

[快速入门]如何在Ubuntu 18.04上安装Apache Web服务器

Apache HTTP服务器是世界上使用最广泛的Web服务器。它提供了许多强大的功能,包括可动态加载的模块,强大的媒体支持以及与其他流行软件的广泛集成。

1710
来自专栏kevin-blog

因为n卡驱动问题导致的安装ubuntu失败的解决方法

最近终于在我的飞行堡垒上装成功了ubuntu18.04了,哎,不容易哈,大一刚接触linux的时候,我就想给电脑装ubuntu,脱坑windows,但是每次装系...

2172

扫码关注云+社区