在.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 条评论
登录 后参与评论

相关文章

来自专栏技术专栏

eclipse/che 命令 -ubuntu

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

922
来自专栏运维咖啡吧

LDAP落地实战(二):SVN集成OpenLDAP认证

AuthLDAPBindAuthoritative:on表示只要求验证ldap用户,别的不认,off则可以使用svn的账号和ldap混合账号登录

863
来自专栏hotqin888的专栏

docker升级,docker更新boot2docker.iso,镜像丢失,加速器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

1022
来自专栏酷玩时刻

基于 CentOS 搭建 FTP 文件服务

此时,访问 ftp://192.168.1.170 可浏览机器上的 /var/ftp目录了。

1403
来自专栏青枫的专栏

Ubuntu 下环境搭建系列 —— 安装 Google Chrome

Ubuntu 16.04 LTS 默认安装的是 Firefox ,但是还是习惯使用 Google Chrome ,下面就简单介绍下如何在 Ubuntu 16.0...

671
来自专栏有趣的Python

最新Django2.0.1在线教育零基础到上线教程(二)windows下搭建开发环境

演示地址: http://mxonline.mtianyan.cn 教程仓库地址1: https://github.com/mtianyan/DjangoGe...

4035
来自专栏哎_小羊

Nexus OSS 3 搭建并配置使用 Docker & Git LFS 仓库

目录 Nexus OSS 3 介绍 环境、软件准备 Nexus OSS 3 服务搭建 Git LFS 仓库配置使用 Docker 私有仓库配置使用 1、Nexu...

4479
来自专栏北京马哥教育

11 个鲜为人知的 Linux 命令

英文:Tecmint,编译:Linux中国 linux.cn/article-2258-1.html Linux命令行吸引了大多数Linux爱好者。一个正常的...

2856
来自专栏北京马哥教育

这些git技能够你用一年了

用git有一年了,下面是我这一年来的git使用总结,覆盖了日常使用中绝大多数的场景。嗯,至少是够用一年了,整理出来分享给大家,不明白的地方可以回复交流。 ---...

2657
来自专栏应用案例

Hexo博客的安装部署及多电脑同步

Hexo安装教程很多,我这里尽可能的讲的细一些,把容易踩坑的地方以及后期多电脑同步所遇到的问题列出来,以便给自己及大家参考。本文主要讲解安装部署后源文件同步问题...

9547

扫码关注云+社区