在.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地址,会看到

至此,安装环境已经全部准备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)

大功告成.

Mono+CentOS+Jexus的更多相关文章

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

    准备工作 本篇文章采用Mono+CentOS+Jexus的方式实现部署.Net的Web应用程序(实战,上线项目). 不懂Mono的请移步张善友大神的:国内 Mono 相关文章汇总 不懂Jexus为何物 ...

  2. Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3、4、5和WebApi(跨平台)

    1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...

  3. centos 6.X minimal 系列最小化安装完成后,安装mono和jexus过程小记录

    在使用虚拟机安装minimal版centos运行mono+jexus的时候,遇到了一些坑,记录一下,比如虚拟机访问不了网络,没wget命令没开放80端口,等等小问题,其他网上教程已经有mono+jex ...

  4. Linux(CentOS 6.5)下配置Mono和Jexus并且部署ASP.NET MVC5

    1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...

  5. Linux搭建aspx.net环境之:CentOs 7 安装 Mono 和 Jexus 步骤记录

    1 因为163没有CentOs7的镜像.所以没有加这个 wget  http://mirrors.163.com/.help/CentOS6-Base-163.repo cd /etc/yum.rep ...

  6. Mono和Jexus并且部署ASP.NET MVC3、4、5和WebApi

    Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3.4.5和WebApi(跨平台) 1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和 ...

  7. 无需安装Mono的Jexus

    ASP.NET跨平台实践:无需安装Mono的Jexus“独立版”   在Linux上运行ASP.NET网站或WebApi的传统步骤是,先安装libgdiplus,再安装mono,然后安装Jexus.在 ...

  8. 安装mono和jexus,运行asp.net程序

    随笔- 62  文章- 1  评论- 7  raspberrypi(树莓派)上安装mono和jexus,运行asp.net程序   参考网址: http://www.linuxdot.net/ htt ...

  9. Centos、Ubuntu 安装 Mono、Jexus

    Mono是.NET的跨平台实现 在众多关于语言的争论中,.NET一直被以不能跨平台而诟病,Mono改变了这一现状. 有人当心Mono会涉及版权啥的问题.高深的偶不懂,不过我觉得Unity3D都能用,为 ...

随机推荐

  1. Codeforces Round #275 (Div. 2) C - Diverse Permutation (构造)

    题目链接:Codeforces Round #275 (Div. 2) C - Diverse Permutation 题意:一串排列1~n.求一个序列当中相邻两项差的绝对值的个数(指绝对值不同的个数 ...

  2. 全民Scheme(0):lat的定义

    接下来我会写一写Scheme的学习笔记.嗯,Scheme是属于小众的语言,但合适用来教学的. 什么是lat,就是遍历list里的每一个S-expression,假设发现当中某个不是atom的,则返回f ...

  3. C#数学运算表达式解释器

    C#数学运算表达式解释器 測试文件内容: a=2+3*2; b=2*(2+3); 浏览按钮事件处理程序: private void button_browse_Click(object sender, ...

  4. C文件操作的语言fgets()

        谈fgets(..)功能.     原型  char *  fgets(char * s, int n,FILE *stream);     參数:          s: 字符型指针.指向存 ...

  5. Oracle 12C 简介

    2013年6月26日,Oracle Database 12c版本正式发布,首先发布的版本号是12.1.0.1.0,率先提供下载的平台有Linux和Solaris: Oracle官方下载地址: http ...

  6. iOS Dev (60) 怎样实现 UITextView 中的 placeHolder

    iOS Dev (60) 怎样实现 UITextView 中的 placeHolder 作者:阿锐 地址:http://blog.csdn.net/prevention - 跟着你的 UITextVi ...

  7. 图像编程学习笔记2——bmp位图平移

    以下文字内容copy于<<数字图像处理编程入门>>,code为自己实现,是win32控制台程序. 2.1 平移 平移(translation)变换大概是几何变换中最简单的一种了 ...

  8. 关于NSArray的几种排序:

    #利用数组的sortedArrayUsingComparator调用 NSComparator  当中NSComparator事实上就是一个返回NSComparisonResult的block. ty ...

  9. Xcode 4.6.2 运行次数为偶数程序崩溃问题

    如果你的MAC 系统升级到10.8.4  Xcode升级到4.6.2,在工程运行第二次.第四次.第六次 ... 的时候程序就会崩溃 无论是新建的模板工程也会这样,这个属于系统BUG,在stackove ...

  10. pinyin4j的使用

    pinyin4j的使用   pinyin4j是一个功能强悍的汉语拼音工具包,主要是从汉语获取各种格式和需求的拼音,功能强悍,下面看看如何使用pinyin4j.     import net.sourc ...