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 ...
随机推荐
- 杭电ACM hdu 1398 Square Coins
Problem Description People in Silverland use square coins. Not only they have square shapes but also ...
- android 快速开发框架
https://github.com/lipanquan/LPQRapidDevelopmentFramework 依赖LPQLibrary https://github.com/lipanquan/ ...
- Windows下使用pip安装Python模块
打开cmd窗口: 找到pip安装路径: 拖动pip.exe到命令行窗口: 空格并输入“install 包名”,回车. ========================================= ...
- Java学习笔记day06_自定义类_ArrayList
1.自定义类class 使用类的形式, 对现实中的事物进行描述. 类是引用数据类型. 事物: 方法,变量. 方法:事物具备的功能. 变量:事物的属性. 格式: public class 类名{ //属 ...
- 搭建并行开发环境MPICH2
平台信息 Description: CentOS Linux release 7.6.1810 (Core) 注意事项 安装BLAS之前需要: 安装 GCC/GFortran 环境 安装步骤 下载 m ...
- RNN学习资料
1. Recurrent Neural Networks Tutorial, Part 2 – Implementing a RNN with Python, Numpy and Theano htt ...
- [转]25个HTML5和JavaScript游戏引擎库
本文转自:http://www.open-open.com/news/view/27c6ed 1. The GMP JavaScript Game Engine GMP是一个基于精灵2-D游戏,它可以 ...
- LeetCode 984.不含AAA或BBB的字符串(C++)
给定两个整数 A 和 B,返回任意字符串 S,要求满足: S 的长度为 A + B,且正好包含 A 个 'a' 字母与 B 个 'b' 字母: 子串 'aaa' 没有出现在 S 中: 子串 'bbb' ...
- socket编程(一)
因为下载器涉及到socket的知识,就花了一天学习了.因为时间原因分成几部分.(这里记录上的是基于Windows平台的) #include <stdio.h> #include <w ...
- [原创]II7/IIS8屏蔽YisouSpider蜘蛛
来源:http://www.0531s.com/content-46-1927014-1.html YisouSpider蜘蛛抓取网页能够导致CPU暴涨,影响其他蜘蛛和用户的访问,多次实验后,发现II ...