golang 2行代码在基于arm linux的树莓派、orangepi上运行http web服务
go语言(golang)简化了跨平台交叉编译步骤,支持在windows系统下交叉编译基于arm+linux平台的应用,运行时无需其它依赖库。以下以一个简单的http server为例,先上源码:
************************************************************
package main
import(
"net/http"
)
funcmain(){
http.Handle("/",http.FileServer(http.Dir("html")))
http.ListenAndServe("0.0.0.0:8080",nil)
}
************************************************************
main函数里代码说明:
//第一行:设置主目录为启动目录下的html目录
//第二行:启动http服务,监听8080端口
************************************************************
步骤1:在windows系统下(本人用的是win10)安装go语言的开发环境及可视化编译器LiteIDE(步骤很简单,网上教程很多)
步骤2:新建Go1 Command Project,命名为"Test"
步骤3:import里修改为"net/http",main()函数修改为如下两行代码:
http.Handle("/",http.FileServer(http.Dir("html")))
http.ListenAndServe("0.0.0.0:8080",nil)
步骤4:目标环境修改为cross-arm6,按“ctrl+B”编译,生成的执行文件为源码目录下的"Test",无后缀
步骤5:复制"Test"到你的arm开发板(树莓派raspberrypi、香橙派orangepi),并授权:sudo chmod 777 Test,同时在“Test”所在目录新建一个“html”目录,运行./Test
接下来就可以通过http://开发板ip:8080访问http服务了,记住新建一个“html”目录后,放进一些html文件/其它文件,可像普通网站一样浏览、下载。
************************************************************
1.本例建立一个静态网站,在main函数里添加http.HandleFunc可增加动态处理能力
2.在raspberry pi 2b,orange pi lite测试通过(arm版本前向兼容)
golang 2行代码在基于arm linux的树莓派、orangepi上运行http web服务的更多相关文章
- 200 行代码实现基于 Paxos 的 KV 存储
前言 写完[paxos 的直观解释]之后,网友都说疗效甚好,但是也会对这篇教程中一些环节提出疑问(有疑问说明真的看懂了 ),例如怎么把只能确定一个值的 paxos 应用到实际场景中. 既然 Talk ...
- linux系统下开启一个简单的web服务
linux 下开启一个简单的web服务: 首先需要linux下安装nodejs 然后创建一个test.js: vi test.js var http =require("http&quo ...
- 编译基于ARM LINUX的驱动模块的Makefile
KERNELDIR =/home/wenhao/platform/linux-2.6.34PWD := $(shell pwd)CROSS_COMPILE = /usr/local/arm/4.3.2 ...
- 关于:基于http协议大文件断点续传上传至web服务器
关键部分 前端用file.slice()分块 前端用FileReader获取每一分块的md5值 后端用MultipartFile接受分块文件 后端用FileOutputStream拼装分块文件 话不多 ...
- linux下在eclipse上运行hadoop自带例子wordcount
启动eclipse:打开windows->open perspective->other->map/reduce 可以看到map/reduce开发视图.设置Hadoop locati ...
- 智能开关:orange pi one(arm linux)控制继电器
大家都知道,继电器是用小电流去控制大电流运作的一种“自动开关”,在我们生活.工作中随处可见.现在的“智能家居”概念,有很多功能模块其实就是“智能开关”,远程开关.定时开关.条件触发开关等等. 下面介绍 ...
- learning docker steps(9) ----- arm linux docker 安装
参考:https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1 想要在arm linux上安装docker ...
- SpringBoot,用200行代码完成一个一二级分布式缓存
缓存系统的用来代替直接访问数据库,用来提升系统性能,减小数据库复杂.早期缓存跟系统在一个虚拟机里,这样内存访问,速度最快. 后来应用系统水平扩展,缓存作为一个独立系统存在,如redis,但是每次从缓存 ...
- Linux学习 - 树莓派4b的U-Boot的初识
Linux学习 - 树莓派4b的U-Boot的初识 初识U-Boot 学习书籍:<[正点原子]I.MX6U嵌入式Linux驱动开发指南V1.5.1> 章节:第三十章 学习内容: 书中介绍u ...
随机推荐
- 利用canvas添加图片水印--直接上代码
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Codeforces-B-Game with string(模拟栈)
Two people are playing a game with a string ss, consisting of lowercase latin letters. On a player's ...
- Qt中的布局管理器
1. 布局管理器提供相关的类对界面组件进行布局管理,能够自动排列窗口中的界面组件,窗口变化后能自动更新界面组件的大小. 2. QLayout是Qt布局管理器的抽象基类,通过继承QLayout实现了功能 ...
- 分治法 - Divide and Conquer
在计算机科学中,分治法是一种很重要的算法.分治法即『分而治之』,把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的 ...
- java生成字母首位8位随机码
public String getRedomchar(){ String[] char1 = new String[] { "a", "b", "c& ...
- 性能测试工具LoadRunner27-LR之读取Excel数据
为何要读取Excel数据? 很多用户喜欢用Excel来统计数据,比如学生成绩表.个人信息等.有时需要把Excel中的数据来进行参数化,数据量比较多时,一个个在LR里输入是不现实的,因此需要用LR来导入 ...
- [转]js 判断js函数、变量是否存在
本文转自:http://blog.csdn.net/liang4571231/article/details/4042519 在进行js编程时,总会出现可能一些函数或者变量未定义而被引用,导致报错的情 ...
- ubuntu使用ppa源安装最新版本的git
国内也有ubuntu镜像源.但是里面的git都是1.9版本.最新的已经是2.3了 1 首先使用将ppa源加入Ubuntu,交大家 sudo add-apt-repository ppa:pdoes/p ...
- pat1020. Tree Traversals (25)
1020. Tree Traversals (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Suppo ...
- DIV+CSS如何让图片和文字在同一行!
在div+css布局中,如果一行(或一个DIV)内容中有图片和文字的话,图片和文字往往会一个在上一个在下,这是一个新手都会遇到问题,我的解决方法有三: 1.添加CSS属性:vertical-align ...