在.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)
大功告成.
在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验的更多相关文章
- ASP.NET Core 6框架揭秘实例演示[01]: 编程初体验
作为<ASP.NET Core 3框架揭秘>的升级版,<ASP.NET Core 6框架揭秘>提供了很多新的章节,同时对现有的内容进行大量的修改.虽然本书旨在对ASP.NET ...
- ASP.NET Core 6框架揭秘实例演示[03]:Dapr初体验
也许你们可能没有接触过Dapr,但是一定对它"有所耳闻",感觉今年它一下子就火了,一时间很多人都在谈论它.我们从其命名(Dapr的全称是"分布式应用运行时Distribu ...
- Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验
Net Core平台灵活简单的日志记录框架NLog初体验 前几天分享的"[Net Core集成Exceptionless分布式日志功能以及全局异常过滤][https://www.cnblog ...
- “前.NET Core时代”如何实现跨平台代码重用 ——程序集重用
除了在源代码层面实现共享("前.NET Core时代"如何实现跨平台代码重用 --源文件重用)之外,我们还可以跨平台共享同一个程序集,这种独立于具体平台的"中性" ...
- [ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [上篇]
微软在千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后来改名为Visual Studio),如果你是一个资深的 ...
- [ASP.NET Core 3框架揭秘] 跨平台开发体验: Docker
对于一个 .NET Core开发人员,你可能没有使用过Docker,但是你不可能没有听说过Docker.Docker是Github上最受欢迎的开源项目之一,它号称要成为所有云应用的基石,并把互联网升级 ...
- [ASP.NET Core 3框架揭秘] 跨平台开发体验: Linux
如果想体验Linux环境下开发.NET Core应用,我们有多种选择.一种就是在一台物理机上安装原生的Linux,我们可以根据自身的喜好选择某种Linux Distribution,目前来说像RHEL ...
- [ASP.NET Core 3框架揭秘] 跨平台开发体验: Mac OS
除了微软自家的Windows平台, .NET Core针对Mac OS以及各种Linux Distribution(RHEL.Ubuntu.Debian.Fedora.CentOS和SUSE等)都提供 ...
- [ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [下篇]
由于ASP.NET Core框架在本质上就是由服务器和中间件构建的消息处理管道,所以在它上面构建的应用开发框架都是建立在某种类型的中间件上,整个ASP.NET Core MVC开发框架就是建立在用来实 ...
随机推荐
- session实现购物车
为实现简单的购物功能(购物车添加.账户查看.购物车商品删除.实时的购物商品数量及价格的计算显示.购物车商品数量可手动输入等),用session实现了一简单的以php语言为基础.连接MySQL数据库的购 ...
- git克隆项目到本地&&全局安装依赖项目&&安装依赖包&&启动服务
一.安装本地开发环境 1.安装本项目 在需要保存到本地的项目的文件夹,进入到文件夹里点击右键,bash here,出现下图: 2.安装依赖项目 3.安装依赖包(进入到命令行) # 安装依赖包 $ ...
- C#中Length和Count的区别(个人观点)
这篇文章将会很短...短到比你的JJ还短,当然开玩笑了.网上有说过Length和count的区别,都是很含糊的,我没有发现有 文章说得比较透彻的,所以,虽然这篇文章很短,我还是希望能留在首页,听听大家 ...
- 深入理解CSS六种颜色模式
前面的话 赏心悦目的颜色搭配让人感到舒服,修改元素颜色的功能让人趋之若鹜.但颜色规划不当,会让网站用户无所适从.颜色从<font color="">发展至今,保留了很多 ...
- Android 死锁和重入锁
死锁的定义: 1.一般的死锁 一般的死锁是指多个线程的执行必须同时拥有多个资源,由于不同的线程需要的资源被不同的线程占用,最终导致僵持的状态,这就是一般死锁的定义. package com.cxt.t ...
- linux下配置matlab运行环境(MCR)
在安装好的matlab下有MCR(MatlabCompilerRuntime)在matlab2011/toolbox/compiler/deploy/glnxa64下找到MCRInstaller.zi ...
- v14.0\AspNet\Microsoft.Web.AspNet.Props 找不到
错误 E:\Github\AutoMapper\src\AutoMapper\AutoMapper.CoreCLR.kproj : error : 未找到导入的项目"C:\Program ...
- raspberrypi(树莓派)上安装mono和jexus,运行asp.net程序
参考网址: http://www.linuxdot.net/ http://www.cnblogs.com/mayswind/p/3279380.html http://www.raspberrypi ...
- [PHP源码阅读]strpos、strstr和stripos、stristr函数
我在github有对PHP源码更详细的注解.感兴趣的可以围观一下,给个star.PHP5.4源码注解.可以通过commit记录查看已添加的注解. strpos mixed strpos ( strin ...
- Netty5使用自签证书实现SSL安全连接
这次使用的Netty是最新的5.0 Alpha2版本,下载地址是:http://dl.bintray.com/netty/downloads/netty-5.0.0.Alpha2.tar.bz2,发布 ...