[.NET跨平台]Jexus独立版本的便利与过程中的一些坑
之前写过一篇相关的文章:在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验
当时的部署还是比较繁琐的,而且需要联网下载各种东西..有兴趣的可以看看,但是..已经过时了..
虽然已经出了.NET Core2.0 但是目前是预览版本,而且部署来说 相对比较麻烦.
今天我们主要来讲讲目前的Jexus5.8.2的独立版本和过程中遇到的一些小坑
部署系统环境:CentOS 6.5 64位(无外网)
部署Web应用所用技术:MVC5+EF6.1.3+Autofac
数据库:SQL Server 2008R2(注意:数据库并不在Linux上部署而是在一台Windows Server上)
参考资料:
https://www.linuxdot.net/bbsfile-4330
Jexus - ASP.NET跨平台从这里开始!(Jexus官网)
Jexus5.8.2的独立版所支持的系统:Centos 6.6以上版本,ubuntu server 14.04以上.(ps:我Centos 6.5..也成功了..目前没问题.)
这里说明一下为什么要用独立版本.
1.部署方便快捷(这是一开始没想到的..)
2.没外网,无法下载相关资源(这是重点..)
好了,废话不多说 我们开始部署过程:
一、下载 jexus独立版的包:
因为我没有外网,所以直接本地下载,然后拷贝到部署系统
下载地址:https://www.linuxdot.net/down/jexus-5.8.2-x64.tar.gz
二、解压下载的包:
新手提示:记得进入你压缩包所在的文件夹在解压..
- tar -zxvf jexus-5.8.-x64.tar.gz
你会得到一个叫jexus的文件夹
(然后就大功告成了!!,意不意外,惊不惊喜,刺不刺激?..)
↓向下看..↓向下看..↓向下看..
三、移动文件所在的位置到利于自己维护的地方:
上面确实没忽悠,解压完了 就真完成了..
不过为了咱以后维护方便...还是继续..
官方建议是移动到/usr文件夹下..嗯 我也就随大流了..
命令:
- sudo mv jexus /usr
清理原来的文件,(当然..你用Xftp什么之类的可视化工具清除和复制..都行.., 这里用命令我是想是装个B..)
- sudo rm -rf /tmp/jexus*
四、创建目录,部署Web站点:
于jexus的默认的网站配置文件指向的物理路径是/var/www/default这里的.. (当然,你也可以改)
所以,我们在/var下创建www文件夹,在www下创建default文件夹
然后复制我们发布的文件进去,如图:
五、重启一下我们的Juexs服务:
进入jexus文件夹
- cd /usr/jexus
启动Jexus:
- sudo ./jws start
重启Jexus:
- sudo ./jws restart
六、一些常用的Jexus命令:
- 启动:sudo ./jws start
- 重启:sudo ./jws restart
- 停止:sudo ./jws stop
- 启动某个网站: sudo start 网站名
- 重启某个网站:sudo restart 网站名
- 停止某个网站:sudo stop 网站名
至此,我们的部署工作就算真正的大功告成了!~
如下:
下面讲一下坑和注意事项..
1.错误信息:System.IO.FileNotFoundException,Could not find find file 'var/www/default\bin\roslyn\csc.exe'
找不到这个roslyn\csc.exe文件..
嗯..这个东西呢..是VS2015改用roslyn编译的,新的roslyn编译器,支持c# 6.0语法。它放到bin里面去是为了支持Asp.NET应用的动态编译。
我们可以删除...
进入要项目的nuget引用,删除如下两个包:
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers
重新编译即可
这里重新解释一下,以上是针对Mono5.0以下的版本,Mono5.0已经支持了roslyn编译器(感谢张善友老师的指导.)
2.AutoFac报错,信息如下:
..嗯,比较蛋疼,在Autofac注入的时候,报的是我的泛型类型..他竟然不识别..说是非泛型..一口老血喷在屏幕上,,,
解决方案是..我发现.当时为了方便自动注入,我所有的类都继承了一个空的接口..是非泛型的..包括我这个仓储也继承了..
所以在Mono超级无敌的强类型情况下..被认为是非泛型的了 - - ..(注意:.NET是没有这个问题的可以编译,可以运行)
删除这个继承,手动注入后.问题解决..
3.小惊喜..
之前我那篇文章说过....linux上的文件夹全小写,你如果有大写的文件夹比如Js,那么可能就资源加载不出来 ...404... 需要手动改小写
但是这次我部署了之后,并没有改..也能加载了..不知道是mono做的好事..还是Jexus..
当然..少了个麻烦当然是很开心的..
这里也解释一下,Mono有个环境变量叫:MONO_IOMAP,设置它为all的时候,就会支持大小写..
Jexus的jws文件设置中也有这个选项可以设置.(同样 感谢张善友老师的指导)
[.NET跨平台]Jexus独立版本的便利与过程中的一些坑的更多相关文章
- [.NET跨平台]Jeuxs独立版本的便利与过程中的一些坑
本文环境与前言 之前写过一篇相关的文章:在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验 当时的部署还是比较繁琐的,而且需要联网下载各种东西..有兴趣的可以看看, ...
- 用友ERP-U8最新破解(再次更新版本,附安装过程中的解决办法)
新版用友u8.70下载地址:http://ftp.shangyuchem.com/应用软件/用友ERP-U8管理软件(8.70版).rar 准备好安装环境,因为需要SQLSERVER和IIS支持,而个 ...
- java连接mysql数据库8.0以上版本过程中遇到的坑
来自:https://blog.csdn.net/u013276277/article/details/80255468 首先,我居然不能用navicat客户端连接上mysql8.0数据库报1251错 ...
- 记录ubuntu16.04版本安装过程中遇到的问题
记录ubuntu16.04版本安装和使用过程中遇到的些问题,方便以后查看,主要内容有: 1. ubuntu源替换 2. windows与vmware ubuntu文件夹共享 3. putty连接ubu ...
- ASP.NET跨平台实践:无需安装Mono的Jexus“独立版”
在Linux上运行ASP.NET网站或WebApi的传统步骤是,先安装libgdiplus,再安装mono,然后安装Jexus.在这个过程中,虽然安装Jexus是挺简便的一件事,但是安装mono就相对 ...
- Asp.Net跨平台 Jexus 5.8.1 独立版
在Linux上运行ASP.NET网站或WebApi的传统步骤是,先安装libgdiplus,再安装mono,然后安装Jexus.在这个过程中,虽然安装Jexus是挺简便的一件事,但是安装mono就相对 ...
- Centos6.x 下安装Jexus独立版
操作步骤: #cd /tmp #wget linuxdot.net/down/jexus-5.8.1-x64.tar.gz 注:如果有新版本,则修改为相应版本号即可. #tar -zxvf jexus ...
- 现阶段Mono版本下的WebAPI开发中存在的一些问题
背景 由于公司积极推动各业务产品服务化,得益于容器化技术的不断发展及普及,项目组的服务也更多地基于Mono,Jexus,Docker,Kubernetes等类库.容器.管理工具运行于Linux系统上. ...
- cocoapods安装以及使用,安装过程中ruby版本过低
cocoapods安装以及使用,安装过程中ruby版本过低 字数473 阅读103 评论1 喜欢2 1.打开终端 2.移除现有 Ruby 默认源 $ gem sources --remove http ...
随机推荐
- spring创建bean及数据注入
通过spring的IoC可以实现由配置文件来创建类的对象,可以降低类鱼类之间的耦合, 通常我们都是在代码中控制对象的生成和属性注入,而使用IoC后,就可以将设计好的类交给IoC容器,让容器去控制对象的 ...
- 提示“本地连接没有有效的ip配置-未修复“窗口
很多人在使用电脑时可能会遇到了这样一个网络问题,电脑无法连接网络,使用自带网络诊断工具诊断提示:"本地连接没有有效的ip配置".这种网络故障多数是出在使用路由器共享上网的windo ...
- SPU和SKU有什么区别
SPU = Standard Product Unit (标准产品单位)SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.通俗点讲,属性值.特性相同的 ...
- BZOJ_3143_[Hnoi2013]游走_期望DP+高斯消元
BZOJ_3143_[Hnoi2013]游走_期望DP+高斯消元 题意: 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机 ...
- 使用bat打开多个cmd窗口执行gulp、node
一.使用场景 使用场景:项目发布前 操作步骤: 1.执行gulp,对文件进行压缩.合并等操作: 2.在1执行完成后,对1中合并的文件如default.css进行多主题色的自动生成,在这里使用node处 ...
- git程序多版本维护方案
目前所在公司开发的系统为一个基础版本(通用版)包含了行业内一些基础功能实现,后期根据不同厂家进行定制版的开发,考虑独立项目的话代码维护不太方便,并且如果通用版本有变动的话,其他定制版本也都需要进行变动 ...
- Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库
前言 在 .Net Core 2.2中 Microsoft.AspNetCore.App 默认内置了EntityFramework Core 包,所以在使用过程中,我们无需再从 NuGet 仓 ...
- 第1章 发现端点(Discovery Endpoint) - IdentityModel 中文文档(v1.0.0)
OpenID Connect发现端点的客户端库作为httpclient的扩展方法提供.该GetDiscoveryDocumentAsync方法返回一个DiscoveryResponse对象,该对象具有 ...
- DFS(深度优先搜索)
简介 DFS的过程是一个递归过程,它是从图中的某个顶点开始,首先访问起始点v,然后选择一个与顶点v相邻的且没有被访问的顶点w,以w为起始顶点,在进行DFS,直到图中所有与v相邻的顶点都被访问过为止. ...
- 设计模式之适配者模式——Java语言描述 | Amos H's blog
适配器模式是作为两个不兼容的接口之间的桥梁.这种类型的设计模糊属于结构性模式,它结合了两个独立接口的功能 概念阐述 使用适配器模式可以解决在软件系统中,将一些旧的类放入新环境中,但是新环境要求的接口旧 ...