在.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. 用Swift开发二维码扫描器教程

    (原文:Building a QR Code Reader in Swift 作者:Simon Ng 译者:xiaoying )我相信大多数人都知道二维码(QR code)是什么,如果你对这个概念还不 ...

  2. SystemParametersInfo API学习(128个中文参数解释,215个实际值)

    uiAction:该参数指定要查询或设置的系统级参数.其取值如下:SPI_GETACCESSTIMEOUT:检索与可访问特性相关联的超时段的信息,PvParam参数必须指向某个ACCESSTIMEOU ...

  3. Delphi接口的底层实现(接口在内存中仍然有其布局,它依附在对象的内存空间中,有汇编解释)——接口的内存结构图,简单清楚,深刻 good

    引言 接口是面向对象程序语言中一个很重要的元素,它被描述为一组服务的集合,对于客户端来说,我们关心的只是提供的服务,而不必关心服务是如何实现的:对于服务端的类来说,如果它想实现某种服务,实现与该服务相 ...

  4. SQL中如何将一个表中的某一列的数据复制到另一个表中的某一列里

    表一: SPRD PRD_NO      SPC 001                NULL 002               NULL 003               NULL ...   ...

  5. Bdsyn百度手机助手是何物,它是怎样神不知鬼不觉地安装到你的电脑里的?

    [电脑软件管理中Bdsyn手机助手的问题]Bdsyn手机助手 is developed by Baidu, Inc. and is used by 10 users of Software Infor ...

  6. Api之Cors跨域以及其他跨域方式

    Web Api之Cors跨域以及其他跨域方式(三)   我们知道ajax不能跨域访问,但是有时我们确实需要跨域访问获取数据,所以JSONP就此诞生了,其本质使用的是Script标签,除JSONP以外还 ...

  7. Java中double变量精确到小数点后几(2)位

    import java.math.BigDecimal; import java.text.NumberFormat; public class Java中double类型的数据精确到小数点后两位 { ...

  8. php 简易验证码(GD库)

    论坛中为了防止灌水,出现了非常多的验证码的插件.如今这里介绍一个非常easy的自己定义验证码函数,这个验证码实现的原理就是通过php扩展的gd库来实现的. 给出百度百科对验证码的定义"验证码 ...

  9. hdu 3405 world islands

    求删点后最小的生成树,n<50....数据好弱,直接暴力枚举就行...删点的时候直接g[i][j]=INF就行了. #include<iostream> #include<al ...

  10. 由“Jasperrpeorts 4.1.2升级到5.1.2对flex项目的解析”到AS3 带命名空间的XML的操作

    原文同步至:http://www.waylau.com/from-jasperrpeorts-4-1-2-upgraded-to-5-1-2-parsing-of-flex-projects-to-t ...