专栏首页GuZhenYin在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验

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

相关文章

  • [.NET跨平台]Jexus独立版本的便利与过程中的一些坑

    本文环境与前言 之前写过一篇相关的文章:在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验 当时的部署还是比较繁琐的,而且需...

    GuZhenYin
  • 一步步学习EF Core(3.EF Core2.0路线图)

    前言 这几天一直在研究EF Core的官方文档,暂时没有发现什么比较新的和EF6.x差距比较大的东西. 不过我倒是发现了EF Core的路线图更新了,下面我们就...

    GuZhenYin
  • [干货来袭]MSSQL Server on Linux预览版安装教程(先帮大家踩坑)

    前言 昨天晚上微软爸爸开了全国开发者大会,会上的内容,我就不多说了,园子里面很多.. 我们唐总裁在今年曾今透漏过SQL Server love Linux,果不...

    GuZhenYin
  • linux更新内核版本

    Youngxj
  • Spring Security详解 顶

    2020-01-05 01:57:16.482 INFO 3932 --- [ main] .s.s.UserDetailsService...

    算法之名
  • 数据分析:谁会买iphone x?

    北京时间9月13号凌晨,全球最大的肾脏交易中心又开始了新一轮肾买卖计划。没错,你们翘首以待的iphone新产品又来了。 ? 然而,产品特点和价格是否合理,以及...

    沉默的白面书生
  • 极客大讲堂:怎样用一些旧零件来组装iphone SE?

    (iphone SE的拆机图显示,其许多零件继承于旧版本的iphone) 随着iphone SE正式投入了市场,许多DIY爱好者对iphone SE进行了研究...

    FB客服
  • CV学习笔记(二十八):活体检测总结②

    An original face anti-spoofing approach using partial convolutional neural netwo...

    云时之间
  • CV学习笔记(二十八):活体检测总结②

    和传统的方法结构类似,只是使用了VGG进行特征提取,通过CNN网络端到端学习anti-spoofing的表示空间

    云时之间
  • 深度学习目标检测(object detection)系列(一) R-CNN

    版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/...

    chaibubble

扫码关注云+社区

领取腾讯云代金券