因为公司之前做的网站项目都是基于微软的.net平台,现在需要在树莓派3上测试它是否能负载起正常的访问请求。最开始直接的想到微软3月份刚发布针对于树莓派3的win10系统,其实说是win10,也就是一个超级精简的嵌入式系统,不过看支持列表里包括win10,所以就打算先试一试。

结果发现兼容树莓派3的Windows 10 IoT系统只有预览版本,正式版只是针对于2代,3的正式版还未发布。而所谓的核心预览版。。。。。。对于没接触过底层开发的我来说就是一个带着图形界面的硬盘 [尴尬脸]

无奈之下重新安装了树莓派官方的 Raspbain 系统,linux 内核,自己之前也做过 ubuntu 系统的服务器搭建,好歹也会熟悉一些。下面进入正题。

总的来说在 linux 系统下搭建.net环境的组合是 mono+jexus ,mono主要作用是提供.net环境,使系统可以运行C#程序;而jexus则类似于window下的IIS,linux下的tomcat,作为网站的管理服务存在,提供一个可供外网访问的接口。jexus也存在不依赖于mono的独立版,在这儿没有采用这种方法,有兴趣可以戳这里。

第一步:安装mono


搜集了很多网上的资料,根据文中提到的版本去下载安装发现在下一步安装jexus的时候会提示需要安装mono或.net环境,说明上一步没有安装成功,但仔细检查没有发现问题,看来还是文件包不行,最后直接从库里下载安装成功。

sudo apt-get install mono-complete

安装完成后输入

mono -V

会显示当前版本号和版本信息,随后用一句简单的C#语句用来测试

输入 csharp ,随后在命令中输入

Console.WriteLine(DateTime.Now);

可以得到系统时间。

PS:这里是服务器本地的时间,可以通过 date -s "2016-09-27 00:00:00" 命令进行纠正。

第二步:安装jexus


执行以下代码下载安装包。可以新建一个文件夹存放下载文件,我在这儿使用的是/root/software

 注意:因树莓派是arm处理器,所以必须下载jexus arm专用版,不然会出现安装后资源请求过慢的问题。自己之前没注意最后发现一个200k的css包请求时间就超过30s

 wget -c http://www.linuxdot.net/down/jexus-5.8.2-arm.tar.gz
tar -zxvf jexus-5.8.2-arm.tar.gz
cd jexus-5.8.2-arm

也可以在官网上下载最新版本随后用FlashFXP和WinSCP之类的工具传过去,方法类似。

解压后执行安装命令:

sudo ./install

jexus会自动安装到/usr/jexus中,随后移动到该文件夹启动服务

 cd /usr/jexus
sudo ./jws regsvr
sudo ./jws start
curl localhost/info

最后一句为测试命令,输出结果:

或者直接通过其他电脑的浏览器输入 IP/info ,可看到如下欢迎界面

初步搞定!也可以通过运行 vim /etc/rc.local 或类似的开机启动脚本,在其中加入

/usr/jexus/jws.start

设置开机启动

第三步:配置与发布


执行命令进入配置文件

vim /usr/jexus/siteconf/default

可以看到默认路径为/var/www/default文件夹,及网站资源访问的默认路径,我们就可以把网站的UI文件夹内的内容复制进去,随后通过IP即可访问。

在这里我传了一个index.html文件作为测试,效果如下图

此外还可以通过jexus的配置文件配置端口,映射等内容,有兴趣的朋友可以再去尝试。

树莓派3(Raspbain系统)安装.net环境的更多相关文章

  1. [IOT] - 在树莓派的 Raspbian 系统中安装 .Net Core 3.0 运行环境

    之前在 Docker 中配置过 .Net Core 运行环境,地址:[IOT] - Raspberry Pi 4 Model B 系统初始化,Docker CE + .Net Core 开发环境配置 ...

  2. 树莓派系列教程:安装系统与配置环境,使用PuTTy与VNC图形界面远程登录

    本文所需物品清单: Raspberry Pi 3 Model B 主板.SD卡与读卡器(用于烧录系统) 资料整理来源在文尾 需要下载的资源与工具: 推荐系统-Raspbian 树莓派官方深度定制的硬件 ...

  3. Home Assistant + 树莓派:强大的智能家居系统 · 安装篇

    Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 转载:Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 目录 1. 初始安装 3. Homebridg ...

  4. Win10通过SSH与树莓派Raspbain系统互传文件

    1.在Linux系统上安装ssh-server(由于Raspbain系统自带ssh-server,这个步骤可以省略) 查看ssh是否运行的命令: ps -ef | grep ssh 如果没有安装,则安 ...

  5. mac系统下Ruby环境安装

    在我们编写代码过程中,会用到一系列的第三方开源类库,我们可以选择手动去一个个添加需要的库,但这非常麻烦.因此我们可以使用CocoaPods来帮助我们自动添加.使用CocoaPods需要先安装Ruby环 ...

  6. CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin详细过程

    介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&am ...

  7. iOS Mac系统下Ruby环境安装

    由EasyIOS引出的一系列问题:转载的上一篇CocoaPods安装和使用教程中说明了,为什么要使用cocoapods ,但是要安装cocoapods需要Ruby环境,安装Ruby环境首先需要安装Xc ...

  8. 树莓派.安装Samba环境

    适用于树莓派3 树莓派装好系统后, 为了方便传文件到树莓派, 建议使用Samba这类文件夹级别的应用, 比ftp方便多了 如果你想把树莓派变成Nas, Samba也是不可或缺的应用 通过samba服务 ...

  9. windows系统下简单nodejs安装及环境配置

      相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置     相信 ...

随机推荐

  1. 余额宝 vs. P2P网贷,谁更有生命力?

    余额宝跟P2P网贷作为一个理财方式,要说谁更有生命力,那就必须从以下几个方面说起,一是收益性,二是风险性,三是流动性,下面从这几个方面来对比一下余额宝跟P2P网贷. 首先是收益性,作为投资理财者,第一 ...

  2. .Net Mvc 四种过滤器

    一.授权过滤器:AuthorizationFilters 二.动作过滤:ActionFilters 三.响应过滤:ResultFilters 四.异常过滤:ExceptionFilters ===== ...

  3. 搭建基于MinGW平台的《OpenGL蓝皮书(OpenGL SuperBibe 5th)》示例代码编译环境

    副标题:搭建基于MinGW平台的<OpenGL超级宝典>(OpenGL蓝皮书第5版)GLTools 编译环境.示例代码:Triangle.cpp @ SB5.zip 以下内容以及方法均参考 ...

  4. 「BZOJ 3280」小R的烦恼

    题目链接 戳我 \(Solution\) 这道题很像餐巾计划啊. 首先将每天拆成\(x\)和\(x'\),\(S->x\)流量为\(a_i\),费用为\(0\)表示一天下来有\(a_i\)个濒死 ...

  5. c++基类指针指向继承类调用继承类函数

      类里面重载运算符>>, 需要使用友元函数,而友元函数,不能作为虚函数. 所以,基类指针无法直接调用继承类里重构的 >>  ; 使用类转换,能解决掉,基类指针 调用 继承类 ...

  6. Multimap的初使用

    之前不知道这个类型使用,在朋友的推荐下进行了个实际操作. 类似这种查询,我需要将他们归类拿出来,如果招以前那么拿的话可能要套挺多个循环的. 首先根据查询得到一个 List<Map<Stri ...

  7. 性能测试常用sql语句

    做了一段时间的性能测试,把自己在性能测试过程中,使用到的Oracle中用到的sql语句整理一番,做个备忘: (1)多个字段以某种格式拼接 Oracle方式:"||"字符串拼接符; ...

  8. Spring AOP(面向切面编程)

    一.AOP简介 1.AOP概念:Aspect Oriented Programming 面向切面编程 2.作用:本质上来说是一种简化代码的方式 继承机制 封装方法 动态代理 …… 3.情景举例 ①数学 ...

  9. 最短路径SPFA算法(邻接表存法)

    queue <int> Q; void SPFA (int s) { int i, v; for(int i=0; i<=n; i++) dist[i]=INF; //初始化每点i到 ...

  10. SQL语句之行操作

    SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 关系型数据库的存储形式 在关系型数据库中,数据都是以类似于Excel表格的形式存储 ...